v1alpha1

package
v1.15.2-rc.2 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2023 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", "oci-sync", or "helm-sync".
	//
	// +kubebuilder:validation:Pattern=^(reconciler|git-sync|hydration-controller|oci-sync|helm-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.
	// +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.

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

	// apiServerTimeout allows one to override the client-side timeout for requests to the API server.
	// Default: 5s.
	// 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"`
}

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.

func (*RepoSyncSpec) SafeOverride added in v1.15.1

func (rs *RepoSyncSpec) SafeOverride() *OverrideSpec

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

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.

func (*RootSyncSpec) SafeOverride added in v1.15.1

func (rs *RootSyncSpec) SafeOverride() *OverrideSpec

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

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