# Functions
GetNomosAnnotationKeys returns the set of Nomos annotations that Config Sync should manage.
HasConfigSyncMetadata returns true if the given obj has at least one Config Sync annotation or label.
HasConfigSyncPrefix returns true if the string begins with a ConfigSync annotation prefix.
IsConfigSyncAnnotationKey returns whether an annotation key is a Config Sync annotation key.
IsConfigSyncLabelKey returns whether a label key is a Config Sync label key.
IsSourceAnnotation returns true if the annotation is a ConfigSync source annotation.
RemoveConfigSyncMetadata removes the Config Sync metadata, including both Config Sync annotations and labels, from the given resource.
SyncerLabels returns the Nomos labels that the syncer should manage.
# Constants
ApplySetParentIDLabel is the key of the label that makes object an ApplySet parent object.
ApplySetPartOfLabel is the key of the label which indicates that the object is a member of an ApplySet.
ApplySetToolingAnnotation is the key of the label that indicates which tool is used to manage this ApplySet.
ApplySetToolingName is the name used to represent Config Sync in the ApplySet tooling annotation.
ApplySetToolingVersion is the version used to represent Config Sync in the ApplySet tooling annotation.
ArchLabel is the arch Nomos label.
AutoPilotAnnotation is the annotation generated by the autopilot for resource adjustment.
ClusterNameAnnotationKey is the annotation key set on Nomos-managed resources that refers to the name of the cluster that the selectors are applied for.
ClusterNameSelectorAnnotationKey is the annotation key set on ConfigSync-managed resources that refers to the name of the ClusterSelector resource.
ConfigManagementPrefix is the prefix for all Nomos annotations and labels.
ConfigMapAnnotationKey is the annotation key representing the hash of all the configmaps required to run a root-reconciler, namespace-reconciler, or otel-collector pod.
ConfigSyncManagedByLabel indicates which Config Sync component is managing the resource.
DeclaredConfigAnnotationKey is the annotation key that stores the declared configuration of a resource in Git.
DeclaredFieldsKey is the annotation key that stores the declared configuration of a resource in Git.
DeclaredVersionLabel declares the API Version in which a resource was initially declared.
DeletionPropagationPolicyAnnotationKey is the annotation key set on RootSync/RepoSync objects to indicate what do do with the managed resources when the RootSync/RepoSync object is deleted.
DeletionPropagationPolicyForeground indicates that the managed resources should all be deleted/pruned before the RootSync/RepoSync object is deleted.
DeletionPropagationPolicyOrphan indicates that the managed resources should all be orphanned (not deleted) when the RootSync/RepoSync object is deleted.
DeploymentNameLabel indicates the name of the Deployment.
DepthSuffix is a label suffix for hierarchical namespace depth.
DynamicNSSelectorEnabledAnnotationKey is the annotation key set on R*Sync object to indicate whether the source of truth contains at least one NamespaceSelector using the dynamic mode, which requires the Namespace controller.
FleetWorkloadIdentityCredentials is the key for the credentials file of the Fleet Workload Identity.
GitContextKey is the annotation key for the git source-of-truth a resource is synced from.
HNCManagedBy is the annotation that indicates the namespace hierarchy is not managed by the Hierarchical Namespace Controller (http://bit.ly/k8s-hnc-design) but someone else, "configmanagement.gke.io" in this case.
IgnoreMutation is the value used with LifecycleMutationAnnotation to prevent mutating a resource.
KustomizeOrigin is the annotation generated by Kustomize to indicate the origin of the rendered resource.
LegacyClusterSelectorAnnotationKey is the annotation key set on Nomos-managed resources that refers to the name of the ClusterSelector resource.
LifecycleMutationAnnotation is the lifecycle annotation key for the mutation operation.
LifecyclePrefix is the prefix for all lifecycle annotations.
LocalConfigAnnotationKey is the annotation key to mark a resource is only local.
ManagedByKey is the recommended Kubernetes label for marking a resource as managed by an application.
ManagedByValue marks the resource as managed by Nomos.
NamespaceSelectorAnnotationKey is the annotation key set on Nomos-managed resources that refers to name of NamespaceSelector resource.
Any value except for NoLocalConfigAnnoVal will mark a resource as a local configuration.
OriginalHNCManagedByValue is the annotation that stores the original value of the hnc.x-k8s.io/managed-by annotation before Config Sync overrides the annotation.
OwningInventoryKey is the annotation key for marking the owning-inventory object.
ReconcilerFinalizer is the finalizer added to the RootSync/RepoSync by the reconciler when the deletion-propagation-policy is Foreground to ensure deletion of the user objects it manages, before the RootSync/RepoSync is deleted.
ReconcilerLabel is the unique label given to each reconciler pod.
ReconcilerManagerFinalizer is the finalizer added to the RootSync/RepoSync by the reconciler-manager to ensure deletion of the reconciler and its dependencies, before the RootSync/RepoSync is deleted.
RequiresRenderingAnnotationKey is the annotation key set on RootSync/RepoSync objects to indicate whether the source of truth requires last mile hydration.
ResourceIDKey is the annotation that indicates the resource's GKNN.
ResourceManagementDisabled is the value corresponding to ResourceManagementKey indicating that Nomos will not manage content and lifecycle for the given resource.
ResourceManagementEnabled is the value corresponding to ResourceManagementKey indicating that Nomos will manage content and lifecycle for the given resource.
ResourceManagementKey is the annotation that indicates if Nomos will manage the content and lifecycle for the resource.
ResourceManagerKey is the annotation that indicates which multi-repo reconciler is managing the resource.
ResourceStatusErrorsKey is the annotation that indicates any errors, encoded as a JSON array.
ResourceStatusReconcilingKey is the annotation that indicates reasons why a resource is reconciling, encoded as a JSON array.
SourcePathAnnotationKey is the annotation key representing the relative path from POLICY_DIR where the object was originally declared.
SyncGenerationLabel indicates the generation of RootSync or RepoSync.
SyncKindLabel indicates the RSync kind: RootSync or RepoSync.
SyncNameLabel indicates the name of RootSync or RepoSync.
SyncNamespaceLabel indicates the namespace of RootSync or RepoSync.
SyncTokenAnnotationKey is the annotation key representing the last version token that a Nomos- managed resource was successfully synced from.
SystemLabel is the system Nomos label.
UnknownScopeAnnotationKey is the annotation that indicates the scope of a resource is unknown.
UnknownScopeAnnotationValue is the value for UnknownScopeAnnotationKey to indicate that the scope of a resource is unknown.
# Variables
CommonAnnotationKeys include the annotation keys used in both the mono-repo and multi-repo mode.
ConfigSyncAnnotations contain the keys for ConfigSync annotations.
MultiRepoOnlyAnnotationKeys include the annotation keys used only in the multi-repo mode.
# Type aliases
DeletionPropagationPolicy is the type used to identify value enums to use with the deletion-propagation-policy annotation.