# Packages
Package repo contains the user interface definition for the repo structure.
# Functions
NewClusterConfig initializes a ClusterConfig.
NewCRDClusterConfig initializes a CRD Clusterconfig.
NewNamespaceConfig initializes a Namespace cluster config.
NewSync creates a sync object for consumption by the syncer, this will only populate the group and kind as those are the only fields the syncer presently consumes.
ParseSchemaGVK parses the schema.GroupVersionKind into custom groupVersionKind with json tags.
Resource takes an unqualified resource and returns a Group qualified GroupResource.
# Constants
ClusterConfigName is the name of the ClusterConfig for all non-CRD cluster resources.
CRDClusterConfigName is the name of the ClusterConfig for CRD resources.
EventReasonCRDChange reports that the set of CRDs available on the cluster changed.
EventReasonInvalidAnnotation reports that there was an issue syncing due to an invalid annotation on a resource.
EventReasonInvalidClusterConfig reports that there is a ClusterConfig on the cluster with an unrecognized name.
EventReasonInvalidManagementAnnotation reports that syncing a specific Namespace failed due to it having an invalid management annotation.
EventReasonNamespaceCreateFailed reports the syncer was unable to sync a Namespace and its resources due to being unable to create the Namespace.
EventReasonNamespaceUpdateFailed reports that the syncer was unable to update the resources in a specific Namespace.
EventReasonReconcileComplete reports that reconcile succeeded.
EventReasonStatusUpdateFailed reports that the Syncer was unable to update the status fields of ACM resources.
HierarchyModeDefault is the default value.
HierarchyModeInherit indicates that the resource can appear in abstract namespace directories and will be inherited by any descendent namespaces.
HierarchyModeNone indicates that the resource cannot appear in abstract namespace directories.
NSSelectorDynamicMode indicates the NamespaceSelector uses `dynamic` mode.
NSSelectorStaticMode indicates the NamespaceSelector uses `static` mode.
ResourceStateError indicates that an error has occurred while reconciling a resource.
ResourceStateHealthy indicates a resource with no sync errors found.
ResourceStateReconciling indicates that a resource is currently being reconciled by a controller.
StateError indicates that there was an error updating the config to match the last known version from the source of truth.
StateStale indicates that the config is different than the last known version from the source of truth.
StateSynced indicates that the config is the same as the last known version from the source of truth.
StateUnknown indicates that the config's state is undeclared or unknown.
SyncFinalizer is a finalizer handled by Syncer to ensure Sync deletions complete before Importer writes ClusterConfig and NamespaceConfig resources.
Syncing indicates these resources are being actively managed by Nomos.
# Variables
AddToScheme adds the types in this package ot a scheme.
SchemeBuilder is the scheme builder for types in this package.
SchemeGroupVersion is group version used to register these objects.
# Structs
ClusterConfig is the top-level object for the config data definition.
ClusterConfigList holds a list of cluster level configs, returned as response to a List call on the cluster config hierarchy.
ClusterConfigSpec defines the configs that will exist at the cluster level.
ClusterConfigStatus contains fields that define the status of a ClusterConfig.
ClusterSelector specifies a LabelSelector applied to clusters that exist within a cluster registry.
ClusterSelectorList holds a list of ClusterSelector resources.
ClusterSelectorSpec contains spec fields for ClusterSelector.
ConfigManagementError represents an error that occurs during the management of configs.
ErrorResource contains the identification bits of a single resource that is involved in a resource error.
GenericResources contains API objects of a specified Group and Kind.
GenericVersionResources holds a set of resources of a single version for a Group and Kind.
Git contains the configs needed by GitPolicyImporter.
GroupVersionKind identifies a Kind.
HierarchyConfig is used for configuring the HierarchyModeType for managed resources.
HierarchyConfigList holds a list of HierarchyConfig resources.
HierarchyConfigResource specifies the HierarchyModeType based on the matching Groups and Kinds enabled.
HierarchyConfigSpec specifies the HierarchyConfigResources.
NamespaceConfig is the top-level object for the config data definition.
NamespaceConfigList holds a list of NamespaceConfigs, as response to a List call on the config hierarchy API.
NamespaceConfigSpec contains all the information about a config linkage.
NamespaceConfigStatus contains fields that define the status of a NamespaceConfig.
NamespaceSelector specifies a LabelSelector applied to namespaces that exist within a NamespaceConfig hierarchy.
NamespaceSelectorList holds a list of NamespaceSelector resources.
NamespaceSelectorSpec contains spec fields for NamespaceSelector.
Repo holds configuration and status about the Nomos source of truth.
RepoImportStatus contains status fields for the import of the Repo.
RepoList holds a list of Repo resources.
RepoSourceStatus contains status fields for the Repo's source of truth.
RepoSpec contains spec fields for Repo.
RepoStatus contains status fields for Repo.
RepoSyncChangeStatus represents the status of a single change being synced in the Repo.
RepoSyncStatus contains status fields for the sync of the Repo.
ResourceCondition represents the sync status of the resource.
SecretReference contains the reference to the secret used to connect to Git source of truth.
Sync is used for configuring sync of generic resources.
SyncList holds a list of Sync resources.
SyncSpec specifies the sync declaration which corresponds to an API Group and contained kinds and versions.
SyncStatus represents the status for a sync declaration.
# Type aliases
ConfigSyncState represents the states that a NamespaceConfig or ClusterConfig can be in with regards to the source of truth.
HierarchyModeType defines hierarchical behavior for namespaced objects.
ResourceConditionState represents the states that a ResourceCondition can be in.
SyncState indicates the state of a sync for resources of a particular group and kind.