v1alpha1

package
v1.13.1 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

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

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: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func GetPeriodSecs

func GetPeriodSecs(g *Git) float64

GetPeriodSecs returns the sync period defaulting to 15 if empty.

func GetReconcileTimeout

func GetReconcileTimeout(d *metav1.Duration) string

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

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

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

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.

func (*HelmRepoSync) DeepCopy

func (in *HelmRepoSync) DeepCopy() *HelmRepoSync

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

func (*HelmRepoSync) DeepCopyInto

func (in *HelmRepoSync) DeepCopyInto(out *HelmRepoSync)

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

type HelmRootSync

type HelmRootSync struct {
	HelmBase `json:",inline"`
	// namespace sets the target namespace for a release.
	// Default: "default".
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

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

func (*HelmRootSync) DeepCopy

func (in *HelmRootSync) DeepCopy() *HelmRootSync

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

func (*HelmRootSync) DeepCopyInto

func (in *HelmRootSync) DeepCopyInto(out *HelmRootSync)

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

type HelmStatus

type HelmStatus struct {
	// repo is the helm repository URL being synced from.
	Repo string `json:"repo"`

	// version is the helm chart version being fetched.
	Version string `json:"version"`

	// chart is the name of helm chart being fetched
	Chart string `json:"chart"`
}

HelmStatus describes the status of a Helm source of truth.

func (*HelmStatus) DeepCopy

func (in *HelmStatus) DeepCopy() *HelmStatus

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

func (*HelmStatus) DeepCopyInto

func (in *HelmStatus) DeepCopyInto(out *HelmStatus)

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

type Oci

type Oci struct {
	// image is the OCI image repository URL for the package to sync from.
	// e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.
	// The image can be pulled by TAG or by DIGEST if it is specified in PACKAGE_NAME.
	// - Pull by tag: `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME:TAG`.
	// - Pull by digest: `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME@sha256:DIGEST`.
	// If neither TAG nor DIGEST is specified, it pulls with the `latest` tag by default.
	// Required
	Image string `json:"image"`

	// dir is the absolute path of the directory that contains
	// the local resources.  Default: the root directory of the image.
	// +optional
	Dir string `json:"dir,omitempty"`

	// period is the time duration between consecutive syncs. Default: 15s.
	// Note to developers that customers specify this value using
	// string (https://golang.org/pkg/time/#Duration.String) like "3s"
	// in their Custom Resource YAML. However, time.Duration is at a nanosecond
	// granularity, and it is easy to introduce a bug where it looks like the
	// code is dealing with seconds but its actually nanoseconds (or vice versa).
	// +optional
	Period metav1.Duration `json:"period,omitempty"`

	// auth is the type of secret configured for access to the OCI package.
	// Must be one of gcenode, gcpserviceaccount, or none.
	// The validation of this is case-sensitive. Required.
	//
	// +kubebuilder:validation:Enum=gcenode;gcpserviceaccount;none
	Auth configsync.AuthType `json:"auth"`

	// gcpServiceAccountEmail specifies the GCP service account used to annotate
	// the RootSync/RepoSync controller Kubernetes Service Account.
	// Note: The field is used when secretType: gcpServiceAccount.
	GCPServiceAccountEmail string `json:"gcpServiceAccountEmail,omitempty"`
}

Oci contains configuration specific to importing resources from an OCI package.

func (*Oci) DeepCopy

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

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

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

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

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

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

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.

Jump to

Keyboard shortcuts

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