v1beta1

package
v1.17.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2024 License: Apache-2.0 Imports: 8 Imported by: 4

Documentation

Overview

Package v1beta1 contains the version 1beta1 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

Constants

This section is empty.

Variables

View Source
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
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: configsync.GroupName, Version: "v1beta1"}

SchemeGroupVersion is group version used to register these objects

Functions

func GetAPIServerTimeout added in v1.15.1

func GetAPIServerTimeout(d *metav1.Duration) string

GetAPIServerTimeout returns the API server timeout in string, defaulting to 15s if empty

func GetPeriod added in v1.17.0

func GetPeriod(period metav1.Duration, defaultPeriod time.Duration) time.Duration

GetPeriod returns the sync period defaulting to the provided defaultPeriod if empty.

func GetReconcileTimeout

func GetReconcileTimeout(d *metav1.Duration) string

GetReconcileTimeout returns reconcile timeout in string, defaulting to 5m if empty

func GetSecretName added in v1.15.1

func GetSecretName(secretRef *SecretReference) string

GetSecretName will return an empty string if the secretRef.name is empty or the secretRef doesn't exist

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 ContainerLogLevelOverride added in v1.16.0

type ContainerLogLevelOverride struct {
	// containerName specifies the name of the reconciler deployment container for which log level will be overridden.
	// Must be one of the following: "reconciler", "git-sync", "hydration-controller", "oci-sync", or "helm-sync".
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=^(reconciler|git-sync|hydration-controller|oci-sync|helm-sync|gcenode-askpass-sidecar|otel-agent)$
	ContainerName string `json:"containerName"`

	// logLevel specifies the verbosity level of the logging for a specific container.
	// The "git-sync" and "otel-agent" containers default to 5, while all other containers default to 0.
	// Increasing the value of logLevel increases the verbosity of the logs.
	// Lower severity messages are logged at higher verbosity.
	// Allowed values are from 0 to 10.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=10
	// +kubebuilder:validation:Required
	LogLevel int `json:"logLevel"`
}

ContainerLogLevelOverride specifies the container name and log level override value

func (*ContainerLogLevelOverride) DeepCopy added in v1.16.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerLogLevelOverride.

func (*ContainerLogLevelOverride) DeepCopyInto added in v1.16.1

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", "oci-sync", or "helm-sync".
	//
	// +kubebuilder:validation:Pattern=^(reconciler|git-sync|hydration-controller|oci-sync|helm-sync|gcenode-askpass-sidecar|otel-agent)$
	// +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

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 sync from.
	// Branch defaults to 'master', but if 'revision' is set and is not 'HEAD',
	// 'revision' takes precedence over 'branch'.
	// +optional
	Branch string `json:"branch,omitempty"`

	// revision is the git revision (branch, tag, ref or commit) to fetch.
	// If 'revision' is not specified, it defaults to the HEAD of the branch that
	// is specified in the 'branch' field.
	// If neither 'revision' nor 'branch' is specified, it defaults to the HEAD of
	// the 'master' branch.
	// +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 secretType: 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

func (in *Git) DeepCopy() *Git

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Git.

func (*Git) DeepCopyInto

func (in *Git) DeepCopyInto(out *Git)

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

func (in *GitStatus) DeepCopy() *GitStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitStatus.

func (*GitStatus) DeepCopyInto

func (in *GitStatus) DeepCopyInto(out *GitStatus)

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.
	// This can be specified as a static version, or as a range of values from which Config Sync
	// will fetch the latest. If left empty, Config Sync will fetch the latest version according to semver.
	// The supported version range syntax is identical to the version range syntax
	// supported by helm CLI, and is documented here: https://github.com/Masterminds/semver#hyphen-range-comparisons.
	// Versions specified as a range, the literal tag "latest", or left empty to indicate that Config Sync should
	// fetch the latest version, will be fetched every sync according to spec.helm.period.
	// +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. Format
	// values the same as default values.yaml. If `valuesFileRefs` is also specified,
	// fields from `values` will override fields from `valuesFileRefs`.
	// +optional
	Values *apiextensionsv1.JSON `json:"values,omitempty"`

	// valuesFileRefs holds references to objects in the cluster that represent
	// values to use instead of default values that accompany the chart. Currently,
	// only ConfigMaps are supported. The ConfigMaps must be immutable and in the same
	// namespace as the RootSync/RepoSync. When multiple values files are specified, duplicated
	// keys in later files will override the value from earlier files. This is equivalent
	// to passing in multiple values files to Helm CLI. If `values` is also specified,
	// fields from `values` will override fields from `valuesFileRefs`.
	// +optional
	ValuesFileRefs []ValuesFileRef `json:"valuesFileRefs,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 that Config Sync waits before refetching the chart.
	// Default: 1 hour.
	// Use string to specify this field value, like "30s", "5m".
	// More details about valid inputs: https://pkg.go.dev/time#ParseDuration.
	// If the chart version is a range, the literal tag "latest", or left empty to indicate that Config Sync
	// should fetch the latest version, the chart will be re-fetched according to spec.helm.period.
	// If the chart version is specified as a single static version, the chart will not be re-fetched.
	// +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.
	// +nullable
	// +optional
	SecretRef *SecretReference `json:"secretRef,omitempty"`
}

HelmBase contains the configuration specific to locate, download and template a Helm chart.

func (*HelmBase) DeepCopy

func (in *HelmBase) DeepCopy() *HelmBase

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmBase.

func (*HelmBase) DeepCopyInto

func (in *HelmBase) DeepCopyInto(out *HelmBase)

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 for RepoSync.

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 value of {{Release.Namespace}} defined in the chart templates.
	// This is a mutually exclusive setting with "deployNamespace".
	// Default: default.
	// +optional
	Namespace string `json:"namespace,omitempty"`
	// deployNamespace specifies the namespace in which to deploy the chart.
	// This is a mutually exclusive setting with "namespace".
	// If neither namespace nor deployNamespace are set, the chart will be
	// deployed into the default namespace.
	// +optional
	DeployNamespace string `json:"deployNamespace,omitempty"`
}

HelmRootSync contains the configuration specific to locate, download and template a Helm chart for RootSync.

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

func (in *Oci) DeepCopy() *Oci

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Oci.

func (*Oci) DeepCopyInto

func (in *Oci) DeepCopyInto(out *Oci)

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

func (in *OciStatus) DeepCopy() *OciStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OciStatus.

func (*OciStatus) DeepCopyInto

func (in *OciStatus) DeepCopyInto(out *OciStatus)

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"`

	// apiServerTimeout allows one to override the client-side timeout for requests to the API server.
	// Default: 15s.
	// Use string to specify this field value, like "30s", "1m".
	// More details about valid inputs: https://pkg.go.dev/time#ParseDuration.
	// Recommended apiServerTimeout range is from "3s" to "1m".
	// +optional
	APIServerTimeout *metav1.Duration `json:"apiServerTimeout,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"`

	// logLevels specify the container name and log level override value for the reconciler deployment container.
	// Each entry must contain the name of the reconciler deployment container and the desired log level.
	// +listType=map
	// +listMapKey=containerName
	// +optional
	LogLevels []ContainerLogLevelOverride `json:"logLevels,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"`

	// lastUpdate is the timestamp of when this status was last updated by a
	// reconciler.
	// +nullable
	// +optional
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`

	// Human-readable message describes details about the rendering status.
	Message string `json:"message,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

func (in *RepoSync) DeepCopy() *RepoSync

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSync.

func (*RepoSync) DeepCopyInto

func (in *RepoSync) DeepCopyInto(out *RepoSync)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RepoSync) DeepCopyObject

func (in *RepoSync) DeepCopyObject() runtime.Object

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"
	// RepoSyncReconcilerFinalizing means that the namespace reconciler finalizer is processing deletion of managed resources.
	RepoSyncReconcilerFinalizing RepoSyncConditionType = "ReconcilerFinalizing"
	// RepoSyncReconcilerFinalizerFailure means that the namespace reconciler finalizer has errored, blocking deletion.
	RepoSyncReconcilerFinalizerFailure RepoSyncConditionType = "ReconcilerFinalizerFailure"
)

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 RepoSyncOverrideSpec added in v1.17.0

type RepoSyncOverrideSpec struct {
	OverrideSpec `json:",inline"`
}

RepoSyncOverrideSpec allows to override the settings for a RepoSync reconciler pod

func (*RepoSyncOverrideSpec) DeepCopy added in v1.17.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSyncOverrideSpec.

func (*RepoSyncOverrideSpec) DeepCopyInto added in v1.17.0

func (in *RepoSyncOverrideSpec) DeepCopyInto(out *RepoSyncOverrideSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RepoSyncSpec

type RepoSyncSpec struct {
	// sourceFormat specifies how the repository is formatted.
	// See documentation for specifics of what these options do.
	//
	// Must be unstructured. Optional. Set to
	// unstructured 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 namespace reconciler.
	// +nullable
	// +optional
	Override *RepoSyncOverrideSpec `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.

func (*RepoSyncSpec) SafeOverride added in v1.15.1

func (rs *RepoSyncSpec) SafeOverride() *RepoSyncOverrideSpec

SafeOverride creates an override or returns an existing one use it if you need to ensure that you are assigning to an object, but not to test for nil (current existence)

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

func (in *RootSync) DeepCopy() *RootSync

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootSync.

func (*RootSync) DeepCopyInto

func (in *RootSync) DeepCopyInto(out *RootSync)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RootSync) DeepCopyObject

func (in *RootSync) DeepCopyObject() runtime.Object

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"
	// RootSyncReconcilerFinalizing means that the root reconciler finalizer is processing deletion of managed resources.
	RootSyncReconcilerFinalizing RootSyncConditionType = "ReconcilerFinalizing"
	// RootSyncReconcilerFinalizerFailure means that the root reconciler finalizer has errored, blocking deletion.
	RootSyncReconcilerFinalizerFailure RootSyncConditionType = "ReconcilerFinalizerFailure"
)

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 RootSyncOverrideSpec added in v1.17.0

type RootSyncOverrideSpec struct {
	OverrideSpec `json:",inline"`

	// namespaceStrategy controls how the reconciler handles Namespaces
	// which are used by resources in the source but not declared. Only applies
	// when using the unstructured sourceFormat.
	// Must be "implicit" or "explicit". Default: "implicit".
	// "implicit" means that the reconciler will implicitly create Namespaces
	// if they do not exist, even if they are not declared in the source.
	// "explicit" means that the reconciler will not create Namespaces which
	// are not declared in the source.
	//
	// +kubebuilder:validation:Enum=implicit;explicit
	// +optional
	NamespaceStrategy configsync.NamespaceStrategy `json:"namespaceStrategy,omitempty"`

	// roleRefs is a list of Roles or ClusterRoles to create bindings.
	// If unset, a binding to cluster-admin will be created.
	//
	// +optional
	RoleRefs []RootSyncRoleRef `json:"roleRefs,omitempty"`
}

RootSyncOverrideSpec allows to override the settings for a RootSync reconciler pod

func (*RootSyncOverrideSpec) DeepCopy added in v1.17.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootSyncOverrideSpec.

func (*RootSyncOverrideSpec) DeepCopyInto added in v1.17.0

func (in *RootSyncOverrideSpec) DeepCopyInto(out *RootSyncOverrideSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RootSyncRoleRef added in v1.17.0

type RootSyncRoleRef struct {
	// kind refers to the Kind of the RBAC resource.
	// Accepted values are Role and ClusterRole. Required.
	//
	// +kubebuilder:validation:Enum=Role;ClusterRole
	Kind string `json:"kind"`

	// name is the name of the Role or ClusterRole resource. Required.
	Name string `json:"name"`

	// namespace indicates the Namespace in which a RoleBinding should be created.
	// For ClusterRole objects, will determine whether a RoleBinding or ClusterRoleBinding
	// is created.
	// For Role objects, must be set to the same namespace as the Role.
	//
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

each item references a Role or ClusterRole to create a binding to for this reconciler. It supports a namespace field that can be used to create RoleBindings rather than ClusterRoleBindings.

func (*RootSyncRoleRef) DeepCopy added in v1.17.0

func (in *RootSyncRoleRef) DeepCopy() *RootSyncRoleRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootSyncRoleRef.

func (*RootSyncRoleRef) DeepCopyInto added in v1.17.0

func (in *RootSyncRoleRef) DeepCopyInto(out *RootSyncRoleRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

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 root reconciler.
	// +nullable
	// +optional
	Override *RootSyncOverrideSpec `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.

func (*RootSyncSpec) SafeOverride added in v1.15.1

func (rs *RootSyncSpec) SafeOverride() *RootSyncOverrideSpec

SafeOverride creates an override or returns an existing one use it if you need to ensure that you are assigning to an object, but not to test for nil (current existence)

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
	// +kubebuilder:default:=0
	ObservedGeneration int64 `json:"observedGeneration"`

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

func (in *Status) DeepCopy() *Status

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.

func (*Status) DeepCopyInto

func (in *Status) DeepCopyInto(out *Status)

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.

type ValuesFileRef added in v1.16.0

type ValuesFileRef struct {
	// name represents the Object name. Required.
	Name string `json:"name,omitempty"`

	// dataKey represents the object data key to read the values from. Default: `values.yaml`
	// +optional
	DataKey string `json:"dataKey,omitempty"`
}

ValuesFileRef references a ConfigMap object that contains a values file to use for helm rendering. The ConfigMap must be in the same namespace as the RootSync/RepoSync.

func (*ValuesFileRef) DeepCopy added in v1.16.0

func (in *ValuesFileRef) DeepCopy() *ValuesFileRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValuesFileRef.

func (*ValuesFileRef) DeepCopyInto added in v1.16.0

func (in *ValuesFileRef) DeepCopyInto(out *ValuesFileRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL