Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the module v1alpha1 API group. +kubebuilder:object:generate=true +groupName=module.otterscale.io
Index ¶
- Variables
- type GitReference
- type HelmChartTemplate
- type HelmReleaseStatus
- type HelmUpgradeStrategy
- type InventoryEntry
- type KustomizationStatus
- type KustomizationTemplate
- type KustomizePatch
- type Module
- type ModuleClass
- type ModuleClassList
- type ModuleClassSpec
- type ModuleList
- type ModuleSpec
- type ModuleStatus
- type PatchSelector
- type SecretReference
Constants ¶
This section is empty.
Variables ¶
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 ¶
func (in *KustomizationTemplate) DeepCopy() *KustomizationTemplate
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Module.
func (*Module) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Module) DeepCopyObject ¶
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.