v1alpha1

package
v0.8.15 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

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

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

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

Functions

This section is empty.

Types

type GitReference

type GitReference struct {
	// Branch is the Git branch to check out.
	// +optional
	Branch string `json:"branch,omitempty"`

	// Tag is the Git tag to check out.
	// +optional
	Tag string `json:"tag,omitempty"`

	// Commit is the Git commit SHA to check out.
	// +kubebuilder:validation:Pattern=`^[a-f0-9]{7,40}$`
	// +optional
	Commit string `json:"commit,omitempty"`

	// Semver is a semver range expression used to select the latest
	// matching Git tag.
	// +optional
	Semver string `json:"semver,omitempty"`
}

GitReference specifies a Git reference for source checkout. At most one field should be set; if none are set the default branch is used. +kubebuilder:validation:XValidation:rule="[has(self.branch), has(self.tag), has(self.commit), has(self.semver)].filter(x, x).size() <= 1",message="at most one of branch, tag, commit, or semver may be set"

func (*GitReference) DeepCopy

func (in *GitReference) DeepCopy() *GitReference

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

func (*GitReference) DeepCopyInto

func (in *GitReference) DeepCopyInto(out *GitReference)

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

type HelmChartTemplate

type HelmChartTemplate struct {
	// RepoURL is the URL of the Helm chart repository.
	// Supports HTTP/HTTPS Helm repositories and OCI registries (oci://).
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^(https?://|oci://).+$`
	// +required
	RepoURL string `json:"repoURL"`

	// Chart is the name of the Helm chart within the repository.
	// +kubebuilder:validation:MinLength=1
	// +required
	Chart string `json:"chart"`

	// Version is the exact chart version to install (e.g. "1.2.3").
	// If empty, the latest version is used.
	// +optional
	Version string `json:"version,omitempty"`

	// Interval at which the operator re-reconciles this Helm release.
	// +required
	Interval metav1.Duration `json:"interval"`

	// Values holds the default Helm chart values as arbitrary JSON.
	// Module.Spec.Values can override these on a per-instance basis.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Values *runtime.RawExtension `json:"values,omitempty"`

	// ReleaseName overrides the Helm release name.
	// Defaults to the Module name if not specified.
	// +kubebuilder:validation:MaxLength=53
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// CreateNamespace instructs the operator to create the target namespace
	// before installing the chart, if it does not already exist.
	// +optional
	CreateNamespace bool `json:"createNamespace,omitempty"`

	// Timeout is the maximum duration for any single Helm operation.
	// Defaults to 5m if not specified.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// MaxHistory limits the number of Helm release revisions saved.
	// Defaults to 10 if not specified.
	// +kubebuilder:validation:Minimum=0
	// +optional
	MaxHistory *int32 `json:"maxHistory,omitempty"`

	// Upgrade configures the Helm upgrade strategy.
	// +optional
	Upgrade *HelmUpgradeStrategy `json:"upgrade,omitempty"`

	// SecretRef references a Secret in the Module's resolved namespace
	// containing credentials for the Helm repository.
	// Supported keys: username, password (Basic Auth), caFile, certFile, keyFile (TLS).
	// +optional
	SecretRef *SecretReference `json:"secretRef,omitempty"`
}

HelmChartTemplate defines how to deploy a module via a Helm chart. The operator downloads the chart from the specified repository and manages the Helm release lifecycle directly using the Helm SDK.

func (*HelmChartTemplate) DeepCopy

func (in *HelmChartTemplate) DeepCopy() *HelmChartTemplate

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

func (*HelmChartTemplate) DeepCopyInto

func (in *HelmChartTemplate) DeepCopyInto(out *HelmChartTemplate)

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

type HelmReleaseStatus

type HelmReleaseStatus struct {
	// ChartVersion is the version of the currently deployed Helm chart.
	// +optional
	ChartVersion string `json:"chartVersion,omitempty"`

	// Revision is the Helm release revision number.
	// +optional
	Revision int32 `json:"revision,omitempty"`

	// Status is the Helm release status (e.g. deployed, failed, pending-upgrade).
	// +kubebuilder:validation:Enum=unknown;deployed;uninstalled;superseded;failed;uninstalling;pending-install;pending-upgrade;pending-rollback
	// +optional
	Status string `json:"status,omitempty"`

	// ValuesChecksum is a SHA-256 hash of the rendered values used for
	// the most recent install or upgrade, enabling change detection.
	// +optional
	ValuesChecksum string `json:"valuesChecksum,omitempty"`
}

HelmReleaseStatus captures the observed state of a Helm release managed by the operator.

func (*HelmReleaseStatus) DeepCopy

func (in *HelmReleaseStatus) DeepCopy() *HelmReleaseStatus

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

func (*HelmReleaseStatus) DeepCopyInto

func (in *HelmReleaseStatus) DeepCopyInto(out *HelmReleaseStatus)

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

type HelmUpgradeStrategy

type HelmUpgradeStrategy struct {
	// Force forces resource updates through a replacement strategy.
	// +optional
	Force bool `json:"force,omitempty"`

	// CleanupOnFail rolls back changes on upgrade failure.
	// +optional
	CleanupOnFail bool `json:"cleanupOnFail,omitempty"`

	// MaxRetries is the maximum number of retries before marking the release as failed.
	// Defaults to 0 (no retries).
	// +kubebuilder:validation:Minimum=0
	// +optional
	MaxRetries *int32 `json:"maxRetries,omitempty"`

	// EnableRollback triggers an automatic rollback when an upgrade fails.
	// +optional
	EnableRollback bool `json:"enableRollback,omitempty"`
}

HelmUpgradeStrategy configures how Helm upgrades are performed.

func (*HelmUpgradeStrategy) DeepCopy

func (in *HelmUpgradeStrategy) DeepCopy() *HelmUpgradeStrategy

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

func (*HelmUpgradeStrategy) DeepCopyInto

func (in *HelmUpgradeStrategy) DeepCopyInto(out *HelmUpgradeStrategy)

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

type InventoryEntry

type InventoryEntry struct {
	// ID uniquely identifies the resource in the format
	// "<namespace>_<name>_<group>_<kind>".
	// +required
	ID string `json:"id"`

	// Version is the API version of the resource (e.g. "v1", "apps/v1").
	// +required
	Version string `json:"version"`
}

InventoryEntry records the identity of a single Kubernetes resource that was applied as part of a Module reconciliation. Used for garbage-collecting resources that are no longer part of the desired state.

func (*InventoryEntry) DeepCopy

func (in *InventoryEntry) DeepCopy() *InventoryEntry

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

func (*InventoryEntry) DeepCopyInto

func (in *InventoryEntry) DeepCopyInto(out *InventoryEntry)

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

type KustomizationStatus

type KustomizationStatus struct {
	// LastAppliedRevision is the Git commit SHA that was last successfully
	// built and applied to the cluster.
	// +optional
	LastAppliedRevision string `json:"lastAppliedRevision,omitempty"`

	// LastAttemptedRevision is the Git commit SHA that was last attempted
	// (may differ from LastAppliedRevision on failure).
	// +optional
	LastAttemptedRevision string `json:"lastAttemptedRevision,omitempty"`
}

KustomizationStatus captures the observed state of a Kustomize-based module managed by the operator.

func (*KustomizationStatus) DeepCopy

func (in *KustomizationStatus) DeepCopy() *KustomizationStatus

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

func (*KustomizationStatus) DeepCopyInto

func (in *KustomizationStatus) DeepCopyInto(out *KustomizationStatus)

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

type KustomizationTemplate

type KustomizationTemplate struct {
	// URL is the Git repository URL containing the kustomization.
	// Supports HTTPS and SSH URLs.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^(https?://|git@|ssh://).+$`
	// +required
	URL string `json:"url"`

	// Ref specifies the Git reference to check out.
	// If not set, the default branch (usually main) is used.
	// +optional
	Ref *GitReference `json:"ref,omitempty"`

	// Path is the directory path within the repository where
	// kustomization.yaml is located. Defaults to the repository root.
	// +optional
	Path string `json:"path,omitempty"`

	// Interval at which the operator re-reconciles this kustomization.
	// +required
	Interval metav1.Duration `json:"interval"`

	// Prune enables garbage collection: resources that were previously
	// applied but are no longer present in the kustomization output
	// will be deleted from the cluster.
	// +optional
	Prune bool `json:"prune,omitempty"`

	// Force instructs the operator to recreate resources that have
	// immutable field changes, instead of failing the apply.
	// +optional
	Force bool `json:"force,omitempty"`

	// Timeout is the maximum duration for the build and apply operation.
	// Defaults to 5m if not specified.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// TargetNamespace overrides the namespace for all resources in the
	// kustomization output. If empty, each resource keeps its own namespace.
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^([a-z0-9]([-a-z0-9]*[a-z0-9])?)$`
	// +optional
	TargetNamespace string `json:"targetNamespace,omitempty"`

	// Patches is a list of strategic merge or JSON6902 patches to apply
	// on top of the kustomization output before sending to the cluster.
	// +listType=atomic
	// +optional
	Patches []KustomizePatch `json:"patches,omitempty"`

	// SecretRef references a Secret containing credentials for the Git
	// repository. Supported keys: username + password (HTTPS), identity +
	// identity.pub + known_hosts (SSH).
	// +optional
	SecretRef *SecretReference `json:"secretRef,omitempty"`
}

KustomizationTemplate defines how to deploy a module via Kustomize. The operator clones the source Git repository, builds the kustomization, and applies the resulting manifests using server-side apply.

func (*KustomizationTemplate) DeepCopy

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

func (*KustomizationTemplate) DeepCopyInto

func (in *KustomizationTemplate) DeepCopyInto(out *KustomizationTemplate)

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

type KustomizePatch

type KustomizePatch struct {
	// Patch is the inline YAML patch content.
	// +kubebuilder:validation:MinLength=1
	// +required
	Patch string `json:"patch"`

	// Target selects which resources to apply the patch to.
	// If not set, the patch is applied to all matching resources.
	// +optional
	Target *PatchSelector `json:"target,omitempty"`
}

KustomizePatch defines an inline strategic merge or JSON6902 patch.

func (*KustomizePatch) DeepCopy

func (in *KustomizePatch) DeepCopy() *KustomizePatch

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

func (*KustomizePatch) DeepCopyInto

func (in *KustomizePatch) DeepCopyInto(out *KustomizePatch)

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

type Module

type Module struct {
	metav1.TypeMeta `json:",inline"`

	// Standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// Spec defines the desired behavior of the Module.
	// +required
	Spec ModuleSpec `json:"spec"`

	// Status represents the current information about the Module.
	// +optional
	Status ModuleStatus `json:"status,omitzero"`
}

Module is the Schema for the modules API. A Module represents an installed platform addon instantiated from a ModuleClass. The controller manages the underlying Helm release or Kustomization directly and reflects its status back to the Module.

func (*Module) DeepCopy

func (in *Module) DeepCopy() *Module

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

func (*Module) DeepCopyInto

func (in *Module) DeepCopyInto(out *Module)

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

func (*Module) DeepCopyObject

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

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

type ModuleClass

type ModuleClass struct {
	metav1.TypeMeta `json:",inline"`

	// Standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// Spec defines the desired behavior of the ModuleClass.
	// +required
	Spec ModuleClassSpec `json:"spec"`
}

ModuleClass is the Schema for the moduleclasses API. A ModuleClass defines a reusable platform module blueprint containing either a Helm chart or Kustomization specification. Users create Module CRs to instantiate and deploy modules from these classes.

func (*ModuleClass) DeepCopy

func (in *ModuleClass) DeepCopy() *ModuleClass

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

func (*ModuleClass) DeepCopyInto

func (in *ModuleClass) DeepCopyInto(out *ModuleClass)

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

func (*ModuleClass) DeepCopyObject

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

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

type ModuleClassList

type ModuleClassList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []ModuleClass `json:"items"`
}

ModuleClassList contains a list of ModuleClass resources.

func (*ModuleClassList) DeepCopy

func (in *ModuleClassList) DeepCopy() *ModuleClassList

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

func (*ModuleClassList) DeepCopyInto

func (in *ModuleClassList) DeepCopyInto(out *ModuleClassList)

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

func (*ModuleClassList) DeepCopyObject

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

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

type ModuleClassSpec

type ModuleClassSpec struct {
	// Description is a human-readable description of the module class.
	// +kubebuilder:validation:MaxLength=1024
	// +optional
	Description string `json:"description,omitempty"`

	// Namespace is the default target namespace where resources will be
	// deployed when a Module is instantiated from this class.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^([a-z0-9]([-a-z0-9]*[a-z0-9])?)$`
	// +required
	Namespace string `json:"namespace"`

	// HelmChart defines a Helm chart-based module.
	// The operator downloads the chart and manages the Helm release directly.
	// Mutually exclusive with Kustomization (enforced via CEL).
	// +optional
	HelmChart *HelmChartTemplate `json:"helmChart,omitempty"`

	// Kustomization defines a Kustomize-based module.
	// The operator clones the source, builds the kustomization, and applies
	// the manifests using server-side apply.
	// Mutually exclusive with HelmChart (enforced via CEL).
	// +optional
	Kustomization *KustomizationTemplate `json:"kustomization,omitempty"`
}

ModuleClassSpec defines the desired state of a ModuleClass. It serves as a reusable catalog entry for platform modules, containing either a Helm chart or Kustomization specification. +kubebuilder:validation:XValidation:rule="(has(self.helmChart) && !has(self.kustomization)) || (!has(self.helmChart) && has(self.kustomization))",message="exactly one of helmChart or kustomization must be set"

func (*ModuleClassSpec) DeepCopy

func (in *ModuleClassSpec) DeepCopy() *ModuleClassSpec

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

func (*ModuleClassSpec) DeepCopyInto

func (in *ModuleClassSpec) DeepCopyInto(out *ModuleClassSpec)

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

type ModuleList

type ModuleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []Module `json:"items"`
}

ModuleList contains a list of Module resources.

func (*ModuleList) DeepCopy

func (in *ModuleList) DeepCopy() *ModuleList

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

func (*ModuleList) DeepCopyInto

func (in *ModuleList) DeepCopyInto(out *ModuleList)

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

func (*ModuleList) DeepCopyObject

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

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

type ModuleSpec

type ModuleSpec struct {
	// ModuleClassName is the name of the ModuleClass to instantiate.
	// This field is immutable after creation.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="moduleClassName is immutable"
	// +required
	ModuleClassName string `json:"moduleClassName"`

	// Namespace overrides the default target namespace defined in the ModuleClass.
	// If not specified, the namespace from the ModuleClass is used.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^([a-z0-9]([-a-z0-9]*[a-z0-9])?)$`
	// +optional
	Namespace *string `json:"namespace,omitempty"`

	// Values overrides the default Helm chart values for Helm-based modules.
	// Only applicable when the referenced ModuleClass uses a HelmChart.
	// Ignored for Kustomization-based modules.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Values *runtime.RawExtension `json:"values,omitempty"`

	// ApprovedClassGeneration is the ModuleClass generation that has been
	// approved for deployment. When the referenced ModuleClass's generation
	// exceeds this value, the controller will not apply changes until this field
	// is updated to match or exceed the new generation.
	//
	// Leave unset (nil) to auto-approve all class changes (legacy behavior).
	// Set explicitly to enable manual upgrade approval.
	// +optional
	ApprovedClassGeneration *int64 `json:"approvedClassGeneration,omitempty"`
}

ModuleSpec defines the desired state of an installed Module. A Module instantiates a ModuleClass by referencing it and optionally overriding the target namespace or Helm values.

func (*ModuleSpec) DeepCopy

func (in *ModuleSpec) DeepCopy() *ModuleSpec

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

func (*ModuleSpec) DeepCopyInto

func (in *ModuleSpec) DeepCopyInto(out *ModuleSpec)

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

type ModuleStatus

type ModuleStatus struct {
	// ObservedGeneration is the most recent generation observed by the controller.
	// It corresponds to the Module's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// AppliedClassGeneration is the ModuleClass generation that was last
	// successfully applied. The controller uses this to detect whether a
	// class upgrade is pending.
	// +optional
	AppliedClassGeneration int64 `json:"appliedClassGeneration,omitempty"`

	// AvailableClassGeneration is the latest generation of the referenced
	// ModuleClass. When this exceeds AppliedClassGeneration, an upgrade
	// is available.
	// +optional
	AvailableClassGeneration int64 `json:"availableClassGeneration,omitempty"`

	// Namespace is the resolved target namespace where resources are deployed.
	// It reflects the effective namespace (Module override or ModuleClass default).
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// HelmRelease captures the observed state of the Helm release
	// when the Module is backed by a HelmChart.
	// +optional
	HelmRelease *HelmReleaseStatus `json:"helmRelease,omitempty"`

	// Kustomization captures the observed state of the Kustomize-based
	// deployment when the Module is backed by a Kustomization.
	// +optional
	Kustomization *KustomizationStatus `json:"kustomization,omitempty"`

	// Inventory tracks the Kubernetes resources managed by this Module.
	// Used for garbage collection (pruning) of resources that are no longer
	// part of the desired state.
	// +listType=atomic
	// +optional
	Inventory []InventoryEntry `json:"inventory,omitempty"`

	// Conditions store the status conditions of the Module (e.g., Ready, UpgradeAvailable).
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ModuleStatus defines the observed state of a Module. It tracks the class generation lifecycle and reports the health of the underlying Helm release or Kustomization.

func (*ModuleStatus) DeepCopy

func (in *ModuleStatus) DeepCopy() *ModuleStatus

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

func (*ModuleStatus) DeepCopyInto

func (in *ModuleStatus) DeepCopyInto(out *ModuleStatus)

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

type PatchSelector

type PatchSelector struct {
	// Group is the API group of the target resource.
	// +optional
	Group string `json:"group,omitempty"`

	// Version is the API version of the target resource.
	// +optional
	Version string `json:"version,omitempty"`

	// Kind is the kind of the target resource.
	// +optional
	Kind string `json:"kind,omitempty"`

	// Namespace of the target resource.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Name of the target resource.
	// +optional
	Name string `json:"name,omitempty"`

	// AnnotationSelector filters resources by annotations
	// (e.g. "config.kubernetes.io/managed-by=kustomize").
	// +optional
	AnnotationSelector string `json:"annotationSelector,omitempty"`

	// LabelSelector filters resources by labels (e.g. "app=nginx").
	// +optional
	LabelSelector string `json:"labelSelector,omitempty"`
}

PatchSelector selects Kubernetes resources by GVK, name, and namespace.

func (*PatchSelector) DeepCopy

func (in *PatchSelector) DeepCopy() *PatchSelector

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

func (*PatchSelector) DeepCopyInto

func (in *PatchSelector) DeepCopyInto(out *PatchSelector)

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

type SecretReference

type SecretReference struct {
	// Name is the name of the Secret.
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
}

SecretReference holds a reference to a Kubernetes Secret by name. The Secret must exist in the operator's namespace (for cluster-scoped Modules) or the resolved target namespace.

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.

Jump to

Keyboard shortcuts

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