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
// +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.