v1

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2024 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the fluxcd v1 API group +kubebuilder:object:generate=true +groupName=fluxcd.controlplane.io

Index

Constants

View Source
const (
	DefaultInstanceName = "flux"
	DefaultNamespace    = "flux-system"
	FluxInstanceKind    = "FluxInstance"
	EnabledValue        = "enabled"
	DisabledValue       = "disabled"
	OutdatedReason      = "OutdatedVersion"
)
View Source
const (
	FluxReportKind       = "FluxReport"
	ReportIntervalEvnKey = "REPORTING_INTERVAL"
)

Variables

View Source
var (
	Finalizer                  = fmt.Sprintf("%s/finalizer", GroupVersion.Group)
	ReconcileAnnotation        = fmt.Sprintf("%s/reconcile", GroupVersion.Group)
	ReconcileEveryAnnotation   = fmt.Sprintf("%s/reconcileEvery", GroupVersion.Group)
	ReconcileTimeoutAnnotation = fmt.Sprintf("%s/reconcileTimeout", GroupVersion.Group)
	PruneAnnotation            = fmt.Sprintf("%s/prune", GroupVersion.Group)
	RevisionAnnotation         = fmt.Sprintf("%s/revision", GroupVersion.Group)
)
View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "fluxcd.controlplane.io", Version: "v1"}

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

This section is empty.

Types

type Cluster

type Cluster struct {
	// Domain is the cluster domain used for generating the FQDN of services.
	// Defaults to 'cluster.local'.
	// +kubebuilder:default:=cluster.local
	// +required
	Domain string `json:"domain"`

	// Multitenant enables the multitenancy lockdown.
	// +optional
	Multitenant bool `json:"multitenant,omitempty"`

	// TenantDefaultServiceAccount is the name of the service account
	// to use as default when the multitenant lockdown is enabled.
	// Defaults to the 'default' service account from the tenant namespace.
	// +optional
	TenantDefaultServiceAccount string `json:"tenantDefaultServiceAccount,omitempty"`

	// NetworkPolicy restricts network access to the current namespace.
	// Defaults to true.
	// +kubebuilder:default:=true
	// +required
	NetworkPolicy bool `json:"networkPolicy"`

	// Type specifies the distro of the Kubernetes cluster.
	// Defaults to 'kubernetes'.
	// +kubebuilder:validation:Enum:=kubernetes;openshift;aws;azure;gcp
	// +kubebuilder:default:=kubernetes
	// +optional
	Type string `json:"type,omitempty"`
}

Cluster is the specification for the Kubernetes cluster.

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

type Component

type Component string

Component is the name of a controller to install. +kubebuilder:validation:Enum:=source-controller;kustomize-controller;helm-controller;notification-controller;image-reflector-controller;image-automation-controller

type ComponentImage added in v0.1.0

type ComponentImage struct {
	// Name of the component.
	// +required
	Name string `json:"name"`

	// Repository address of the container image.
	// +required
	Repository string `json:"repository"`

	// Tag of the container image.
	// +required
	Tag string `json:"tag"`

	// Digest of the container image.
	// +optional
	Digest string `json:"digest,omitempty"`
}

ComponentImage represents a container image used by a component.

func (*ComponentImage) DeepCopy added in v0.1.0

func (in *ComponentImage) DeepCopy() *ComponentImage

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

func (*ComponentImage) DeepCopyInto added in v0.1.0

func (in *ComponentImage) DeepCopyInto(out *ComponentImage)

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

type Distribution

type Distribution struct {
	// Version semver expression e.g. '2.x', '2.3.x'.
	// +required
	Version string `json:"version"`

	// Registry address to pull the distribution images from
	// e.g. 'ghcr.io/fluxcd'.
	// +required
	Registry string `json:"registry"`

	// ImagePullSecret is the name of the Kubernetes secret
	// to use for pulling images.
	// +optional
	ImagePullSecret string `json:"imagePullSecret,omitempty"`

	// Artifact is the URL to the OCI artifact containing
	// the latest Kubernetes manifests for the distribution,
	// e.g. 'oci://ghcr.io/controlplaneio-fluxcd/flux-operator-manifests:latest'.
	// +kubebuilder:validation:Pattern="^oci://.*$"
	// +optional
	Artifact string `json:"artifact,omitempty"`
}

Distribution specifies the version and container registry to pull images from.

func (*Distribution) DeepCopy

func (in *Distribution) DeepCopy() *Distribution

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

func (*Distribution) DeepCopyInto

func (in *Distribution) DeepCopyInto(out *Distribution)

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

type FluxComponentStatus added in v0.6.0

type FluxComponentStatus struct {
	// Name is the name of the Flux component.
	// +required
	Name string `json:"name"`

	// Ready is the readiness status of the Flux component.
	// +required
	Ready bool `json:"ready"`

	// Status is a human-readable message indicating details
	// about the Flux component observed state.
	// +required
	Status string `json:"status"`

	// Image is the container image of the Flux component.
	// +required
	Image string `json:"image"`
}

FluxComponentStatus defines the observed state of a Flux component.

func (*FluxComponentStatus) DeepCopy added in v0.6.0

func (in *FluxComponentStatus) DeepCopy() *FluxComponentStatus

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

func (*FluxComponentStatus) DeepCopyInto added in v0.6.0

func (in *FluxComponentStatus) DeepCopyInto(out *FluxComponentStatus)

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

type FluxDistributionStatus added in v0.6.0

type FluxDistributionStatus struct {
	// Entitlement is the entitlement verification status.
	// +required
	Entitlement string `json:"entitlement"`

	// Status is a human-readable message indicating details
	// about the distribution observed state.
	// +required
	Status string `json:"status"`

	// Version is the version of the Flux instance.
	// +optional
	Version string `json:"version,omitempty"`

	// ManagedBy is the name of the operator managing the Flux instance.
	// +optional
	ManagedBy string `json:"managedBy,omitempty"`
}

FluxDistributionStatus defines the version information of the Flux instance.

func (*FluxDistributionStatus) DeepCopy added in v0.6.0

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

func (*FluxDistributionStatus) DeepCopyInto added in v0.6.0

func (in *FluxDistributionStatus) DeepCopyInto(out *FluxDistributionStatus)

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

type FluxInstance

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

	Spec   FluxInstanceSpec   `json:"spec,omitempty"`
	Status FluxInstanceStatus `json:"status,omitempty"`
}

FluxInstance is the Schema for the fluxinstances API

func (*FluxInstance) DeepCopy

func (in *FluxInstance) DeepCopy() *FluxInstance

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

func (*FluxInstance) DeepCopyInto

func (in *FluxInstance) DeepCopyInto(out *FluxInstance)

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

func (*FluxInstance) DeepCopyObject

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

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

func (*FluxInstance) GetCluster

func (in *FluxInstance) GetCluster() Cluster

GetCluster returns the cluster specification with defaults.

func (*FluxInstance) GetComponents

func (in *FluxInstance) GetComponents() []string

GetComponents returns the components to install with defaults.

func (*FluxInstance) GetConditions

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

GetConditions returns the status conditions of the object.

func (*FluxInstance) GetDistribution

func (in *FluxInstance) GetDistribution() Distribution

GetDistribution returns the distribution specification with defaults.

func (*FluxInstance) GetInterval

func (in *FluxInstance) GetInterval() time.Duration

GetInterval returns the interval at which the object should be reconciled. If no interval is set, the default is 60 minutes.

func (*FluxInstance) GetTimeout

func (in *FluxInstance) GetTimeout() time.Duration

GetTimeout returns the timeout for the reconciliation process. If no timeout is set, the default is 5 minutes.

func (*FluxInstance) IsDisabled added in v0.3.0

func (in *FluxInstance) IsDisabled() bool

IsDisabled returns true if the object has the reconcile annotation set to 'disabled'.

func (*FluxInstance) SetConditions

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

SetConditions sets the status conditions on the object.

type FluxInstanceList

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

FluxInstanceList contains a list of FluxInstance

func (*FluxInstanceList) DeepCopy

func (in *FluxInstanceList) DeepCopy() *FluxInstanceList

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

func (*FluxInstanceList) DeepCopyInto

func (in *FluxInstanceList) DeepCopyInto(out *FluxInstanceList)

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

func (*FluxInstanceList) DeepCopyObject

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

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

type FluxInstanceSpec

type FluxInstanceSpec struct {
	// Distribution specifies the version and container registry to pull images from.
	// +required
	Distribution Distribution `json:"distribution"`

	// Components is the list of controllers to install.
	// Defaults to all controllers.
	// +optional
	Components []Component `json:"components,omitempty"`

	// Cluster holds the specification of the Kubernetes cluster.
	// +optional
	Cluster *Cluster `json:"cluster,omitempty"`

	// Storage holds the specification of the source-controller
	// persistent volume claim.
	// +optional
	Storage *Storage `json:"storage,omitempty"`

	// Kustomize holds a set of patches that can be applied to the
	// Flux installation, to customize the way Flux operates.
	// +optional
	Kustomize *Kustomize `json:"kustomize,omitempty"`

	// Wait instructs the controller to check the health of all the reconciled
	// resources. Defaults to true.
	// +kubebuilder:default:=true
	// +required
	Wait bool `json:"wait"`

	// Sync specifies the source for the cluster sync operation.
	// When set, a Flux source (GitRepository, OCIRepository or Bucket)
	// and Flux Kustomization are created to sync the cluster state
	// with the source repository.
	// +optional
	Sync *Sync `json:"sync,omitempty"`
}

FluxInstanceSpec defines the desired state of FluxInstance

func (*FluxInstanceSpec) DeepCopy

func (in *FluxInstanceSpec) DeepCopy() *FluxInstanceSpec

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

func (*FluxInstanceSpec) DeepCopyInto

func (in *FluxInstanceSpec) DeepCopyInto(out *FluxInstanceSpec)

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

type FluxInstanceStatus

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

	// Conditions contains the readiness conditions of the object.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// LastAttemptedRevision is the version and digest of the
	// distribution config that was last attempted to reconcile.
	// +optional
	LastAttemptedRevision string `json:"lastAttemptedRevision,omitempty"`

	// LastAppliedRevision is the version and digest of the
	// distribution config that was last reconcile.
	// +optional
	LastAppliedRevision string `json:"lastAppliedRevision,omitempty"`

	// Components contains the container images used by the components.
	// +optional
	Components []ComponentImage `json:"components,omitempty"`

	// Inventory contains a list of Kubernetes resource object references
	// last applied on the cluster.
	// +optional
	Inventory *ResourceInventory `json:"inventory,omitempty"`
}

FluxInstanceStatus defines the observed state of FluxInstance

func (*FluxInstanceStatus) DeepCopy

func (in *FluxInstanceStatus) DeepCopy() *FluxInstanceStatus

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

func (*FluxInstanceStatus) DeepCopyInto

func (in *FluxInstanceStatus) DeepCopyInto(out *FluxInstanceStatus)

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

type FluxReconcilerStats added in v0.6.0

type FluxReconcilerStats struct {
	// Running is the number of reconciled
	// resources in the Running state.
	// +required
	Running int `json:"running"`

	// Failing is the number of reconciled
	// resources in the Failing state.
	// +required
	Failing int `json:"failing"`

	// Suspended is the number of reconciled
	// resources in the Suspended state.
	// +required
	Suspended int `json:"suspended"`

	// TotalSize is the total size of the artifacts in storage.
	// +optional
	TotalSize string `json:"totalSize,omitempty"`
}

FluxReconcilerStats defines the reconcile statistics.

func (*FluxReconcilerStats) DeepCopy added in v0.6.0

func (in *FluxReconcilerStats) DeepCopy() *FluxReconcilerStats

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

func (*FluxReconcilerStats) DeepCopyInto added in v0.6.0

func (in *FluxReconcilerStats) DeepCopyInto(out *FluxReconcilerStats)

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

type FluxReconcilerStatus added in v0.6.0

type FluxReconcilerStatus struct {
	// APIVersion is the API version of the Flux resource.
	// +required
	APIVersion string `json:"apiVersion"`

	// Kind is the kind of the Flux resource.
	// +required
	Kind string `json:"kind"`

	// Stats is the reconcile statics of the Flux resource kind.
	// +optional
	Stats FluxReconcilerStats `json:"stats,omitempty"`
}

FluxReconcilerStatus defines the observed state of a Flux reconciler.

func (*FluxReconcilerStatus) DeepCopy added in v0.6.0

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

func (*FluxReconcilerStatus) DeepCopyInto added in v0.6.0

func (in *FluxReconcilerStatus) DeepCopyInto(out *FluxReconcilerStatus)

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

type FluxReport added in v0.6.0

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

	Spec   FluxReportSpec   `json:"spec,omitempty"`
	Status FluxReportStatus `json:"status,omitempty"`
}

FluxReport is the Schema for the fluxreports API.

func (*FluxReport) DeepCopy added in v0.6.0

func (in *FluxReport) DeepCopy() *FluxReport

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

func (*FluxReport) DeepCopyInto added in v0.6.0

func (in *FluxReport) DeepCopyInto(out *FluxReport)

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

func (*FluxReport) DeepCopyObject added in v0.6.0

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

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

func (*FluxReport) GetConditions added in v0.6.0

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

GetConditions returns the status conditions of the object.

func (*FluxReport) GetInterval added in v0.6.0

func (in *FluxReport) GetInterval() time.Duration

GetInterval returns the interval at which the object should be reconciled. If the annotation is not set, the interval is read from the REPORTING_INTERVAL environment variable. If the variable is not set, the default interval is 5 minutes.

func (*FluxReport) IsDisabled added in v0.6.0

func (in *FluxReport) IsDisabled() bool

IsDisabled returns true if the object has the reconcile annotation set to 'disabled'.

func (*FluxReport) SetConditions added in v0.6.0

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

SetConditions sets the status conditions on the object.

type FluxReportList added in v0.6.0

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

FluxReportList contains a list of FluxReport.

func (*FluxReportList) DeepCopy added in v0.6.0

func (in *FluxReportList) DeepCopy() *FluxReportList

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

func (*FluxReportList) DeepCopyInto added in v0.6.0

func (in *FluxReportList) DeepCopyInto(out *FluxReportList)

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

func (*FluxReportList) DeepCopyObject added in v0.6.0

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

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

type FluxReportSpec added in v0.6.0

type FluxReportSpec struct {
	// Distribution is the version information of the Flux installation.
	// +required
	Distribution FluxDistributionStatus `json:"distribution"`

	// ComponentsStatus is the status of the Flux controller deployments.
	// +optional
	ComponentsStatus []FluxComponentStatus `json:"components,omitempty"`

	// ReconcilersStatus is the list of Flux reconcilers and
	// their statistics grouped by API kind.
	// +optional
	ReconcilersStatus []FluxReconcilerStatus `json:"reconcilers,omitempty"`

	// SyncStatus is the status of the cluster sync
	// Source and Kustomization resources.
	// +optional
	SyncStatus *FluxSyncStatus `json:"sync,omitempty"`
}

FluxReportSpec defines the observed state of a Flux installation.

func (*FluxReportSpec) DeepCopy added in v0.6.0

func (in *FluxReportSpec) DeepCopy() *FluxReportSpec

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

func (*FluxReportSpec) DeepCopyInto added in v0.6.0

func (in *FluxReportSpec) DeepCopyInto(out *FluxReportSpec)

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

type FluxReportStatus added in v0.6.0

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

	// Conditions contains the readiness conditions of the object.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

FluxReportStatus defines the readiness of a FluxReport.

func (*FluxReportStatus) DeepCopy added in v0.6.0

func (in *FluxReportStatus) DeepCopy() *FluxReportStatus

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

func (*FluxReportStatus) DeepCopyInto added in v0.6.0

func (in *FluxReportStatus) DeepCopyInto(out *FluxReportStatus)

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

type FluxSyncStatus added in v0.6.0

type FluxSyncStatus struct {
	// ID is the identifier of the sync.
	// +required
	ID string `json:"id"`

	// Path is the kustomize path of the sync.
	// +optional
	Path string `json:"path,omitempty"`

	// Ready is the readiness status of the sync.
	// +required
	Ready bool `json:"ready"`

	// Status is a human-readable message indicating details
	// about the sync observed state.
	// +required
	Status string `json:"status"`

	// Source is the URL of the source repository.
	// +optional
	Source string `json:"source,omitempty"`
}

FluxSyncStatus defines the observed state of the cluster sync.

func (*FluxSyncStatus) DeepCopy added in v0.6.0

func (in *FluxSyncStatus) DeepCopy() *FluxSyncStatus

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

func (*FluxSyncStatus) DeepCopyInto added in v0.6.0

func (in *FluxSyncStatus) DeepCopyInto(out *FluxSyncStatus)

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

type Kustomize

type Kustomize struct {
	// Strategic merge and JSON patches, defined as inline YAML objects,
	// capable of targeting objects based on kind, label and annotation selectors.
	// +optional
	Patches []kustomize.Patch `json:"patches,omitempty"`
}

Kustomize holds a set of patches that can be applied to the Flux installation, to customize the way Flux operates.

func (*Kustomize) DeepCopy

func (in *Kustomize) DeepCopy() *Kustomize

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

func (*Kustomize) DeepCopyInto

func (in *Kustomize) DeepCopyInto(out *Kustomize)

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

type ResourceInventory

type ResourceInventory struct {
	// Entries of Kubernetes resource object references.
	Entries []ResourceRef `json:"entries"`
}

ResourceInventory contains a list of Kubernetes resource object references that have been applied.

func (*ResourceInventory) DeepCopy

func (in *ResourceInventory) DeepCopy() *ResourceInventory

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

func (*ResourceInventory) DeepCopyInto

func (in *ResourceInventory) DeepCopyInto(out *ResourceInventory)

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

type ResourceRef

type ResourceRef struct {
	// ID is the string representation of the Kubernetes resource object's metadata,
	// in the format '<namespace>_<name>_<group>_<kind>'.
	ID string `json:"id"`

	// Version is the API version of the Kubernetes resource object's kind.
	Version string `json:"v"`
}

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

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 Storage added in v0.2.0

type Storage struct {
	// Class is the storage class to use for the PVC.
	// +required
	Class string `json:"class"`

	// Size is the size of the PVC.
	// +required
	Size string `json:"size"`
}

Storage is the specification for the persistent volume claim.

func (*Storage) DeepCopy added in v0.2.0

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto added in v0.2.0

func (in *Storage) DeepCopyInto(out *Storage)

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

type Sync added in v0.4.0

type Sync struct {
	// Interval is the time between syncs.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
	// +kubebuilder:default:="1m"
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`

	// Kind is the kind of the source.
	// +kubebuilder:validation:Enum=OCIRepository;GitRepository;Bucket
	// +required
	Kind string `json:"kind"`

	// URL is the source URL, can be a Git repository HTTP/S or SSH address,
	// an OCI repository address or a Bucket endpoint.
	// +required
	URL string `json:"url"`

	// Ref is the source reference, can be a Git ref name e.g. 'refs/heads/main',
	// an OCI tag e.g. 'latest' or a bucket name e.g. 'flux'.
	// +required
	Ref string `json:"ref"`

	// Path is the path to the source directory containing
	// the kustomize overlay or plain Kubernetes manifests.
	// +required
	Path string `json:"path"`

	// PullSecret specifies the Kubernetes Secret containing the
	// authentication credentials for the source.
	// For Git over HTTP/S sources, the secret must contain username and password fields.
	// For Git over SSH sources, the secret must contain known_hosts and identity fields.
	// For OCI sources, the secret must be of type kubernetes.io/dockerconfigjson.
	// For Bucket sources, the secret must contain accesskey and secretkey fields.
	// +optional
	PullSecret string `json:"pullSecret,omitempty"`
}

func (*Sync) DeepCopy added in v0.4.0

func (in *Sync) DeepCopy() *Sync

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

func (*Sync) DeepCopyInto added in v0.4.0

func (in *Sync) DeepCopyInto(out *Sync)

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