Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Secrets with vals #526

Closed
wants to merge 7 commits into from
Closed

Conversation

digiserg
Copy link

@digiserg digiserg commented Sep 10, 2021

Please check out the documentation attached describing this feature. This is a rewrite on #390

@digiserg
Copy link
Author

In reply to #390 (comment) by @philomori, I'm afraid it won't work at the moment. The code will only work for external backends configured with environment variables.

@digiserg digiserg marked this pull request as ready for review September 15, 2021 10:49
@philomory
Copy link

philomory commented Sep 15, 2021

@digiserg That's fine, maybe support for VALS+SOPS could be something added in a future enhancement. Having support for Vault, AWSSM, etc., is plenty right now. Also if you really want to use SOPS with the current implementation, you could presumably still do ref+sops://<base64data>?key_type=base64; it's a bit cumbersome but would presumably work.

@philomory
Copy link

@nickgerace Did you want to review this PR?

@nickgerace
Copy link
Contributor

nickgerace commented Sep 21, 2021

It's on my list. We are getting a small, unplanned v0.3.7 release together for Rancher v2.6.1 at the moment. Thanks for your patience.

@philomory
Copy link

No problem, just wanted to make sure you'd seen it since I realized you hadn't actually been tagged in it yet.

@pnkcigarette
Copy link

This looks very promising and would be a big boon to have something native in Fleet for secrets to avoid more bolt on automation for pre-seeding.

I also like it's simplistic approach using vals for those that all ready have an external secret store. Also love the upstream secret option.

I know our org would use this if implemented.

@digiserg
Copy link
Author

Hi @nickgerace

Are you looking into this? I keep having to resolve merge conflicts every few days because it's been opened for long time.

Thanks

@millerjp
Copy link

@nickgerace any updates on this issue?

@digiserg
Copy link
Author

digiserg commented Nov 2, 2021

Whilst we wait for this to be review and hopefully merged, we have put together an alternative in the form or an operator. This operator will keep your secrets in sync between any backend supported by vals and Kubernetes.

https://github.com/digitalis-io/vals-operator

@nickgerace
Copy link
Contributor

nickgerace commented Nov 2, 2021

Hi @digiserg - we've reviewed this internally and are going to think about this further as a new feature rather than the usual PRs we focus on externally: bug fixes and enhancements. As a result, I don't think @StrongMonkey or I will be merging this in the near future since we'd want to ensure we can get "net new" components approved (e.g. https://github.com/digitalis-io/vals-operator) as well as its implications for our QA team to provide coverage.

However, your effort into this PR, its documentation, etc. has not been unnoticed, and I would like for this idea to circulate through our internal product pipeline rather than be left fully out to dry. Thank you so much for the PR; you've done a great job with it.

Due to the above, I've created a new issue and marked it as a "Release Candidate" for those who help get us our work scheduled to take a look at. I've assigned my colleague to it as well and off of this PR for the time being. Admittedly, our SOPS, secret management story, etc. needs more attention and I can see that in other places. It's my hope that user and customer requests make their way to our product teams so that we add net new features from our community with relative ease.

Thank you for understanding, and I'm going to leave this PR open as a result with the issue attached as a result.

@digiserg
Copy link
Author

digiserg commented Nov 3, 2021

Hi @nickgerace

Thank you for the feedback and looking forward to seeing it as a feature in the future.

Regards

@nickgerace
Copy link
Contributor

Not a problem @digiserg. I'm hoping we get the secrets story more hardened moving forward and we'll use that issue to track this one in particular.

@SheilaghM
Copy link

This needs to go through a design meeting before we merge.

@rajiteh
Copy link
Contributor

rajiteh commented Mar 14, 2022

Vals does look like a decent and a minimally intrusive solution to manage secret values at the controller level at the least. I found that pairing it with a template system allows a good amount of flexibility to pull in global secrets and cluster specific values if need be. I would be curious to see where the design heads towards.

rajiteh#8

@endersonmenezes
Copy link

endersonmenezes commented Dec 13, 2022

This needs to go through a design meeting before we merge.

any news from this?

EDIT: I believe they are working here right now: #591, sorry I was lost in so many discussions, but I think that's it, I will continue to follow and thank you all.

@kkaempf
Copy link
Collaborator

kkaempf commented Dec 14, 2022

any news from this?

secrets handling is on our backlog but it'll take some time until we've reviewed and consolidated all issues and PRs

@all4innov
Copy link

some updates on this issue ?

@areitz86
Copy link

would be interested as well

@alexdepalex
Copy link

Some updates on this issue? We would be interested as well :)

@manno
Copy link
Member

manno commented Jun 27, 2023

We don't currently plan to implement support for specific operators that manage secrets.

If anyone is looking for examples, here is a blog post about Fleet + External Secret Operator

@manno manno closed this Jun 27, 2023
@willemm
Copy link

willemm commented Sep 18, 2023

I looked at the example, and it is completely and utterly unusable for bootstrapping secrets. Quote:

We could use a Fleet bundle to distribute the secret to each downstream cluster, but we don’t want credentials outside of k8s secrets. So, we use kubectl on each cluster manually.

The whole point of this, and similar, requests is to automate the creation of that first bootstrapping secret that is needed for the downstream cluster to do all the other secret-pulling stuff.

sops or sealedsecrets? First you need to get the decryption key on the downstream cluster for the sops-operator
externalsecrets? You'll need to get the credentials for externalsecrets to access the secrets vault

pushsecrets from the rancher cluster? Now you need to manually add a pushsecret for each downstream cluster, thus negating all the benefits of fleet automatically targeting your newly provisioned cluster.

rancher/fleet can create secrets on downstream clusters just fine, all that is needed is for fleet to reference some secret provider to inject them. Even being able to access secrets that are on the upstream rancher-cluster would work just fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet