-
Notifications
You must be signed in to change notification settings - Fork 73
Investigate secrets that might need to be included in backups #663
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
Comments
Currently there are three big areas that have Secrets which need to be included in backups:
For both Fleet and Elemental, we currently provide a way for the respective teams to decide which secrets will be included in a Backup via the labels elemental.cattle.io/managed: true and fleet.cattle.io/managed: true. This approach makes sense because the teams themselves have the domain knowledge to determine which Secrets should be included in a Backup and which should not. The guidance we provide is usually as follows: This way, any possible issues that include bugs during restores/migrations can be fixed by the teams responsible for those projects without any cognitive overload from having to understand about rancher-backups or interacting with the rancher/backup-restore-operator repository to make that happen. The same doesn't happen for Provisioning, but certainly should. Currently the responsible team needs to add Secrets manually to this line to have them added to Backups. A change in that sense would look something like this, requiring collaboration from the Hostbusters team to label these Secrets on creation time, and also previously existing Secrets that should but don't have that label. Alternatively, since these secrets live in the |
Both of these issues refer to Secrets created along with GitRepo fleet.cattle.io/v1alpha1 resources. The Secret name can be found in the GitRepo spec and they live in the same namespace. It could potentially be automated via the Webhook. These two are both related to provisioning secrets not being backed up when the user adds a downstream cluster from outside the UI. If I understand correctly these secrets are resulting from another provisioning resource and can likely be automated. |
These are the goals I can define ATM:
|
Something to expand upon this topic that goes beyond just secrets - and would apply to all k8s resources in general - would be a second annotation that can be applied to define how the resource is handled. So the current concept has "Layer 1" being: "Add an annotation that all controllers should use to indicate a resource should be included in a backup file". The next layer of the concept "Layer 2" could be: "Add an annotation that defines how a resource is restored based on context; i.e. does it get restored always, only in migration, only on in-place, etc. Additionally, depending on how this second layer is setup the ability for end-users to "override" the defaults could be exposed on the Essentially a side-effect of this proposed idea would be that the |
This issue serves as a continuation of #607. Now that BRO has a separate resourceSet for sensitive information we feel safe to include all necessary secrets for a backup to restore a cluster flawlessly.
This issue should include efforts to communicate with other teams (Fleet, Harvester, etc) to try and map all such secrets.
Reference issues:
fleet-default
namespace #574The text was updated successfully, but these errors were encountered: