v1alpha1

package
v0.16.5 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the flux.kluctl.io v1alpha1 API group. +kubebuilder:object:generate=true +groupName=flux.kluctl.io

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=flux.kluctl.io

Index

Constants

View Source
const (
	// DeployFailedReason represents the fact that the
	// kluctl deploy command failed.
	DeployFailedReason string = "DeployFailed"

	// PruneFailedReason represents the fact that the
	// pruning of the KluctlDeployment failed.
	PruneFailedReason string = "PruneFailed"

	// ValidateFailedReason represents the fact that the
	// validate of the KluctlDeployment failed.
	ValidateFailedReason string = "ValidateFailed"

	// ArtifactFailedReason represents the fact that the
	// source artifact download failed.
	ArtifactFailedReason string = "ArtifactFailed"

	// PrepareFailedReason represents failure in the kluctl preparation phase
	PrepareFailedReason string = "PrepareFailed"

	// DependencyNotReadyReason represents the fact that
	// one of the dependencies is not ready.
	DependencyNotReadyReason string = "DependencyNotReady"

	// ReconciliationSucceededReason represents the fact that
	// the reconciliation succeeded.
	ReconciliationSucceededReason string = "ReconciliationSucceeded"
)
View Source
const (
	KluctlDeploymentKind      = "KluctlDeployment"
	KluctlDeploymentFinalizer = "finalizers.flux.kluctl.io"
	MaxConditionMessageLength = 20000
	DisabledValue             = "disabled"
	MergeValue                = "merge"

	KluctlDeployModeFull   = "full-deploy"
	KluctlDeployPokeImages = "poke-images"

	KluctlDeployRequestAnnotation = "deploy.flux.kluctl.io/requestedAt"
)
View Source
const (
	// HealthyCondition represents the last recorded
	// health assessment result.
	HealthyCondition string = "Healthy"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "flux.kluctl.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func ConvertFixedImageToKluctl added in v0.0.2

func ConvertFixedImageToKluctl(fi FixedImage) types.FixedImage

func ConvertFixedImagesToKluctl added in v0.0.2

func ConvertFixedImagesToKluctl(fi []FixedImage) []types.FixedImage

func ConvertResourceRefToKluctl added in v0.0.2

func ConvertResourceRefToKluctl(ref *ObjectRef) *k8s.ObjectRef

func SetDeployResult added in v0.4.0

func SetDeployResult(k *KluctlDeployment, revision string, result *result.CommandResult, objectHash string, err error)

func SetPruneResult added in v0.4.0

func SetPruneResult(k *KluctlDeployment, revision string, result *result.CommandResult, objectHash string, err error)

func SetValidateResult added in v0.4.0

func SetValidateResult(k *KluctlDeployment, revision string, result *result.ValidateResult, objectHash string, err error)

Types

type Decryption added in v0.9.0

type Decryption struct {
	// Provider is the name of the decryption engine.
	// +kubebuilder:validation:Enum=sops
	// +required
	Provider string `json:"provider"`

	// The secret name containing the private OpenPGP keys used for decryption.
	// +optional
	SecretRef *meta.LocalObjectReference `json:"secretRef,omitempty"`

	// ServiceAccount specifies the service account used to authenticate against cloud providers.
	// This is currently only usable for AWS KMS keys. The specified service account will be used to authenticate to AWS
	// by signing a token in an IRSA compliant way.
	// +optional
	ServiceAccount string `json:"serviceAccount,omitempty"`
}

Decryption defines how decryption is handled for Kubernetes manifests.

func (*Decryption) DeepCopy added in v0.9.0

func (in *Decryption) DeepCopy() *Decryption

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

func (*Decryption) DeepCopyInto added in v0.9.0

func (in *Decryption) DeepCopyInto(out *Decryption)

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

type DurationOrNever added in v0.7.0

type DurationOrNever struct {
	Duration metav1.Duration
	Never    bool
}

+kubebuilder:validation:Type=string +kubebuilder:validation:Pattern="^(([0-9]+(\\.[0-9]+)?(ms|s|m|h))+)|never$"

func (*DurationOrNever) DeepCopy added in v0.7.0

func (in *DurationOrNever) DeepCopy() *DurationOrNever

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

func (*DurationOrNever) DeepCopyInto added in v0.7.0

func (in *DurationOrNever) DeepCopyInto(out *DurationOrNever)

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

func (DurationOrNever) MarshalJSON added in v0.7.0

func (d DurationOrNever) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (DurationOrNever) OpenAPISchemaFormat added in v0.7.0

func (_ DurationOrNever) OpenAPISchemaFormat() string

OpenAPISchemaFormat is used by the kube-openapi generator when constructing the OpenAPI spec of this type.

func (DurationOrNever) OpenAPISchemaType added in v0.7.0

func (_ DurationOrNever) OpenAPISchemaType() []string

OpenAPISchemaType is used by the kube-openapi generator when constructing the OpenAPI spec of this type.

See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators

func (DurationOrNever) ToUnstructured added in v0.7.0

func (d DurationOrNever) ToUnstructured() interface{}

ToUnstructured implements the value.UnstructuredConverter interface.

func (*DurationOrNever) UnmarshalJSON added in v0.7.0

func (d *DurationOrNever) UnmarshalJSON(b []byte) error

UnmarshalJSON implements the json.Unmarshaller interface.

type FixedImage

type FixedImage struct {
	Image         string     `json:"image"`
	ResultImage   string     `json:"resultImage"`
	DeployedImage *string    `json:"deployedImage,omitempty"`
	RegistryImage *string    `json:"registryImage,omitempty"`
	Namespace     *string    `json:"namespace,omitempty"`
	Object        *ObjectRef `json:"object,omitempty"`
	Deployment    *string    `json:"deployment,omitempty"`
	Container     *string    `json:"container,omitempty"`
	VersionFilter *string    `json:"versionFilter,omitempty"`
	DeployTags    []string   `json:"deployTags,omitempty"`
	DeploymentDir *string    `json:"deploymentDir,omitempty"`
}

func ConvertFixedImage

func ConvertFixedImage(fi types.FixedImage) *FixedImage

func (*FixedImage) DeepCopy

func (in *FixedImage) DeepCopy() *FixedImage

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

func (*FixedImage) DeepCopyInto

func (in *FixedImage) DeepCopyInto(out *FixedImage)

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

type GitRef added in v0.10.0

type GitRef struct {
	// Branch to filter for. Can also be a regex.
	// +optional
	Branch string `json:"branch,omitempty"`

	// Branch to filter for. Can also be a regex.
	// +optional
	Tag string `json:"tag,omitempty"`
}

func (*GitRef) DeepCopy added in v0.10.0

func (in *GitRef) DeepCopy() *GitRef

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

func (*GitRef) DeepCopyInto added in v0.10.0

func (in *GitRef) DeepCopyInto(out *GitRef)

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

func (*GitRef) String added in v0.10.0

func (r *GitRef) String() string

type HelmCredentials added in v0.9.0

type HelmCredentials struct {
	// SecretRef holds the name of a secret that contains the Helm credentials.
	// The secret must either contain the fields `credentialsId` which refers to the credentialsId
	// found in https://kluctl.io/docs/kluctl/reference/deployments/helm/#private-chart-repositories or an `url` used
	// to match the credentials found in Kluctl projects helm-chart.yaml files.
	// The secret can either container basic authentication credentials via `username` and `password` or
	// TLS authentication via `certFile` and `keyFile`. `caFile` can be specified to override the CA to use while
	// contacting the repository.
	// The secret can also contain `insecureSkipTlsVerify: "true"`, which will disable TLS verification.
	// `passCredentialsAll: "true"` can be specified to make the controller pass credentials to all requests, even if
	// the hostname changes in-between.
	// +required
	SecretRef meta.LocalObjectReference `json:"secretRef,omitempty"`
}

func (*HelmCredentials) DeepCopy added in v0.9.0

func (in *HelmCredentials) DeepCopy() *HelmCredentials

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

func (*HelmCredentials) DeepCopyInto added in v0.9.0

func (in *HelmCredentials) DeepCopyInto(out *HelmCredentials)

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

type KluctlDeployment

type KluctlDeployment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KluctlDeploymentSpec   `json:"spec,omitempty"`
	Status KluctlDeploymentStatus `json:"status,omitempty"`
}

KluctlDeployment is the Schema for the kluctldeployments API

func (*KluctlDeployment) DeepCopy

func (in *KluctlDeployment) DeepCopy() *KluctlDeployment

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

func (*KluctlDeployment) DeepCopyInto

func (in *KluctlDeployment) DeepCopyInto(out *KluctlDeployment)

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

func (*KluctlDeployment) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KluctlDeployment) GetConditions

func (in *KluctlDeployment) GetConditions() []metav1.Condition

GetConditions returns the status conditions of the object.

func (*KluctlDeployment) SetConditions

func (in *KluctlDeployment) SetConditions(conditions []metav1.Condition)

SetConditions sets the status conditions on the object.

type KluctlDeploymentList

type KluctlDeploymentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KluctlDeployment `json:"items"`
}

KluctlDeploymentList contains a list of KluctlDeployment

func (*KluctlDeploymentList) DeepCopy

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

func (*KluctlDeploymentList) DeepCopyInto

func (in *KluctlDeploymentList) DeepCopyInto(out *KluctlDeploymentList)

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

func (*KluctlDeploymentList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KluctlDeploymentSpec

type KluctlDeploymentSpec struct {
	// Path to the directory containing the .kluctl.yaml file, or the
	// Defaults to 'None', which translates to the root path of the SourceRef.
	// Deprecated: Use source.path instead
	// +optional
	Path string `json:"path,omitempty"`

	// Reference of the source where the kluctl project is.
	// The authentication secrets from the source are also used to authenticate
	// dependent git repositories which are cloned while deploying the kluctl project.
	// Deprecated: Use source instead
	// +optional
	SourceRef *meta.NamespacedObjectKindReference `json:"sourceRef,omitempty"`

	// Specifies the project source location
	// +optional
	Source *ProjectSource `json:"source,omitempty"`

	// Decrypt Kubernetes secrets before applying them on the cluster.
	// +optional
	Decryption *Decryption `json:"decryption,omitempty"`

	// The interval at which to reconcile the KluctlDeployment.
	// By default, the controller will re-deploy and validate the deployment on each reconciliation.
	// To override this behavior, change the DeployInterval and/or ValidateInterval values.
	// +required
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
	Interval metav1.Duration `json:"interval"`

	// The interval at which to retry a previously failed reconciliation.
	// When not specified, the controller uses the Interval
	// value to retry failures.
	// +optional
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
	RetryInterval *metav1.Duration `json:"retryInterval,omitempty"`

	// DeployInterval specifies the interval at which to deploy the KluctlDeployment.
	// It defaults to the Interval value, meaning that it will re-deploy on every reconciliation.
	// If you set DeployInterval to a different value,
	// +optional
	DeployInterval *DurationOrNever `json:"deployInterval,omitempty"`

	// DeployOnChanges will cause a re-deployment whenever the rendered resources change in the deployment.
	// This check is performed on every reconciliation. This means that a deployment will be triggered even before
	// the DeployInterval has passed in case something has changed in the rendered resources.
	// +optional
	// +kubebuilder:default:=true
	DeployOnChanges bool `json:"deployOnChanges"`

	// ValidateInterval specifies the interval at which to validate the KluctlDeployment.
	// Validation is performed the same way as with 'kluctl validate -t <target>'.
	// Defaults to the same value as specified in Interval.
	// Validate is also performed whenever a deployment is performed, independent of the value of ValidateInterval
	// +optional
	ValidateInterval *DurationOrNever `json:"validateInterval,omitempty"`

	// Timeout for all operations.
	// Defaults to 'Interval' duration.
	// +optional
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// This flag tells the controller to suspend subsequent kluctl executions,
	// it does not apply to already started executions. Defaults to false.
	// +optional
	Suspend bool `json:"suspend,omitempty"`

	// DEPRECATED RegistrySecrets is a list of secret references to be used for image registry authentication.
	// The secrets must either have ".dockerconfigjson" included or "registry", "username" and "password".
	// Additionally, "caFile" and "insecure" can be specified.
	// Kluctl has deprecated querying the registry at deploy time and thus this field is also deprecated.
	// +optional
	RegistrySecrets []meta.LocalObjectReference `json:"registrySecrets,omitempty"`

	// HelmCredentials is a list of Helm credentials used when non pre-pulled Helm Charts are used inside a
	// Kluctl deployment.
	// +optional
	HelmCredentials []HelmCredentials `json:"helmCredentials,omitempty"`

	// The name of the Kubernetes service account to use while deploying.
	// If not specified, the default service account is used.
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// The KubeConfig for deploying to the target cluster.
	// Specifies the kubeconfig to be used when invoking kluctl. Contexts in this kubeconfig must match
	// the context found in the kluctl target. As an alternative, specify the context to be used via 'context'
	// +optional
	KubeConfig *KubeConfig `json:"kubeConfig"`

	// RenameContexts specifies a list of context rename operations.
	// This is useful when the kluctl target's context does not match with the
	// contexts found in the kubeconfig while deploying. This is the case when using kubeconfigs generated from
	// service accounts, in which case the context name is always "default".
	// +optional
	RenameContexts []RenameContext `json:"renameContexts,omitempty"`

	// Target specifies the kluctl target to deploy. If not specified, an empty target is used that has no name and no
	// context. Use 'TargetName' and 'Context' to specify the name and context in that case.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +optional
	Target *string `json:"target,omitempty"`

	// TargetNameOverride sets or overrides the target name. This is especially useful when deployment without a target.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +optional
	TargetNameOverride *string `json:"targetNameOverride,omitempty"`

	// If specified, overrides the context to be used. This will effectively make kluctl ignore the context specified
	// in the target.
	// +optional
	Context *string `json:"context,omitempty"`

	// Args specifies dynamic target args.
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	Args runtime.RawExtension `json:"args,omitempty"`

	// DEPRECATED UpdateImages instructs kluctl to update dynamic images.
	// Equivalent to using '-u' when calling kluctl.
	// Setting this field to true is deprecated.
	// +kubebuilder:default:=false
	// +optional
	UpdateImages bool `json:"updateImages,omitempty"`

	// Images contains a list of fixed image overrides.
	// Equivalent to using '--fixed-images-file' when calling kluctl.
	// +optional
	Images []FixedImage `json:"images,omitempty"`

	// DryRun instructs kluctl to run everything in dry-run mode.
	// Equivalent to using '--dry-run' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	DryRun bool `json:"dryRun,omitempty"`

	// NoWait instructs kluctl to not wait for any resources to become ready, including hooks.
	// Equivalent to using '--no-wait' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	NoWait bool `json:"noWait,omitempty"`

	// ForceApply instructs kluctl to force-apply in case of SSA conflicts.
	// Equivalent to using '--force-apply' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	ForceApply bool `json:"forceApply,omitempty"`

	// ReplaceOnError instructs kluctl to replace resources on error.
	// Equivalent to using '--replace-on-error' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	ReplaceOnError bool `json:"replaceOnError,omitempty"`

	// ForceReplaceOnError instructs kluctl to force-replace resources in case a normal replace fails.
	// Equivalent to using '--force-replace-on-error' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	ForceReplaceOnError bool `json:"forceReplaceOnError,omitempty"`

	// ForceReplaceOnError instructs kluctl to abort deployments immediately when something fails.
	// Equivalent to using '--abort-on-error' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	AbortOnError bool `json:"abortOnError,omitempty"`

	// IncludeTags instructs kluctl to only include deployments with given tags.
	// Equivalent to using '--include-tag' when calling kluctl.
	// +optional
	IncludeTags []string `json:"includeTags,omitempty"`

	// ExcludeTags instructs kluctl to exclude deployments with given tags.
	// Equivalent to using '--exclude-tag' when calling kluctl.
	// +optional
	ExcludeTags []string `json:"excludeTags,omitempty"`

	// IncludeDeploymentDirs instructs kluctl to only include deployments with the given dir.
	// Equivalent to using '--include-deployment-dir' when calling kluctl.
	// +optional
	IncludeDeploymentDirs []string `json:"includeDeploymentDirs,omitempty"`

	// ExcludeDeploymentDirs instructs kluctl to exclude deployments with the given dir.
	// Equivalent to using '--exclude-deployment-dir' when calling kluctl.
	// +optional
	ExcludeDeploymentDirs []string `json:"excludeDeploymentDirs,omitempty"`

	// DeployMode specifies what deploy mode should be used.
	// The options 'full-deploy' and 'poke-images' are supported.
	// With 'poke images' option, only the images from the fixed images are exchanged
	// and no complete deployment is triggered.
	// +kubebuilder:default:=full-deploy
	// +kubebuilder:validation:Enum=full-deploy;poke-images
	// +optional
	DeployMode string `json:"deployMode,omitempty"`

	// Validate enables validation after deploying
	// +kubebuilder:default:=true
	// +optional
	Validate bool `json:"validate"`

	// Prune enables pruning after deploying.
	// +kubebuilder:default:=false
	// +optional
	Prune bool `json:"prune,omitempty"`

	// Delete enables deletion of the specified target when the KluctlDeployment object gets deleted.
	// +kubebuilder:default:=false
	// +optional
	Delete bool `json:"delete,omitempty"`
}

func (*KluctlDeploymentSpec) DeepCopy

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

func (*KluctlDeploymentSpec) DeepCopyInto

func (in *KluctlDeploymentSpec) DeepCopyInto(out *KluctlDeploymentSpec)

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

func (KluctlDeploymentSpec) GetRetryInterval added in v0.8.0

func (in KluctlDeploymentSpec) GetRetryInterval() time.Duration

GetRetryInterval returns the retry interval

type KluctlDeploymentStatus

type KluctlDeploymentStatus struct {
	meta.ReconcileRequestStatus `json:",inline"`

	// +optional
	LastHandledDeployAt string `json:"lastHandledDeployAt,omitempty"`

	// ObservedGeneration is the last reconciled generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// LastAttemptedRevision is the revision of the last reconciliation attempt.
	// +optional
	LastAttemptedRevision string `json:"lastAttemptedRevision,omitempty"`

	// LastDeployResult is the result of the last deploy command
	// +optional
	LastDeployResult *LastCommandResult `json:"lastDeployResult,omitempty"`

	// LastDeployResult is the result of the last prune command
	// +optional
	LastPruneResult *LastCommandResult `json:"lastPruneResult,omitempty"`

	// LastValidateResult is the result of the last validate command
	// +optional
	LastValidateResult *LastValidateResult `json:"lastValidateResult,omitempty"`

	// Discriminator is the discriminator found in the target when the last deployment was done.
	// This is used to perform cleanup/deletion in case the KluctlDeployment project is deleted
	// +optional
	Discriminator string `json:"discriminator,omitempty"`

	// +optional
	RawTarget *string `json:"rawTarget,omitempty"`

	// ReadyForMigration is used to signal the new controller that this object is handled by a legacy controller version
	// that will honor the existence of KluctlDeployment objects from the gitops.kluctl.io group.
	// +optional
	ReadyForMigration *bool `json:"readyForMigration,omitempty"`
}

KluctlDeploymentStatus defines the observed state of KluctlDeployment

func (*KluctlDeploymentStatus) DeepCopy

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

func (*KluctlDeploymentStatus) DeepCopyInto

func (in *KluctlDeploymentStatus) DeepCopyInto(out *KluctlDeploymentStatus)

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

func (*KluctlDeploymentStatus) ParseRawTarget added in v0.6.0

func (d *KluctlDeploymentStatus) ParseRawTarget() *types.Target

func (*KluctlDeploymentStatus) SetRawTarget added in v0.6.0

func (d *KluctlDeploymentStatus) SetRawTarget(target *types.Target)

type KubeConfig

type KubeConfig struct {
	// SecretRef holds the name of a secret that contains a key with
	// the kubeconfig file as the value. If no key is set, the key will default
	// to 'value'. The secret must be in the same namespace as
	// the Kustomization.
	// It is recommended that the kubeconfig is self-contained, and the secret
	// is regularly updated if credentials such as a cloud-access-token expire.
	// Cloud specific `cmd-path` auth helpers will not function without adding
	// binaries and credentials to the Pod that is responsible for reconciling
	// the KluctlDeployment.
	// +required
	SecretRef meta.SecretKeyReference `json:"secretRef,omitempty"`
}

KubeConfig references a Kubernetes secret that contains a kubeconfig file.

func (*KubeConfig) DeepCopy

func (in *KubeConfig) DeepCopy() *KubeConfig

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

func (*KubeConfig) DeepCopyInto

func (in *KubeConfig) DeepCopyInto(out *KubeConfig)

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

type LastCommandResult added in v0.4.0

type LastCommandResult struct {
	ReconcileResultBase `json:",inline"`

	// +optional
	RawResult *string `json:"rawResult,omitempty"`

	// +optional
	Error string `json:"error,omitempty"`
}

func (*LastCommandResult) DeepCopy added in v0.4.0

func (in *LastCommandResult) DeepCopy() *LastCommandResult

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

func (*LastCommandResult) DeepCopyInto added in v0.4.0

func (in *LastCommandResult) DeepCopyInto(out *LastCommandResult)

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

func (*LastCommandResult) ParseResult added in v0.6.0

func (r *LastCommandResult) ParseResult() *result.CommandResult

type LastValidateResult added in v0.4.0

type LastValidateResult struct {
	ReconcileResultBase `json:",inline"`

	// +optional
	RawResult *string `json:"rawResult,omitempty"`

	// +optional
	Error string `json:"error"`
}

func (*LastValidateResult) DeepCopy added in v0.4.0

func (in *LastValidateResult) DeepCopy() *LastValidateResult

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

func (*LastValidateResult) DeepCopyInto added in v0.4.0

func (in *LastValidateResult) DeepCopyInto(out *LastValidateResult)

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

func (*LastValidateResult) ParseResult added in v0.6.0

func (r *LastValidateResult) ParseResult() *result.ValidateResult

type ObjectRef added in v0.4.0

type ObjectRef struct {
	Group     string `json:"group"`
	Version   string `json:"version"`
	Kind      string `json:"kind"`
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

ObjectRef contains the information necessary to locate a resource within a cluster.

func ConvertObjectRef added in v0.4.0

func ConvertObjectRef(ref *k8s.ObjectRef) *ObjectRef

func (*ObjectRef) DeepCopy added in v0.4.0

func (in *ObjectRef) DeepCopy() *ObjectRef

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

func (*ObjectRef) DeepCopyInto added in v0.4.0

func (in *ObjectRef) DeepCopyInto(out *ObjectRef)

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

type ProjectSource added in v0.10.0

type ProjectSource struct {
	// Url specifies the Git url where the project source is located
	// +required
	URL string `json:"url"`

	// Ref specifies the branch, tag or commit that should be used. If omitted, the default branch of the repo is used.
	// +optional
	Ref *GitRef `json:"ref,omitempty"`

	// Path specifies the sub-directory to be used as project directory
	// +optional
	Path string `json:"path,omitempty"`

	// SecretRef specifies the Secret containing authentication credentials for
	// the git repository.
	// For HTTPS repositories the Secret must contain 'username' and 'password'
	// fields.
	// For SSH repositories the Secret must contain 'identity'
	// and 'known_hosts' fields.
	// +optional
	SecretRef *meta.LocalObjectReference `json:"secretRef,omitempty"`
}

func (*ProjectSource) DeepCopy added in v0.10.0

func (in *ProjectSource) DeepCopy() *ProjectSource

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

func (*ProjectSource) DeepCopyInto added in v0.10.0

func (in *ProjectSource) DeepCopyInto(out *ProjectSource)

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

type ReconcileResultBase added in v0.4.0

type ReconcileResultBase struct {
	// AttemptedAt is the time when the attempt was performed
	// +required
	AttemptedAt metav1.Time `json:"time"`

	// Revision is the source revision. Please note that kluctl projects have
	// dependent git repositories which are not considered in the source revision
	// +optional
	Revision string `json:"revision,omitempty"`

	// +optional
	Target *string `json:"target,omitempty"`

	// +optional
	TargetNameOverride *string `json:"targetNameOverride,omitempty"`

	// ObjectsHash is the hash of all rendered objects
	// +optional
	ObjectsHash string `json:"objectsHash,omitempty"`
}

func (*ReconcileResultBase) DeepCopy added in v0.4.0

func (in *ReconcileResultBase) DeepCopy() *ReconcileResultBase

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

func (*ReconcileResultBase) DeepCopyInto added in v0.4.0

func (in *ReconcileResultBase) DeepCopyInto(out *ReconcileResultBase)

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

type RenameContext added in v0.0.2

type RenameContext struct {
	// OldContext is the name of the context to be renamed
	// +required
	OldContext string `json:"oldContext"`

	// NewContext is the new name of the context
	// +required
	NewContext string `json:"newContext"`
}

RenameContext specifies a single rename of a context

func (*RenameContext) DeepCopy added in v0.0.2

func (in *RenameContext) DeepCopy() *RenameContext

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

func (*RenameContext) DeepCopyInto added in v0.0.2

func (in *RenameContext) DeepCopyInto(out *RenameContext)

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