Documentation ¶
Overview ¶
Package v1alpha1 contains the version 1alpha1 data definition for the ConfigSync custom resources.
To regenerate clientset and deepcopy run:
make clientgen
DO NOT MOVE THESE OUT OF THE PACKAGE DOCSTRING, GENERATING CODE PROPERLY DEPENDS ON THEM BEING HERE. +kubebuilder:object:generate=true +groupName=configsync.gke.io
Index ¶
- Variables
- func GetPeriodSecs(g *Git) float64
- func GetReconcileTimeout(d *metav1.Duration) string
- func Resource(resource string) schema.GroupResource
- type ConfigSyncError
- type ContainerResourcesSpec
- type ErrorSource
- type ErrorSummary
- type Git
- type GitStatus
- type HelmBase
- type HelmRepoSync
- type HelmRootSync
- type HelmStatus
- type Oci
- type OciStatus
- type OverrideSpec
- type RenderingStatus
- type RepoSync
- type RepoSyncCondition
- type RepoSyncConditionType
- type RepoSyncList
- type RepoSyncSpec
- type RepoSyncStatus
- type ResourceRef
- type RootSync
- type RootSyncCondition
- type RootSyncConditionType
- type RootSyncList
- type RootSyncSpec
- type RootSyncStatus
- type SecretReference
- type SourceStatus
- type SourceType
- type Status
- type SyncStatus
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeBuilder is the scheme builder for types in this package SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme adds the types in this package ot a scheme. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: configsync.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func GetPeriodSecs ¶
GetPeriodSecs returns the sync period defaulting to 15 if empty.
func GetReconcileTimeout ¶
GetReconcileTimeout returns reconcile timeout in string, defaulting to 5m if empty
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type ConfigSyncError ¶
type ConfigSyncError struct { // code is the error code of this particular error. Error codes are numeric strings, // like "1012". Code string `json:"code"` // errorMessage describes the error that occurred. ErrorMessage string `json:"errorMessage"` // errorResources describes the resources associated with this error, if any. // +optional Resources []ResourceRef `json:"errorResources,omitempty"` }
ConfigSyncError represents an error that occurs while parsing, applying, or remediating a resource.
func (*ConfigSyncError) DeepCopy ¶
func (in *ConfigSyncError) DeepCopy() *ConfigSyncError
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSyncError.
func (*ConfigSyncError) DeepCopyInto ¶
func (in *ConfigSyncError) DeepCopyInto(out *ConfigSyncError)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerResourcesSpec ¶
type ContainerResourcesSpec struct { // containerName specifies the name of a container whose resource requirements will be overridden. // Must be "reconciler", "git-sync", "hydration-controller", or "oci-sync". // // +kubebuilder:validation:Pattern=^(reconciler|git-sync|hydration-controller|oci-sync)$ // +optional ContainerName string `json:"containerName,omitempty"` // cpuRequest allows one to override the CPU request of a container // +optional CPURequest resource.Quantity `json:"cpuRequest,omitempty"` // memoryRequest allows one to override the memory request of a container // +optional MemoryRequest resource.Quantity `json:"memoryRequest,omitempty"` // cpuLimit allows one to override the CPU limit of a container // +optional CPULimit resource.Quantity `json:"cpuLimit,omitempty"` // memoryLimit allows one to override the memory limit of a container // +optional MemoryLimit resource.Quantity `json:"memoryLimit,omitempty"` }
ContainerResourcesSpec allows to override the resource requirements for a container
func (*ContainerResourcesSpec) DeepCopy ¶
func (in *ContainerResourcesSpec) DeepCopy() *ContainerResourcesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResourcesSpec.
func (*ContainerResourcesSpec) DeepCopyInto ¶
func (in *ContainerResourcesSpec) DeepCopyInto(out *ContainerResourcesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ErrorSource ¶
type ErrorSource string
ErrorSource indicates the origination of errors.
const ( // RenderingError indicates the errors are from the `status.rendering.errors` field. RenderingError ErrorSource = "status.rendering.errors" // SourceError indicates the errors are from the `status.source.errors` field. SourceError ErrorSource = "status.source.errors" // SyncError indicates the errors are from the `status.sync.errors` field. SyncError ErrorSource = "status.sync.errors" )
type ErrorSummary ¶
type ErrorSummary struct { // totalCount tracks the total number of errors. TotalCount int `json:"totalCount,omitempty"` // truncated indicates whether the `Errors` field includes all the errors. // If `true`, the `Errors` field does not includes all the errors. // If `false`, the `Errors` field includes all the errors. // The size limit of a RootSync/RepoSync object is 2MiB. The status update would // fail with the `ResourceExhausted` rpc error if there are too many errors. Truncated bool `json:"truncated,omitempty"` // errorCountAfterTruncation tracks the number of errors in the `Errors` field. ErrorCountAfterTruncation int `json:"errorCountAfterTruncation,omitempty"` }
ErrorSummary summarizes the errors encountered.
func (*ErrorSummary) DeepCopy ¶
func (in *ErrorSummary) DeepCopy() *ErrorSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorSummary.
func (*ErrorSummary) DeepCopyInto ¶
func (in *ErrorSummary) DeepCopyInto(out *ErrorSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Git ¶
type Git struct { // repo is the git repository URL to sync from. Required. Repo string `json:"repo"` // branch is the git branch to checkout. Default: "master". // +optional Branch string `json:"branch,omitempty"` // revision is the git revision (tag, ref or commit) to fetch. Default: "HEAD". // +optional Revision string `json:"revision,omitempty"` // dir is the absolute path of the directory that contains // the local resources. Default: the root directory of the repo. // +optional Dir string `json:"dir,omitempty"` // period is the time duration between consecutive syncs. Default: 15s. // Note to developers that customers specify this value using // string (https://golang.org/pkg/time/#Duration.String) like "3s" // in their Custom Resource YAML. However, time.Duration is at a nanosecond // granularity, and it is easy to introduce a bug where it looks like the // code is dealing with seconds but its actually nanoseconds (or vice versa). // +optional Period metav1.Duration `json:"period,omitempty"` // auth is the type of secret configured for access to the Git repo. // Must be one of ssh, cookiefile, gcenode, token, or none. // The validation of this is case-sensitive. Required. // // +kubebuilder:validation:Enum=ssh;cookiefile;gcenode;gcpserviceaccount;token;none Auth configsync.AuthType `json:"auth"` // gcpServiceAccountEmail specifies the GCP service account used to annotate // the RootSync/RepoSync controller Kubernetes Service Account. // Note: The field is used when spec.git.auth: gcpserviceaccount. GCPServiceAccountEmail string `json:"gcpServiceAccountEmail,omitempty"` // proxy specifies an HTTPS proxy for accessing the Git repo. // Only has an effect when secretType is one of ("cookiefile", "none", "token"). // When secretType is "cookiefile" or "token", if your HTTPS proxy URL contains sensitive information // such as a username or password and you need to hide the sensitive information, // you can leave this field empty and add the URL for the HTTPS proxy into the same Secret // used for the Git credential via `kubectl create secret ... --from-literal=https_proxy=HTTPS_PROXY_URL`. Optional. // +optional Proxy string `json:"proxy,omitempty"` // secretRef is the secret used to connect to the Git source of truth. // +nullable // +optional SecretRef SecretReference `json:"secretRef,omitempty"` // noSSLVerify specifies whether to enable or disable the SSL certificate verification. Default: false. // If noSSLVerify is set to true, it tells Git to skip the SSL certificate verification. // This should either be false or unset when caCertSecretRef is provided. // +optional NoSSLVerify bool `json:"noSSLVerify,omitempty"` // caCertSecretRef specifies the name of the secret where the CA certificate is stored. // The creation of the secret should be done out of band by the user and should store the // certificate in a key named "cert". For RepoSync resources, the secret must be // created in the same namespace as the RepoSync. For RootSync resource, the secret // must be created in the config-management-system namespace. // +nullable // +optional CACertSecretRef SecretReference `json:"caCertSecretRef,omitempty"` }
Git contains the configs which specify how to connect to and read from a Git repository.
func (*Git) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Git.
func (*Git) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitStatus ¶
type GitStatus struct { // repo is the git repository URL being synced from. Repo string `json:"repo"` // revision is the git revision (tag, ref, or commit) being fetched. Revision string `json:"revision"` // branch is the git branch being fetched Branch string `json:"branch"` // dir is the path within the Git repository that represents the top level of the repo to sync. // Default: the root directory of the repository Dir string `json:"dir"` }
GitStatus describes the status of a Git source of truth.
func (*GitStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitStatus.
func (*GitStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmBase ¶
type HelmBase struct { // repo is the helm repository URL to sync from. Required. Repo string `json:"repo"` // chart is a Helm chart name. Required. Chart string `json:"chart"` // version is the chart version. If this is not specified, the latest version is used // +optional Version string `json:"version,omitempty"` // releaseName is the name of the Helm release. // +optional ReleaseName string `json:"releaseName,omitempty"` // values to use instead of default values that accompany the chart // +optional Values *apiextensionsv1.JSON `json:"values,omitempty"` // includeCRDs specifies if Helm template should also generate CustomResourceDefinitions. // If IncludeCRDs is set to false, no CustomeResourceDefinition will be generated. // Default: false. // +optional IncludeCRDs bool `json:"includeCRDs,omitempty"` // period is the time duration between consecutive syncs. Default: 15s. // Use string to specify this field value, like "30s", "5m". // More details about valid inputs: https://pkg.go.dev/time#ParseDuration. // Chart will not be resynced if version is specified. // Note: Resyncing chart for "latest" version is not supported in feature preview. // +optional Period metav1.Duration `json:"period,omitempty"` // auth specifies the type to authenticate to the Helm repository. // Must be one of token, gcpserviceaccount, gcenode or none. // The validation of this is case-sensitive. Required. // +kubebuilder:validation:Enum=none;gcpserviceaccount;token;gcenode Auth configsync.AuthType `json:"auth"` // gcpServiceAccountEmail specifies the GCP service account used to annotate // the RootSync/RepoSync controller Kubernetes Service Account. // Note: The field is used when spec.helm.auth: gcpserviceaccount. // +optional GCPServiceAccountEmail string `json:"gcpServiceAccountEmail,omitempty"` // secretRef holds the authentication secret for accessing // the Helm repository. // +optional SecretRef SecretReference `json:"secretRef,omitempty"` }
HelmBase contains the configuration specific to locate, download and template a Helm chart.
func (*HelmBase) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmBase.
func (*HelmBase) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmRepoSync ¶
type HelmRepoSync struct {
HelmBase `json:",inline"`
}
HelmRepoSync contains the configuration specific to locate, download and template a Helm chart.
func (*HelmRepoSync) DeepCopy ¶
func (in *HelmRepoSync) DeepCopy() *HelmRepoSync
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmRepoSync.
func (*HelmRepoSync) DeepCopyInto ¶
func (in *HelmRepoSync) DeepCopyInto(out *HelmRepoSync)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmRootSync ¶
type HelmRootSync struct { HelmBase `json:",inline"` // namespace sets the target namespace for a release. // Default: "default". // +optional Namespace string `json:"namespace,omitempty"` }
HelmRootSync contains the configuration specific to locate, download and template a Helm chart.
func (*HelmRootSync) DeepCopy ¶
func (in *HelmRootSync) DeepCopy() *HelmRootSync
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmRootSync.
func (*HelmRootSync) DeepCopyInto ¶
func (in *HelmRootSync) DeepCopyInto(out *HelmRootSync)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmStatus ¶
type HelmStatus struct { // repo is the helm repository URL being synced from. Repo string `json:"repo"` // version is the helm chart version being fetched. Version string `json:"version"` // chart is the name of helm chart being fetched Chart string `json:"chart"` }
HelmStatus describes the status of a Helm source of truth.
func (*HelmStatus) DeepCopy ¶
func (in *HelmStatus) DeepCopy() *HelmStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmStatus.
func (*HelmStatus) DeepCopyInto ¶
func (in *HelmStatus) DeepCopyInto(out *HelmStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Oci ¶
type Oci struct { // image is the OCI image repository URL for the package to sync from. // e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. // The image can be pulled by TAG or by DIGEST if it is specified in PACKAGE_NAME. // - Pull by tag: `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME:TAG`. // - Pull by digest: `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME@sha256:DIGEST`. // If neither TAG nor DIGEST is specified, it pulls with the `latest` tag by default. // Required Image string `json:"image"` // dir is the absolute path of the directory that contains // the local resources. Default: the root directory of the image. // +optional Dir string `json:"dir,omitempty"` // period is the time duration between consecutive syncs. Default: 15s. // Note to developers that customers specify this value using // string (https://golang.org/pkg/time/#Duration.String) like "3s" // in their Custom Resource YAML. However, time.Duration is at a nanosecond // granularity, and it is easy to introduce a bug where it looks like the // code is dealing with seconds but its actually nanoseconds (or vice versa). // +optional Period metav1.Duration `json:"period,omitempty"` // auth is the type of secret configured for access to the OCI package. // Must be one of gcenode, gcpserviceaccount, or none. // The validation of this is case-sensitive. Required. // // +kubebuilder:validation:Enum=gcenode;gcpserviceaccount;none Auth configsync.AuthType `json:"auth"` // gcpServiceAccountEmail specifies the GCP service account used to annotate // the RootSync/RepoSync controller Kubernetes Service Account. // Note: The field is used when secretType: gcpServiceAccount. GCPServiceAccountEmail string `json:"gcpServiceAccountEmail,omitempty"` }
Oci contains configuration specific to importing resources from an OCI package.
func (*Oci) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Oci.
func (*Oci) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OciStatus ¶
type OciStatus struct { // image is the OCI image repository URL for the package to sync from. Image string `json:"image"` // dir is the absolute path of the directory that contains the local resources. // Default: the root directory of the repository Dir string `json:"dir"` }
OciStatus describes the status of the source of truth of an OCI image.
func (*OciStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OciStatus.
func (*OciStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverrideSpec ¶
type OverrideSpec struct { // resources allow one to override the resource requirements for the containers in a reconciler pod. // +optional Resources []ContainerResourcesSpec `json:"resources,omitempty"` // gitSyncDepth allows one to override the number of git commits to fetch. // Must be no less than 0. // Config Sync would do a full clone if this field is 0, and a shallow // clone if this field is greater than 0. // If this field is not provided, Config Sync would configure it automatically. // // +kubebuilder:validation:Minimum=0 // +optional GitSyncDepth *int64 `json:"gitSyncDepth,omitempty"` // statusMode controls whether the actuation status // such as apply failed or not should be embedded into the ResourceGroup object. // Must be "enabled" or "disabled". // If set to "enabled", it increases the size of the ResourceGroup object. // // +kubebuilder:validation:Pattern=^(enabled|disabled|)$ // +optional StatusMode string `json:"statusMode,omitempty"` // reconcileTimeout allows one to override the threshold for how long to wait for // all resources to reconcile before giving up. // Default: 5m. // Use string to specify this field value, like "30s", "5m". // More details about valid inputs: https://pkg.go.dev/time#ParseDuration. // Recommended reconcileTimeout range is from "10s" to "1h". // +optional ReconcileTimeout *metav1.Duration `json:"reconcileTimeout,omitempty"` // enableShellInRendering specifies whether to enable or disable the shell access in rendering process. Default: false. // Kustomize remote bases requires shell access. Setting this field to true will enable shell in the rendering process and // support pulling remote bases from public repositories. // +optional EnableShellInRendering *bool `json:"enableShellInRendering,omitempty"` }
OverrideSpec allows to override the settings for a reconciler pod
func (*OverrideSpec) DeepCopy ¶
func (in *OverrideSpec) DeepCopy() *OverrideSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideSpec.
func (*OverrideSpec) DeepCopyInto ¶
func (in *OverrideSpec) DeepCopyInto(out *OverrideSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RenderingStatus ¶
type RenderingStatus struct { // gitStatus contains fields describing the status of a Git source of truth. // +optional Git *GitStatus `json:"gitStatus,omitempty"` // ociStatus contains fields describing the status of an OCI source of truth. // +optional Oci *OciStatus `json:"ociStatus,omitempty"` // helmStatus contains fields describing the status of a Helm source of truth. // +optional Helm *HelmStatus `json:"helmStatus,omitempty"` // hash of the source of truth that is rendered. // It can be a git commit hash, or an OCI image digest. // +optional Commit string `json:"commit,omitempty"` // Human-readable message describes details about the rendering status. Message string `json:"message,omitempty"` // lastUpdate is the timestamp of when this status was last updated by a // reconciler. // +nullable // +optional LastUpdate metav1.Time `json:"lastUpdate,omitempty"` // errors is a list of any errors that occurred while rendering the source of truth. // +optional Errors []ConfigSyncError `json:"errors,omitempty"` // errorSummary summarizes the errors encountered during the process of rendering the source of truth. // +optional ErrorSummary *ErrorSummary `json:"errorSummary,omitempty"` }
RenderingStatus describes the status of rendering the source DRY configs to the WET format.
func (*RenderingStatus) DeepCopy ¶
func (in *RenderingStatus) DeepCopy() *RenderingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderingStatus.
func (*RenderingStatus) DeepCopyInto ¶
func (in *RenderingStatus) DeepCopyInto(out *RenderingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RepoSync ¶
type RepoSync struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec RepoSyncSpec `json:"spec,omitempty"` // +optional Status RepoSyncStatus `json:"status,omitempty"` }
RepoSync is the Schema for the reposyncs API
func (*RepoSync) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSync.
func (*RepoSync) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RepoSync) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RepoSyncCondition ¶
type RepoSyncCondition struct { // type of RepoSync condition. Type RepoSyncConditionType `json:"type"` // status of the condition, one of True, False, Unknown. Status metav1.ConditionStatus `json:"status"` // The last time this condition was updated. // +nullable // +optional LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. // +nullable // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. // +optional Message string `json:"message,omitempty"` // hash of the source of truth. It can be a git commit hash, or an OCI image digest. // +optional Commit string `json:"commit,omitempty"` // errors is a list of errors that occurred in the process. // This field is used to track errors when the condition type is Reconciling or Stalled. // When the condition type is Syncing, the `errorSourceRefs` field is used instead to // avoid duplicating errors between `status.conditions` and `status.rendering|source|sync`. // +optional Errors []ConfigSyncError `json:"errors,omitempty"` // errorSourceRefs track the origination(s) of errors when the condition type is Syncing. // +optional ErrorSourceRefs []ErrorSource `json:"errorSourceRefs,omitempty"` // errorSummary summarizes the errors in the `errors` field when the condition type is Reconciling or Stalled, // and summarizes the errors referred in the `errorsSourceRefs` field when the condition type is Syncing. // +optional ErrorSummary *ErrorSummary `json:"errorSummary,omitempty"` }
RepoSyncCondition describes the state of a RepoSync at a certain point.
func (*RepoSyncCondition) DeepCopy ¶
func (in *RepoSyncCondition) DeepCopy() *RepoSyncCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSyncCondition.
func (*RepoSyncCondition) DeepCopyInto ¶
func (in *RepoSyncCondition) DeepCopyInto(out *RepoSyncCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RepoSyncConditionType ¶
type RepoSyncConditionType string
RepoSyncConditionType is an enum of types of conditions for RepoSyncs.
const ( // RepoSyncReconciling means that the RepoSync's spec has not yet been fully // reconciled/handled by the RepoSync controller. RepoSyncReconciling RepoSyncConditionType = "Reconciling" // RepoSyncStalled means that the RepoSync controller has not been able to // make progress towards reconciling the RepoSync. RepoSyncStalled RepoSyncConditionType = "Stalled" // RepoSyncSyncing means that the namespace reconciler is processing a hash (git commit hash or OCI image digest). RepoSyncSyncing RepoSyncConditionType = "Syncing" )
These are valid conditions of a RepoSync.
type RepoSyncList ¶
type RepoSyncList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []RepoSync `json:"items"` }
RepoSyncList contains a list of RepoSync
func (*RepoSyncList) DeepCopy ¶
func (in *RepoSyncList) DeepCopy() *RepoSyncList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSyncList.
func (*RepoSyncList) DeepCopyInto ¶
func (in *RepoSyncList) DeepCopyInto(out *RepoSyncList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RepoSyncList) DeepCopyObject ¶
func (in *RepoSyncList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RepoSyncSpec ¶
type RepoSyncSpec struct { // sourceFormat specifies how the repository is formatted. // See documentation for specifics of what these options do. // // Must be one of hierarchy, unstructured. Optional. Set to // hierarchy if not specified. // // The validation of this is case-sensitive. // +kubebuilder:validation:Pattern=^(unstructured|)$ // +optional SourceFormat string `json:"sourceFormat,omitempty"` // sourceType specifies the type of the source of truth. // // Must be one of git, oci, helm. Optional. Set to git if not specified. // +kubebuilder:validation:Pattern=^(git|oci|helm)$ // +kubebuilder:default:=git // +optional SourceType string `json:"sourceType,omitempty"` // git contains configuration specific to importing resources from a Git repo. // +optional *Git `json:"git,omitempty"` // oci contains configuration specific to importing resources from an OCI package. // +optional Oci *Oci `json:"oci,omitempty"` // helm contains configuration specific to importing resources from a Helm repo. // +optional Helm *HelmRepoSync `json:"helm,omitempty"` // override allows to override the settings for a reconciler. // +nullable // +optional Override OverrideSpec `json:"override,omitempty"` }
RepoSyncSpec defines the desired state of a RepoSync.
func (*RepoSyncSpec) DeepCopy ¶
func (in *RepoSyncSpec) DeepCopy() *RepoSyncSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSyncSpec.
func (*RepoSyncSpec) DeepCopyInto ¶
func (in *RepoSyncSpec) DeepCopyInto(out *RepoSyncSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RepoSyncStatus ¶
type RepoSyncStatus struct { Status `json:",inline"` // conditions represents the latest available observations of the RepoSync's // current state. // +optional Conditions []RepoSyncCondition `json:"conditions,omitempty"` }
RepoSyncStatus defines the observed state of a RepoSync.
func (*RepoSyncStatus) DeepCopy ¶
func (in *RepoSyncStatus) DeepCopy() *RepoSyncStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSyncStatus.
func (*RepoSyncStatus) DeepCopyInto ¶
func (in *RepoSyncStatus) DeepCopyInto(out *RepoSyncStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRef ¶
type ResourceRef struct { // sourcePath is the repo-relative slash path to where the config is defined. // This field may be empty for errors that are not associated with a specific // config file. // +optional SourcePath string `json:"sourcePath,omitempty"` // name is the name of the affected K8S resource. This field may be empty for // errors that are not associated with a specific resource. // +optional Name string `json:"name,omitempty"` // namespace is the namespace of the affected K8S resource. This field may be // empty for errors that are associated with a cluster-scoped resource or not // associated with a specific resource. // +optional Namespace string `json:"namespace,omitempty"` // gvk is the GroupVersionKind of the affected K8S resource. This field may be // empty for errors that are not associated with a specific resource. // +optional GVK metav1.GroupVersionKind `json:"gvk,omitempty"` }
ResourceRef contains the identification bits of a single managed resource.
func (*ResourceRef) DeepCopy ¶
func (in *ResourceRef) DeepCopy() *ResourceRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRef.
func (*ResourceRef) DeepCopyInto ¶
func (in *ResourceRef) DeepCopyInto(out *ResourceRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RootSync ¶
type RootSync struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec RootSyncSpec `json:"spec,omitempty"` // +optional Status RootSyncStatus `json:"status,omitempty"` }
RootSync is the Schema for the rootsyncs API
func (*RootSync) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootSync.
func (*RootSync) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RootSync) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RootSyncCondition ¶
type RootSyncCondition struct { // type of RootSync condition. Type RootSyncConditionType `json:"type"` // status of the condition, one of True, False, Unknown. Status metav1.ConditionStatus `json:"status"` // The last time this condition was updated. // +nullable // +optional LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. // +nullable // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. // +optional Message string `json:"message,omitempty"` // hash of the source of truth. It can be a git commit hash, or an OCI image digest. // +optional Commit string `json:"commit,omitempty"` // errors is a list of errors that occurred in the process. // This field is used to track errors when the condition type is Reconciling or Stalled. // When the condition type is Syncing, the `errorSourceRefs` field is used instead to // avoid duplicating errors between `status.conditions` and `status.rendering|source|sync`. // +optional Errors []ConfigSyncError `json:"errors,omitempty"` // errorSourceRefs track the origination(s) of errors when the condition type is Syncing. // +optional ErrorSourceRefs []ErrorSource `json:"errorSourceRefs,omitempty"` // errorSummary summarizes the errors in the `errors` field when the condition type is Reconciling or Stalled, // and summarizes the errors referred in the `errorsSourceRefs` field when the condition type is Syncing. // +optional ErrorSummary *ErrorSummary `json:"errorSummary,omitempty"` }
RootSyncCondition describes the state of a RootSync at a certain point.
func (*RootSyncCondition) DeepCopy ¶
func (in *RootSyncCondition) DeepCopy() *RootSyncCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootSyncCondition.
func (*RootSyncCondition) DeepCopyInto ¶
func (in *RootSyncCondition) DeepCopyInto(out *RootSyncCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RootSyncConditionType ¶
type RootSyncConditionType string
RootSyncConditionType is an enum of types of conditions for RootSyncs.
const ( // RootSyncReconciling means that the RootSync's spec has not yet been fully // reconciled/handled by the RootSync controller. RootSyncReconciling RootSyncConditionType = "Reconciling" // RootSyncStalled means that the RootSync controller has not been able to // make progress towards reconciling the RootSync. RootSyncStalled RootSyncConditionType = "Stalled" // RootSyncSyncing means that the root reconciler is processing a hash (git commit hash or OCI image digest). RootSyncSyncing RootSyncConditionType = "Syncing" )
These are valid conditions of a RootSync.
type RootSyncList ¶
type RootSyncList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []RootSync `json:"items"` }
RootSyncList contains a list of RootSync
func (*RootSyncList) DeepCopy ¶
func (in *RootSyncList) DeepCopy() *RootSyncList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootSyncList.
func (*RootSyncList) DeepCopyInto ¶
func (in *RootSyncList) DeepCopyInto(out *RootSyncList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RootSyncList) DeepCopyObject ¶
func (in *RootSyncList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RootSyncSpec ¶
type RootSyncSpec struct { // sourceFormat specifies how the repository is formatted. // See documentation for specifics of what these options do. // // Must be one of hierarchy, unstructured. Optional. Set to // hierarchy if not specified. // // The validation of this is case-sensitive. // +kubebuilder:validation:Pattern=^(hierarchy|unstructured|)$ // +optional SourceFormat string `json:"sourceFormat,omitempty"` // sourceType specifies the type of the source of truth. // // Must be one of git, oci, helm. Optional. Set to git if not specified. // +kubebuilder:validation:Pattern=^(git|oci|helm)$ // +kubebuilder:default:=git // +optional SourceType string `json:"sourceType,omitempty"` // git contains configuration specific to importing resources from a Git repo. // +optional *Git `json:"git,omitempty"` // oci contains configuration specific to importing resources from an OCI package. // +optional Oci *Oci `json:"oci,omitempty"` // helm contains configuration specific to importing resources from a Helm repo. // +optional Helm *HelmRootSync `json:"helm,omitempty"` // override allows to override the settings for a reconciler. // +nullable // +optional Override OverrideSpec `json:"override,omitempty"` }
RootSyncSpec defines the desired state of RootSync
func (*RootSyncSpec) DeepCopy ¶
func (in *RootSyncSpec) DeepCopy() *RootSyncSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootSyncSpec.
func (*RootSyncSpec) DeepCopyInto ¶
func (in *RootSyncSpec) DeepCopyInto(out *RootSyncSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RootSyncStatus ¶
type RootSyncStatus struct { Status `json:",inline"` // conditions represents the latest available observations of the RootSync's // current state. // +optional Conditions []RootSyncCondition `json:"conditions,omitempty"` }
RootSyncStatus defines the observed state of RootSync
func (*RootSyncStatus) DeepCopy ¶
func (in *RootSyncStatus) DeepCopy() *RootSyncStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootSyncStatus.
func (*RootSyncStatus) DeepCopyInto ¶
func (in *RootSyncStatus) DeepCopyInto(out *RootSyncStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretReference ¶
type SecretReference struct { // name represents the secret name. // +optional Name string `json:"name,omitempty"` }
SecretReference contains the reference to the secret used to connect to Git source of truth.
func (*SecretReference) DeepCopy ¶
func (in *SecretReference) DeepCopy() *SecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (*SecretReference) DeepCopyInto ¶
func (in *SecretReference) DeepCopyInto(out *SecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceStatus ¶
type SourceStatus struct { // gitStatus contains fields describing the status of a Git source of truth. // +optional Git *GitStatus `json:"gitStatus,omitempty"` // ociStatus contains fields describing the status of an OCI source of truth. // +optional Oci *OciStatus `json:"ociStatus,omitempty"` // helmStatus contains fields describing the status of a Helm source of truth. // +optional Helm *HelmStatus `json:"helmStatus,omitempty"` // hash of the source of truth that is rendered. // It can be a git commit hash, or an OCI image digest. // +optional Commit string `json:"commit,omitempty"` // lastUpdate is the timestamp of when this status was last updated by a // reconciler. // +nullable // +optional LastUpdate metav1.Time `json:"lastUpdate,omitempty"` // errors is a list of any errors that occurred while reading from the source of truth. // +optional Errors []ConfigSyncError `json:"errors,omitempty"` // errorSummary summarizes the errors encountered during the process of reading from the source of truth. // +optional ErrorSummary *ErrorSummary `json:"errorSummary,omitempty"` }
SourceStatus describes the source status of a source-of-truth.
func (*SourceStatus) DeepCopy ¶
func (in *SourceStatus) DeepCopy() *SourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceStatus.
func (*SourceStatus) DeepCopyInto ¶
func (in *SourceStatus) DeepCopyInto(out *SourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceType ¶
type SourceType string
SourceType specifies the type of the source of truth.
const ( // GitSource represents the source type is Git repository. GitSource SourceType = "git" // OciSource represents the source type is OCI package. OciSource SourceType = "oci" // HelmSource represents the source type is Helm repository. HelmSource SourceType = "helm" )
type Status ¶
type Status struct { // observedGeneration is the most recent generation observed for the sync resource. // It corresponds to the it's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // reconciler is the name of the reconciler process which corresponds to the // sync resource. // +optional Reconciler string `json:"reconciler,omitempty"` // lastSyncedCommit describes the most recent hash that is successfully synced. // It can be a git commit hash, or an OCI image digest. // +optional LastSyncedCommit string `json:"lastSyncedCommit,omitempty"` // source contains fields describing the status of a *Sync's source of // truth. // +optional Source SourceStatus `json:"source,omitempty"` // rendering contains fields describing the status of rendering resources from // the source of truth. // +optional Rendering RenderingStatus `json:"rendering,omitempty"` // sync contains fields describing the status of syncing resources from the // source of truth to the cluster. // +optional Sync SyncStatus `json:"sync,omitempty"` }
Status provides a common type that is embedded in RepoSyncStatus and RootSyncStatus.
func (*Status) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncStatus ¶
type SyncStatus struct { // gitStatus contains fields describing the status of a Git source of truth. // +optional Git *GitStatus `json:"gitStatus,omitempty"` // ociStatus contains fields describing the status of an OCI source of truth. // +optional Oci *OciStatus `json:"ociStatus,omitempty"` // helmStatus contains fields describing the status of a Helm source of truth. // +optional Helm *HelmStatus `json:"helmStatus,omitempty"` // hash of the source of truth that is rendered. // It can be a git commit hash, or an OCI image digest. // +optional Commit string `json:"commit,omitempty"` // lastUpdate is the timestamp of when this status was last updated by a // reconciler. // +nullable // +optional LastUpdate metav1.Time `json:"lastUpdate,omitempty"` // errors is a list of any errors that occurred while applying the resources // from the change indicated by Commit. // +optional Errors []ConfigSyncError `json:"errors,omitempty"` // errorSummary summarizes the errors encountered during the process of syncing the resources. // +optional ErrorSummary *ErrorSummary `json:"errorSummary,omitempty"` }
SyncStatus provides the status of the syncing of resources from a source-of-truth on to the cluster.
func (*SyncStatus) DeepCopy ¶
func (in *SyncStatus) DeepCopy() *SyncStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncStatus.
func (*SyncStatus) DeepCopyInto ¶
func (in *SyncStatus) DeepCopyInto(out *SyncStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.