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

Resource annotation options for global resource customizations #3343

Open
tafkam opened this issue Apr 2, 2020 · 0 comments
Open

Resource annotation options for global resource customizations #3343

tafkam opened this issue Apr 2, 2020 · 0 comments
Labels
component:core Syncing, diffing, cluster state cache enhancement New feature or request type:usability Enhancement of an existing feature

Comments

@tafkam
Copy link

tafkam commented Apr 2, 2020

Summary

I would like to set resource annotations like

metadata:
  annotations:
      compare-options: IgnoreExtraneous
      sync-options: Prune=false
      hook-type: Skip

for resource groups on a global level like the "ignoreDifferences" option in argocd-cm.
Additionally a compare-option like "IgnoreMissing" for the resource itself would be nice to have.

Motivation

Using Appscode Stash for Backups/Restores of k8s volumes and workloads, I have prepared several apiVersion: stash.appscode.com/v1beta1 kind: RestoreSession manifests for each application.

Applying those "fire and forget" RestoreSession CRD manifests is usually not needed/wanted, hence a global "hook-type: Skip", so you can still start a restore with a selective sync, and sync the whole app without worrying to start a restore and potentially lose the data since the last backup.

Defining those "on a need basis" manifests in the ArgoCD App renders the whole app out-of-sync, which is not the desired behaviour. Using "IgnoreDifference=/" still renders the app as "out-of-sync", when the resource is not applied to the cluster. For this use-case rendering only the missing resource out-of-sync is the desired behaviour, so applied restore sessions can be tracked.

Proposal

  • make annotated options globally available in resource.customizations
  • create an option for the app sync-status to ignore a missing resource in the cluster

How do you think this should be implemented?

@tafkam tafkam added the enhancement New feature or request label Apr 2, 2020
@tafkam tafkam changed the title Ressource annotation options for global resource customizations Resource annotation options for global resource customizations Apr 2, 2020
@jannfis jannfis added component:core Syncing, diffing, cluster state cache type:usability Enhancement of an existing feature labels May 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:core Syncing, diffing, cluster state cache enhancement New feature or request type:usability Enhancement of an existing feature
Projects
None yet
Development

No branches or pull requests

2 participants