v1alpha1

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2024 License: Apache-2.0 Imports: 12 Imported by: 47

Documentation

Overview

+k8s:deepcopy-gen=package +groupName=fleet.cattle.io

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

Index

Constants

View Source
const (
	// BundleConditionReady is unused. A "Ready" condition on a bundle
	// indicates that its resources are ready and the dependencies are
	// fulfilled.
	BundleConditionReady = "Ready"
	// BundleDeploymentConditionReady is the condition that displays for
	// status in general and it is used for the readiness of resources.
	BundleDeploymentConditionReady = "Ready"
	// BundleDeploymentConditionInstalled indicates the bundledeployment
	// has been installed.
	BundleDeploymentConditionInstalled = "Installed"
	// BundleDeploymentConditionDeployed is used by the bundledeployment
	// controller. It is true if the handler returns no error and false if
	// an error is returned.
	BundleDeploymentConditionDeployed  = "Deployed"
	BundleDeploymentConditionMonitored = "Monitored"
)
View Source
const (
	ImageScanScanCondition = "ImageScanned"
	ImageScanSyncCondition = "ImageSynced"
)
View Source
const BundleDeploymentResourceNamePlural = "bundledeployments"
View Source
const ClusterGroupConditionProcessed = "Processed"

ClusterGroupConditionProcessed indicates that the status fields have been processed.

View Source
const ClusterRegistrationResourceNamePlural = "clusterregistrations"
View Source
const ClusterResourceNamePlural = "clusters"
View Source
const ContentResourceNamePlural = "contents"
View Source
const (
	GitRepoAcceptedCondition = "Accepted"
)
View Source
const MaxHelmReleaseNameLen = 53

MaxHelmReleaseNameLen is the maximum length of a Helm release name. See https://github.com/helm/helm/blob/293b50c65d4d56187cd4e2f390f0ada46b4c4737/pkg/chartutil/validate_name.go#L54-L61

Variables

View Source
var (
	// ClusterConditionReady indicates that all bundles in this cluster
	// have been deployed and all resources are ready.
	ClusterConditionReady = "Ready"
	// ClusterConditionProcessed indicates that the status fields have been
	// processed.
	ClusterConditionProcessed = "Processed"
	// ClusterNamespaceAnnotation used on a cluster namespace to refer to
	// the cluster registration namespace, which contains the cluster
	// resource.
	ClusterNamespaceAnnotation = "fleet.cattle.io/cluster-namespace"
	// ClusterAnnotation used on a cluster namespace to refer to the
	// cluster name for that namespace.
	ClusterAnnotation = "fleet.cattle.io/cluster"
	// ClusterRegistrationAnnotation is the name of the
	// ClusterRegistration, it's added to the request service account.
	ClusterRegistrationAnnotation = "fleet.cattle.io/cluster-registration"
	// ClusterRegistrationTokenAnnotation is the namespace of the
	// clusterregistration, e.g. "fleet-local".
	ClusterRegistrationNamespaceAnnotation = "fleet.cattle.io/cluster-registration-namespace"
	// ManagedLabel is used for clean up. Cluster namespaces and other
	// resources with this label will be cleaned up. Used in Rancher to
	// identify fleet namespaces.
	ManagedLabel = "fleet.cattle.io/managed"
	// ClusterNamespaceLabel is used on a bundledeployment to refer to the
	// cluster registration namespace of the targeted cluster.
	ClusterNamespaceLabel = "fleet.cattle.io/cluster-namespace"
	// ClusterLabel is used on a bundledeployment to refer to the targeted
	// cluster
	ClusterLabel = "fleet.cattle.io/cluster"
)
View Source
var (
	CommitLabel          = "fleet.cattle.io/commit"
	RepoLabel            = "fleet.cattle.io/repo-name"
	BundleLabel          = "fleet.cattle.io/bundle-name"
	BundleNamespaceLabel = "fleet.cattle.io/bundle-namespace"
)
View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "fleet.cattle.io", Version: "v1alpha1"}

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

	// Compatibility with k8s.io/apimachinery/pkg/runtime.Object
	SchemeBuilder = InternalSchemeBuilder.SchemeBuilder

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = InternalSchemeBuilder.AddToScheme
)
View Source
var (
	// StateRank ranks the state, e.g. so the highest ranked non-ready
	// state can be reported in a summary.
	StateRank = map[BundleState]int{
		ErrApplied:  7,
		WaitApplied: 6,
		Modified:    5,
		OutOfSync:   4,
		Pending:     3,
		NotReady:    2,
		Ready:       1,
	}
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AgentStatus

type AgentStatus struct {
	// LastSeen is the last time the agent checked in to update the status
	// of the cluster resource.
	// +nullable
	// +optional
	LastSeen metav1.Time `json:"lastSeen"`
	// Namespace is the namespace of the agent deployment, e.g. "cattle-fleet-system".
	// +nullable
	// +optional
	Namespace string `json:"namespace"`
}

func (*AgentStatus) DeepCopy

func (in *AgentStatus) DeepCopy() *AgentStatus

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

func (*AgentStatus) DeepCopyInto

func (in *AgentStatus) DeepCopyInto(out *AgentStatus)

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

type AlphabeticalPolicy

type AlphabeticalPolicy struct {
	// Order specifies the sorting order of the tags. Given the letters of the
	// alphabet as tags, ascending order would select Z, and descending order
	// would select A.
	// +optional
	// +nullable
	Order string `json:"order,omitempty"`
}

AlphabeticalPolicy specifies a alphabetical ordering policy.

func (*AlphabeticalPolicy) DeepCopy

func (in *AlphabeticalPolicy) DeepCopy() *AlphabeticalPolicy

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

func (*AlphabeticalPolicy) DeepCopyInto

func (in *AlphabeticalPolicy) DeepCopyInto(out *AlphabeticalPolicy)

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

type Bundle

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

	// +optional
	Spec BundleSpec `json:"spec"`
	// +optional
	Status BundleStatus `json:"status"`
}

Bundle contains the resources of an application and its deployment options. It will be deployed as a Helm chart to target clusters.

When a GitRepo is scanned it will produce one or more bundles. Bundles are a collection of resources that get deployed to one or more cluster(s). Bundle is the fundamental deployment unit used in Fleet. The contents of a Bundle may be Kubernetes manifests, Kustomize configuration, or Helm charts. Regardless of the source the contents are dynamically rendered into a Helm chart by the agent and installed into the downstream cluster as a Helm release.

func (*Bundle) DeepCopy

func (in *Bundle) DeepCopy() *Bundle

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

func (*Bundle) DeepCopyInto

func (in *Bundle) DeepCopyInto(out *Bundle)

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

func (*Bundle) DeepCopyObject

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

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

type BundleDeployment

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

	Spec   BundleDeploymentSpec   `json:"spec,omitempty"`
	Status BundleDeploymentStatus `json:"status,omitempty"`
}

BundleDeployment is used internally by Fleet and should not be used directly. When a Bundle is deployed to a cluster an instance of a Bundle is called a BundleDeployment. A BundleDeployment represents the state of that Bundle on a specific cluster with its cluster-specific customizations. The Fleet agent is only aware of BundleDeployment resources that are created for the cluster the agent is managing.

func (*BundleDeployment) DeepCopy

func (in *BundleDeployment) DeepCopy() *BundleDeployment

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

func (*BundleDeployment) DeepCopyInto

func (in *BundleDeployment) DeepCopyInto(out *BundleDeployment)

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

func (*BundleDeployment) DeepCopyObject

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

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

type BundleDeploymentDisplay

type BundleDeploymentDisplay struct {
	// +nullable
	Deployed string `json:"deployed,omitempty"`
	// +nullable
	Monitored string `json:"monitored,omitempty"`
	// +nullable
	State string `json:"state,omitempty"`
}

func (*BundleDeploymentDisplay) DeepCopy

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

func (*BundleDeploymentDisplay) DeepCopyInto

func (in *BundleDeploymentDisplay) DeepCopyInto(out *BundleDeploymentDisplay)

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

type BundleDeploymentList

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

BundleDeploymentList contains a list of BundleDeployment

func (*BundleDeploymentList) DeepCopy

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

func (*BundleDeploymentList) DeepCopyInto

func (in *BundleDeploymentList) DeepCopyInto(out *BundleDeploymentList)

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

func (*BundleDeploymentList) DeepCopyObject

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

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

type BundleDeploymentOptions

type BundleDeploymentOptions struct {
	// DefaultNamespace is the namespace to use for resources that do not
	// specify a namespace. This field is not used to enforce or lock down
	// the deployment to a specific namespace.
	// +nullable
	DefaultNamespace string `json:"defaultNamespace,omitempty"`

	// TargetNamespace if present will assign all resource to this
	// namespace and if any cluster scoped resource exists the deployment
	// will fail.
	// +nullable
	TargetNamespace string `json:"namespace,omitempty"`

	// Kustomize options for the deployment, like the dir containing the
	// kustomization.yaml file.
	// +nullable
	Kustomize *KustomizeOptions `json:"kustomize,omitempty"`

	// Helm options for the deployment, like the chart name, repo and values.
	// +optional
	Helm *HelmOptions `json:"helm,omitempty"`

	// ServiceAccount which will be used to perform this deployment.
	// +nullable
	ServiceAccount string `json:"serviceAccount,omitempty"`

	// ForceSyncGeneration is used to force a redeployment
	ForceSyncGeneration int64 `json:"forceSyncGeneration,omitempty"`

	// YAML options, if using raw YAML these are names that map to
	// overlays/{name} files that will be used to replace or patch a resource.
	// +nullable
	YAML *YAMLOptions `json:"yaml,omitempty"`

	// Diff can be used to ignore the modified state of objects which are amended at runtime.
	// +nullable
	Diff *DiffOptions `json:"diff,omitempty"`

	// KeepResources can be used to keep the deployed resources when removing the bundle
	KeepResources bool `json:"keepResources,omitempty"`

	// DeleteNamespace can be used to delete the deployed namespace when removing the bundle
	DeleteNamespace bool `json:"deleteNamespace,omitempty"`

	//IgnoreOptions can be used to ignore fields when monitoring the bundle.
	// +optional
	IgnoreOptions `json:"ignore,omitempty"`

	// CorrectDrift specifies how drift correction should work.
	CorrectDrift *CorrectDrift `json:"correctDrift,omitempty"`

	// NamespaceLabels are labels that will be appended to the namespace created by Fleet.
	// +nullable
	NamespaceLabels map[string]string `json:"namespaceLabels,omitempty"`

	// NamespaceAnnotations are annotations that will be appended to the namespace created by Fleet.
	// +nullable
	NamespaceAnnotations map[string]string `json:"namespaceAnnotations,omitempty"`

	// DeleteCRDResources deletes CRDs. Warning! this will also delete all your Custom Resources.
	DeleteCRDResources bool `json:"deleteCRDResources,omitempty"`
}

func (*BundleDeploymentOptions) DeepCopy

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

func (*BundleDeploymentOptions) DeepCopyInto

func (in *BundleDeploymentOptions) DeepCopyInto(out *BundleDeploymentOptions)

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

type BundleDeploymentResource

type BundleDeploymentResource struct {
	// +nullable
	Kind string `json:"kind,omitempty"`
	// +nullable
	APIVersion string `json:"apiVersion,omitempty"`
	// +nullable
	Namespace string `json:"namespace,omitempty"`
	// +nullable
	Name string `json:"name,omitempty"`
	// +nullable
	CreatedAt metav1.Time `json:"createdAt,omitempty"`
}

BundleDeploymentResource contains the metadata of a deployed resource.

func (*BundleDeploymentResource) DeepCopy

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

func (*BundleDeploymentResource) DeepCopyInto

func (in *BundleDeploymentResource) DeepCopyInto(out *BundleDeploymentResource)

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

type BundleDeploymentSpec

type BundleDeploymentSpec struct {
	// Paused if set to true, will stop any BundleDeployments from being
	// updated. If true, BundleDeployments will be marked as out of sync
	// when changes are detected.
	Paused bool `json:"paused,omitempty"`
	// StagedOptions are the deployment options, that are staged for
	// the next deployment.
	StagedOptions BundleDeploymentOptions `json:"stagedOptions,omitempty"`
	// StagedDeploymentID is the ID of the staged deployment.
	// +nullable
	StagedDeploymentID string `json:"stagedDeploymentID,omitempty"`
	// Options are the deployment options, that are currently applied.
	Options BundleDeploymentOptions `json:"options,omitempty"`
	// DeploymentID is the ID of the currently applied deployment.
	// +nullable
	DeploymentID string `json:"deploymentID,omitempty"`
	// DependsOn refers to the bundles which must be ready before this bundle can be deployed.
	// +nullable
	DependsOn []BundleRef `json:"dependsOn,omitempty"`
	// CorrectDrift specifies how drift correction should work.
	CorrectDrift *CorrectDrift `json:"correctDrift,omitempty"`
	// OCIContents is true when this deployment's contents is stored in an oci registry
	OCIContents bool `json:"ociContents,omitempty"`
}

func (*BundleDeploymentSpec) DeepCopy

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

func (*BundleDeploymentSpec) DeepCopyInto

func (in *BundleDeploymentSpec) DeepCopyInto(out *BundleDeploymentSpec)

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

type BundleDeploymentStatus

type BundleDeploymentStatus struct {
	// +nullable
	Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`
	// +nullable
	AppliedDeploymentID string `json:"appliedDeploymentID,omitempty"`
	// Release is the Helm release ID
	// +nullable
	Release     string `json:"release,omitempty"`
	Ready       bool   `json:"ready,omitempty"`
	NonModified bool   `json:"nonModified,omitempty"`
	// +nullable
	NonReadyStatus []NonReadyStatus `json:"nonReadyStatus,omitempty"`
	// +nullable
	ModifiedStatus []ModifiedStatus `json:"modifiedStatus,omitempty"`
	// +nullable
	Display BundleDeploymentDisplay `json:"display,omitempty"`
	// +nullable
	SyncGeneration *int64 `json:"syncGeneration,omitempty"`
	// Resources lists the metadata of resources that were deployed
	// according to the helm release history.
	// +nullable
	Resources []BundleDeploymentResource `json:"resources,omitempty"`
}

func (*BundleDeploymentStatus) DeepCopy

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

func (*BundleDeploymentStatus) DeepCopyInto

func (in *BundleDeploymentStatus) DeepCopyInto(out *BundleDeploymentStatus)

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

type BundleDisplay

type BundleDisplay struct {
	// ReadyClusters is a string in the form "%d/%d", that describes the
	// number of clusters that are ready vs. the number of clusters desired
	// to be ready.
	// +nullable
	ReadyClusters string `json:"readyClusters,omitempty"`
	// State is a summary state for the bundle, calculated over the non-ready resources.
	// +nullable
	State string `json:"state,omitempty"`
}

BundleDisplay contains the number of ready, desiredready clusters and a summary state for the bundle.

func (*BundleDisplay) DeepCopy

func (in *BundleDisplay) DeepCopy() *BundleDisplay

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

func (*BundleDisplay) DeepCopyInto

func (in *BundleDisplay) DeepCopyInto(out *BundleDisplay)

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

type BundleList

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

BundleList contains a list of Bundle

func (*BundleList) DeepCopy

func (in *BundleList) DeepCopy() *BundleList

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

func (*BundleList) DeepCopyInto

func (in *BundleList) DeepCopyInto(out *BundleList)

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

func (*BundleList) DeepCopyObject

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

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

type BundleNamespaceMapping

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

	// +nullable
	BundleSelector *metav1.LabelSelector `json:"bundleSelector,omitempty"`
	// +nullable
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}

BundleNamespaceMapping maps bundles to clusters in other namespaces.

func (*BundleNamespaceMapping) DeepCopy

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

func (*BundleNamespaceMapping) DeepCopyInto

func (in *BundleNamespaceMapping) DeepCopyInto(out *BundleNamespaceMapping)

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

func (*BundleNamespaceMapping) DeepCopyObject

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

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

type BundleNamespaceMappingList

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

BundleNamespaceMappingList contains a list of BundleNamespaceMapping

func (*BundleNamespaceMappingList) DeepCopy

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

func (*BundleNamespaceMappingList) DeepCopyInto

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

func (*BundleNamespaceMappingList) DeepCopyObject

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

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

type BundleRef

type BundleRef struct {
	// Name of the bundle.
	// +nullable
	Name string `json:"name,omitempty"`
	// Selector matching bundle's labels.
	// +nullable
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
}

func (*BundleRef) DeepCopy

func (in *BundleRef) DeepCopy() *BundleRef

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

func (*BundleRef) DeepCopyInto

func (in *BundleRef) DeepCopyInto(out *BundleRef)

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

type BundleResource

type BundleResource struct {
	// Name of the resource, can include the bundle's internal path.
	// +nullable
	Name string `json:"name,omitempty"`
	// The content of the resource, can be compressed.
	// +nullable
	Content string `json:"content,omitempty"`
	// Encoding is either empty or "base64+gz".
	// +nullable
	Encoding string `json:"encoding,omitempty"`
}

BundleResource represents the content of a single resource from the bundle, like a YAML manifest.

func (*BundleResource) DeepCopy

func (in *BundleResource) DeepCopy() *BundleResource

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

func (*BundleResource) DeepCopyInto

func (in *BundleResource) DeepCopyInto(out *BundleResource)

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

type BundleSpec

type BundleSpec struct {
	BundleDeploymentOptions `json:",inline"`

	// Paused if set to true, will stop any BundleDeployments from being updated. It will be marked as out of sync.
	Paused bool `json:"paused,omitempty"`

	// RolloutStrategy controls the rollout of bundles, by defining
	// partitions, canaries and percentages for cluster availability.
	// +nullable
	RolloutStrategy *RolloutStrategy `json:"rolloutStrategy,omitempty"`

	// Resources contains the resources that were read from the bundle's
	// path. This includes the content of downloaded helm charts.
	// +nullable
	Resources []BundleResource `json:"resources,omitempty"`

	// Targets refer to the clusters which will be deployed to.
	// Targets are evaluated in order and the first one to match is used.
	Targets []BundleTarget `json:"targets,omitempty"`

	// TargetRestrictions is an allow list, which controls if a bundledeployment is created for a target.
	TargetRestrictions []BundleTargetRestriction `json:"targetRestrictions,omitempty"`

	// DependsOn refers to the bundles which must be ready before this bundle can be deployed.
	// +nullable
	DependsOn []BundleRef `json:"dependsOn,omitempty"`

	// ContentsID stores the contents id when deploying contents using an OCI registry.
	// +nullable
	ContentsID string `json:"contentsId,omitempty"`
}

func (*BundleSpec) DeepCopy

func (in *BundleSpec) DeepCopy() *BundleSpec

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

func (*BundleSpec) DeepCopyInto

func (in *BundleSpec) DeepCopyInto(out *BundleSpec)

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

type BundleState

type BundleState string
const (
	// Ready: Bundles have been deployed and all resources are ready.
	Ready BundleState = "Ready"
	// NotReady: Bundles have been deployed and some resources are not
	// ready.
	NotReady BundleState = "NotReady"
	// WaitApplied: Bundles have been synced from Fleet controller and
	// downstream cluster, but are waiting to be deployed.
	WaitApplied BundleState = "WaitApplied"
	// ErrApplied: Bundles have been synced from the Fleet controller and
	// the downstream cluster, but there were some errors when deploying
	// the Bundle.
	ErrApplied BundleState = "ErrApplied"
	// OutOfSync: Bundles have been synced from Fleet controller, but
	// downstream agent hasn't synced the change yet.
	OutOfSync BundleState = "OutOfSync"
	// Pending: Bundles are being processed by Fleet controller.
	Pending BundleState = "Pending"
	// Modified: Bundles have been deployed and all resources are ready,
	// but there are some changes that were not made from the Git
	// Repository.
	Modified BundleState = "Modified"
)

type BundleStatus

type BundleStatus struct {
	// Conditions is a list of Wrangler conditions that describe the state
	// of the bundle.
	// +optional
	Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`

	// Summary contains the number of bundle deployments in each state and
	// a list of non-ready resources.
	Summary BundleSummary `json:"summary,omitempty"`
	// NewlyCreated is the number of bundle deployments that have been created,
	// not updated.
	NewlyCreated int `json:"newlyCreated,omitempty"`
	// Unavailable is the number of bundle deployments that are not ready or
	// where the AppliedDeploymentID in the status does not match the
	// DeploymentID from the spec.
	// +optional
	Unavailable int `json:"unavailable"`
	// UnavailablePartitions is the number of unavailable partitions.
	// +optional
	UnavailablePartitions int `json:"unavailablePartitions"`
	// MaxUnavailable is the maximum number of unavailable deployments. See
	// rollout configuration.
	// +optional
	MaxUnavailable int `json:"maxUnavailable"`
	// MaxUnavailablePartitions is the maximum number of unavailable
	// partitions. The rollout configuration defines a maximum number or
	// percentage of unavailable partitions.
	// +optional
	MaxUnavailablePartitions int `json:"maxUnavailablePartitions"`
	// MaxNew is always 50. A bundle change can only stage 50
	// bundledeployments at a time.
	MaxNew int `json:"maxNew,omitempty"`
	// PartitionStatus lists the status of each partition.
	PartitionStatus []PartitionStatus `json:"partitions,omitempty"`
	// Display contains the number of ready, desiredready clusters and a
	// summary state for the bundle's resources.
	Display BundleDisplay `json:"display,omitempty"`
	// ResourceKey lists resources, which will likely be deployed. The
	// actual list of resources on a cluster might differ, depending on the
	// helm chart, value templating, etc..
	// +nullable
	ResourceKey []ResourceKey `json:"resourceKey,omitempty"`
	// OCIReference is the OCI reference used to store contents, this is
	// only for informational purposes.
	OCIReference string `json:"ociReference,omitempty"`
	// ObservedGeneration is the current generation of the bundle.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration"`
	// ResourcesSHA256Sum corresponds to the JSON serialization of the .Spec.Resources field
	ResourcesSHA256Sum string `json:"resourcesSha256Sum,omitempty"`
}

func (*BundleStatus) DeepCopy

func (in *BundleStatus) DeepCopy() *BundleStatus

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

func (*BundleStatus) DeepCopyInto

func (in *BundleStatus) DeepCopyInto(out *BundleStatus)

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

type BundleSummary

type BundleSummary struct {
	// NotReady is the number of bundle deployments that have been deployed
	// where some resources are not ready.
	NotReady int `json:"notReady,omitempty"`
	// WaitApplied is the number of bundle deployments that have been
	// synced from Fleet controller and downstream cluster, but are waiting
	// to be deployed.
	WaitApplied int `json:"waitApplied,omitempty"`
	// ErrApplied is the number of bundle deployments that have been synced
	// from the Fleet controller and the downstream cluster, but with some
	// errors when deploying the bundle.
	ErrApplied int `json:"errApplied,omitempty"`
	// OutOfSync is the number of bundle deployments that have been synced
	// from Fleet controller, but not yet by the downstream agent.
	OutOfSync int `json:"outOfSync,omitempty"`
	// Modified is the number of bundle deployments that have been deployed
	// and for which all resources are ready, but where some changes from the
	// Git repository have not yet been synced.
	Modified int `json:"modified,omitempty"`
	// Ready is the number of bundle deployments that have been deployed
	// where all resources are ready.
	// +optional
	Ready int `json:"ready"`
	// Pending is the number of bundle deployments that are being processed
	// by Fleet controller.
	Pending int `json:"pending,omitempty"`
	// DesiredReady is the number of bundle deployments that should be
	// ready.
	// +optional
	DesiredReady int `json:"desiredReady"`
	// NonReadyClusters is a list of states, which is filled for a bundle
	// that is not ready.
	// +nullable
	NonReadyResources []NonReadyResource `json:"nonReadyResources,omitempty"`
}

BundleSummary contains the number of bundle deployments in each state and a list of non-ready resources. It is used in the bundle, clustergroup, cluster and gitrepo status.

func (*BundleSummary) DeepCopy

func (in *BundleSummary) DeepCopy() *BundleSummary

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

func (*BundleSummary) DeepCopyInto

func (in *BundleSummary) DeepCopyInto(out *BundleSummary)

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

type BundleTarget

type BundleTarget struct {
	BundleDeploymentOptions `json:",inline"`
	// Name of target. This value is largely for display and logging. If
	// not specified a default name of the format "target000" will be used
	Name string `json:"name,omitempty"`
	// ClusterName to match a specific cluster by name that will be
	// selected
	// +nullable
	ClusterName string `json:"clusterName,omitempty"`
	// ClusterSelector is a selector to match clusters. The structure is
	// the standard metav1.LabelSelector format. If clusterGroupSelector or
	// clusterGroup is specified, clusterSelector will be used only to
	// further refine the selection after clusterGroupSelector and
	// clusterGroup is evaluated.
	// +nullable
	ClusterSelector *metav1.LabelSelector `json:"clusterSelector,omitempty"`
	// ClusterGroup to match a specific cluster group by name.
	// +nullable
	ClusterGroup string `json:"clusterGroup,omitempty"`
	// ClusterGroupSelector is a selector to match cluster groups.
	// +nullable
	ClusterGroupSelector *metav1.LabelSelector `json:"clusterGroupSelector,omitempty"`
	// DoNotDeploy if set to true, will not deploy to this target.
	DoNotDeploy bool `json:"doNotDeploy,omitempty"`
	// NamespaceLabels are labels that will be appended to the namespace created by Fleet.
	// +nullable
	NamespaceLabels map[string]string `json:"namespaceLabels,omitempty"`
	// NamespaceAnnotations are annotations that will be appended to the namespace created by Fleet.
	// +nullable
	NamespaceAnnotations map[string]string `json:"namespaceAnnotations,omitempty"`
}

BundleTarget declares clusters to deploy to. Fleet will merge the BundleDeploymentOptions from customizations into this struct.

func (*BundleTarget) DeepCopy

func (in *BundleTarget) DeepCopy() *BundleTarget

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

func (*BundleTarget) DeepCopyInto

func (in *BundleTarget) DeepCopyInto(out *BundleTarget)

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

type BundleTargetRestriction

type BundleTargetRestriction struct {
	// +nullable
	Name string `json:"name,omitempty"`
	// +nullable
	ClusterName string `json:"clusterName,omitempty"`
	// +nullable
	ClusterSelector *metav1.LabelSelector `json:"clusterSelector,omitempty"`
	// +nullable
	ClusterGroup string `json:"clusterGroup,omitempty"`
	// +nullable
	ClusterGroupSelector *metav1.LabelSelector `json:"clusterGroupSelector,omitempty"`
}

BundleTargetRestriction is used internally by Fleet and should not be modified. It acts as an allow list, to prevent the creation of BundleDeployments from Targets created by TargetCustomizations in fleet.yaml.

func (*BundleTargetRestriction) DeepCopy

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

func (*BundleTargetRestriction) DeepCopyInto

func (in *BundleTargetRestriction) DeepCopyInto(out *BundleTargetRestriction)

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

type Cluster

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

	Spec   ClusterSpec   `json:"spec,omitempty"`
	Status ClusterStatus `json:"status,omitempty"`
}

Cluster corresponds to a Kubernetes cluster. Fleet deploys bundles to targeted clusters. Clusters to which Fleet deploys manifests are referred to as downstream clusters. In the single cluster use case, the Fleet Kubernetes cluster is both the manager and downstream cluster at the same time.

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.

func (*Cluster) DeepCopyObject

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

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

type ClusterDisplay

type ClusterDisplay struct {
	// ReadyBundles is a string in the form "%d/%d", that describes the
	// number of bundles that are ready vs. the number of bundles desired
	// to be ready.
	ReadyBundles string `json:"readyBundles,omitempty"`
	// State of the cluster, either one of the bundle states, or "WaitCheckIn".
	// +nullable
	State string `json:"state,omitempty"`
}

func (*ClusterDisplay) DeepCopy

func (in *ClusterDisplay) DeepCopy() *ClusterDisplay

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

func (*ClusterDisplay) DeepCopyInto

func (in *ClusterDisplay) DeepCopyInto(out *ClusterDisplay)

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

type ClusterGroup

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

	// +optional
	Spec ClusterGroupSpec `json:"spec"`
	// +optional
	Status ClusterGroupStatus `json:"status"`
}

ClusterGroup is a re-usable selector to target a group of clusters.

func (*ClusterGroup) DeepCopy

func (in *ClusterGroup) DeepCopy() *ClusterGroup

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

func (*ClusterGroup) DeepCopyInto

func (in *ClusterGroup) DeepCopyInto(out *ClusterGroup)

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

func (*ClusterGroup) DeepCopyObject

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

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

type ClusterGroupDisplay

type ClusterGroupDisplay struct {
	// ReadyClusters is a string in the form "%d/%d", that describes the
	// number of clusters that are ready vs. the number of clusters desired
	// to be ready.
	// +nullable
	ReadyClusters string `json:"readyClusters,omitempty"`
	// ReadyBundles is a string in the form "%d/%d", that describes the
	// number of bundles that are ready vs. the number of bundles desired
	// to be ready.
	// +nullable
	ReadyBundles string `json:"readyBundles,omitempty"`
	// State is a summary state for the cluster group, showing "NotReady" if
	// there are non-ready resources.
	// +nullable
	State string `json:"state,omitempty"`
}

func (*ClusterGroupDisplay) DeepCopy

func (in *ClusterGroupDisplay) DeepCopy() *ClusterGroupDisplay

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

func (*ClusterGroupDisplay) DeepCopyInto

func (in *ClusterGroupDisplay) DeepCopyInto(out *ClusterGroupDisplay)

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

type ClusterGroupList

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

ClusterGroupList contains a list of ClusterGroup

func (*ClusterGroupList) DeepCopy

func (in *ClusterGroupList) DeepCopy() *ClusterGroupList

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

func (*ClusterGroupList) DeepCopyInto

func (in *ClusterGroupList) DeepCopyInto(out *ClusterGroupList)

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

func (*ClusterGroupList) DeepCopyObject

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

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

type ClusterGroupSpec

type ClusterGroupSpec struct {
	// Selector is a label selector, used to select clusters for this group.
	// +nullable
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
}

func (*ClusterGroupSpec) DeepCopy

func (in *ClusterGroupSpec) DeepCopy() *ClusterGroupSpec

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

func (*ClusterGroupSpec) DeepCopyInto

func (in *ClusterGroupSpec) DeepCopyInto(out *ClusterGroupSpec)

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

type ClusterGroupStatus

type ClusterGroupStatus struct {
	// ClusterCount is the number of clusters in the cluster group.
	// +optional
	ClusterCount int `json:"clusterCount"`
	// NonReadyClusterCount is the number of clusters that are not ready.
	// +optional
	NonReadyClusterCount int `json:"nonReadyClusterCount"`
	// NonReadyClusters is a list of cluster names that are not ready.
	// +nullable
	NonReadyClusters []string `json:"nonReadyClusters,omitempty"`
	// Conditions is a list of conditions and their statuses for the cluster group.
	Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`
	// Summary is a summary of the bundle deployments and their resources
	// in the cluster group.
	Summary BundleSummary `json:"summary,omitempty"`
	// Display contains the number of ready, desiredready clusters and a
	// summary state for the bundle's resources.
	Display ClusterGroupDisplay `json:"display,omitempty"`
	// ResourceCounts contains the number of resources in each state over
	// all bundles in the cluster group.
	ResourceCounts GitRepoResourceCounts `json:"resourceCounts,omitempty"`
}

func (*ClusterGroupStatus) DeepCopy

func (in *ClusterGroupStatus) DeepCopy() *ClusterGroupStatus

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

func (*ClusterGroupStatus) DeepCopyInto

func (in *ClusterGroupStatus) DeepCopyInto(out *ClusterGroupStatus)

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

type ClusterList

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

ClusterList contains a list of Cluster

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

type ClusterRegistration

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

	Spec   ClusterRegistrationSpec   `json:"spec,omitempty"`
	Status ClusterRegistrationStatus `json:"status,omitempty"`
}

ClusterRegistration is used internally by Fleet and should not be used directly.

func (*ClusterRegistration) DeepCopy

func (in *ClusterRegistration) DeepCopy() *ClusterRegistration

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

func (*ClusterRegistration) DeepCopyInto

func (in *ClusterRegistration) DeepCopyInto(out *ClusterRegistration)

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

func (*ClusterRegistration) DeepCopyObject

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

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

type ClusterRegistrationList

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

ClusterRegistrationList contains a list of ClusterRegistration

func (*ClusterRegistrationList) DeepCopy

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

func (*ClusterRegistrationList) DeepCopyInto

func (in *ClusterRegistrationList) DeepCopyInto(out *ClusterRegistrationList)

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

func (*ClusterRegistrationList) DeepCopyObject

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

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

type ClusterRegistrationSpec

type ClusterRegistrationSpec struct {
	// ClientID is a unique string that will identify the cluster. The
	// agent either uses the configured ID or the kubeSystem.UID.
	// +nullable
	ClientID string `json:"clientID,omitempty"`
	// ClientRandom is a random string that the agent generates. When
	// fleet-controller grants a registration, it creates a registration
	// secret with this string in the name.
	// +nullable
	ClientRandom string `json:"clientRandom,omitempty"`
	// ClusterLabels are copied to the cluster resource during the registration.
	// +nullable
	ClusterLabels map[string]string `json:"clusterLabels,omitempty"`
}

func (*ClusterRegistrationSpec) DeepCopy

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

func (*ClusterRegistrationSpec) DeepCopyInto

func (in *ClusterRegistrationSpec) DeepCopyInto(out *ClusterRegistrationSpec)

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

type ClusterRegistrationStatus

type ClusterRegistrationStatus struct {
	// ClusterName is only set after the registration is being processed by
	// fleet-controller.
	// +nullable
	ClusterName string `json:"clusterName,omitempty"`
	// Granted is set to true, if the request service account is present
	// and its token secret exists. This happens directly before creating
	// the registration secret, roles and rolebindings.
	Granted bool `json:"granted,omitempty"`
}

func (*ClusterRegistrationStatus) DeepCopy

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

func (*ClusterRegistrationStatus) DeepCopyInto

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

type ClusterRegistrationToken

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

	Spec   ClusterRegistrationTokenSpec   `json:"spec,omitempty"`
	Status ClusterRegistrationTokenStatus `json:"status,omitempty"`
}

ClusterRegistrationToken is used by agents to register a new cluster.

func (*ClusterRegistrationToken) DeepCopy

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

func (*ClusterRegistrationToken) DeepCopyInto

func (in *ClusterRegistrationToken) DeepCopyInto(out *ClusterRegistrationToken)

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

func (*ClusterRegistrationToken) DeepCopyObject

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

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

type ClusterRegistrationTokenList

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

ClusterRegistrationTokenList contains a list of ClusterRegistrationToken

func (*ClusterRegistrationTokenList) DeepCopy

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

func (*ClusterRegistrationTokenList) DeepCopyInto

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

func (*ClusterRegistrationTokenList) DeepCopyObject

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

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

type ClusterRegistrationTokenSpec

type ClusterRegistrationTokenSpec struct {
	// TTL is the time to live for the token. It is used to calculate the
	// expiration time. If the token expires, it will be deleted.
	// +nullable
	TTL *metav1.Duration `json:"ttl,omitempty"`
}

func (*ClusterRegistrationTokenSpec) DeepCopy

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

func (*ClusterRegistrationTokenSpec) DeepCopyInto

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

type ClusterRegistrationTokenStatus

type ClusterRegistrationTokenStatus struct {
	// Expires is the time when the token expires.
	Expires *metav1.Time `json:"expires,omitempty"`
	// SecretName is the name of the secret containing the token.
	// +nullable
	SecretName string `json:"secretName,omitempty"`
}

func (*ClusterRegistrationTokenStatus) DeepCopy

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

func (*ClusterRegistrationTokenStatus) DeepCopyInto

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

type ClusterSpec

type ClusterSpec struct {
	// Paused if set to true, will stop any BundleDeployments from being updated.
	Paused bool `json:"paused,omitempty"`

	// ClientID is a unique string that will identify the cluster. It can
	// either be predefined, or generated when importing the cluster.
	// +nullable
	ClientID string `json:"clientID,omitempty"`

	// KubeConfigSecret is the name of the secret containing the kubeconfig for the downstream cluster.
	// It can optionally contain a APIServerURL and CA to override the
	// values in the fleet-controller's configmap.
	// +nullable
	KubeConfigSecret string `json:"kubeConfigSecret,omitempty"`

	// KubeConfigSecretNamespace is the namespace of the secret containing the kubeconfig for the downstream cluster.
	// If unset, it will be assumed the secret can be found in the namespace that the Cluster object resides within.
	// +nullable
	KubeConfigSecretNamespace string `json:"kubeConfigSecretNamespace,omitempty"`

	// RedeployAgentGeneration can be used to force redeploying the agent.
	RedeployAgentGeneration int64 `json:"redeployAgentGeneration,omitempty"`

	// AgentEnvVars are extra environment variables to be added to the agent deployment.
	// +nullable
	AgentEnvVars []corev1.EnvVar `json:"agentEnvVars,omitempty"`

	// AgentNamespace defaults to the system namespace, e.g. cattle-fleet-system.
	// +nullable
	AgentNamespace string `json:"agentNamespace,omitempty"`

	// PrivateRepoURL prefixes the image name and overrides a global repo URL from the agents config.
	// +nullable
	PrivateRepoURL string `json:"privateRepoURL,omitempty"`

	// TemplateValues defines a cluster specific mapping of values to be sent to fleet.yaml values templating.
	// +nullable
	// +kubebuilder:validation:XPreserveUnknownFields
	TemplateValues *GenericMap `json:"templateValues,omitempty"`

	// AgentTolerations defines an extra set of Tolerations to be added to the Agent deployment.
	// +nullable
	AgentTolerations []corev1.Toleration `json:"agentTolerations,omitempty"`

	// AgentAffinity overrides the default affinity for the cluster's agent
	// deployment. If this value is nil the default affinity is used.
	// +nullable
	AgentAffinity *corev1.Affinity `json:"agentAffinity,omitempty"`

	// +nullable
	// AgentResources sets the resources for the cluster's agent deployment.
	AgentResources *corev1.ResourceRequirements `json:"agentResources,omitempty"`

	// +nullable
	// +optional
	// HostNetwork sets the agent StatefulSet to use hostNetwork: true setting.
	// Allows for provisioning of network related bundles (CNI configuration).
	HostNetwork *bool `json:"hostNetwork,omitempty"`
}

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

type ClusterStatus struct {
	Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`

	// Namespace is the cluster namespace, it contains the clusters service
	// account as well as any bundledeployments. Example:
	// "cluster-fleet-local-cluster-294db1acfa77-d9ccf852678f"
	Namespace string `json:"namespace,omitempty"`

	// Summary is a summary of the bundledeployments. The resource counts
	// are copied from the gitrepo resource.
	Summary BundleSummary `json:"summary,omitempty"`
	// ResourceCounts is an aggregate over the GitRepoResourceCounts.
	ResourceCounts GitRepoResourceCounts `json:"resourceCounts,omitempty"`
	// ReadyGitRepos is the number of gitrepos for this cluster that are ready.
	// +optional
	ReadyGitRepos int `json:"readyGitRepos"`
	// DesiredReadyGitRepos is the number of gitrepos for this cluster that
	// are desired to be ready.
	// +optional
	DesiredReadyGitRepos int `json:"desiredReadyGitRepos"`

	// AgentEnvVarsHash is a hash of the agent's env vars, used to detect changes.
	// +nullable
	AgentEnvVarsHash string `json:"agentEnvVarsHash,omitempty"`
	// AgentPrivateRepoURL is the private repo URL for the agent that is currently used.
	// +nullable
	AgentPrivateRepoURL string `json:"agentPrivateRepoURL,omitempty"`
	// AgentHostNetwork defines observed state of spec.hostNetwork setting that is currently used.
	// +nullable
	AgentHostNetwork bool `json:"agentHostNetwork,omitempty"`
	// AgentDeployedGeneration is the generation of the agent that is currently deployed.
	// +nullable
	AgentDeployedGeneration *int64 `json:"agentDeployedGeneration,omitempty"`
	// AgentMigrated is always set to true after importing a cluster. If
	// false, it will trigger a migration. Old agents don't have
	// this in their status.
	AgentMigrated bool `json:"agentMigrated,omitempty"`
	// AgentNamespaceMigrated is always set to true after importing a
	// cluster. If false, it will trigger a migration. Old Fleet agents
	// don't have this in their status.
	AgentNamespaceMigrated bool `json:"agentNamespaceMigrated,omitempty"`
	// CattleNamespaceMigrated is always set to true after importing a
	// cluster. If false, it will trigger a migration. Old Fleet agents,
	// don't have this in their status.
	CattleNamespaceMigrated bool `json:"cattleNamespaceMigrated,omitempty"`

	// AgentAffinityHash is a hash of the agent's affinity configuration,
	// used to detect changes.
	AgentAffinityHash string `json:"agentAffinityHash,omitempty"`
	// AgentResourcesHash is a hash of the agent's resources configuration,
	// used to detect changes.
	// +nullable
	AgentResourcesHash string `json:"agentResourcesHash,omitempty"`
	// AgentTolerationsHash is a hash of the agent's tolerations
	// configuration, used to detect changes.
	// +nullable
	AgentTolerationsHash string `json:"agentTolerationsHash,omitempty"`
	// AgentConfigChanged is set to true if any of the agent configuration
	// changed, like the API server URL or CA. Setting it to true will
	// trigger a re-import of the cluster.
	AgentConfigChanged bool `json:"agentConfigChanged,omitempty"`

	// APIServerURL is the currently used URL of the API server that the
	// cluster uses to connect to upstream.
	// +nullable
	APIServerURL string `json:"apiServerURL,omitempty"`
	// APIServerCAHash is a hash of the upstream API server CA, used to detect changes.
	// +nullable
	APIServerCAHash string `json:"apiServerCAHash,omitempty"`

	// AgentTLSMode supports two values: `system-store` and `strict`. If set to
	// `system-store`, instructs the agent to trust CA bundles from the operating
	// system's store. If set to `strict`, then the agent shall only connect to a
	// server which uses the exact CA configured when creating/updating the agent.
	// +nullable
	AgentTLSMode string `json:"agentTLSMode,omitempty"`

	// Display contains the number of ready bundles, nodes and a summary state.
	Display ClusterDisplay `json:"display,omitempty"`
	// AgentStatus contains information about the agent.
	Agent AgentStatus `json:"agent,omitempty"`

	// GarbageCollectionInterval determines how often agents clean up obsolete Helm releases.
	GarbageCollectionInterval *metav1.Duration `json:"garbageCollectionInterval,omitempty"`
}

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type CommitSpec

type CommitSpec struct {
	// AuthorName gives the name to provide when making a commit
	// +optional
	AuthorName string `json:"authorName"`
	// AuthorEmail gives the email to provide when making a commit
	// +optional
	AuthorEmail string `json:"authorEmail"`
	// MessageTemplate provides a template for the commit message,
	// into which will be interpolated the details of the change made.
	// +optional
	MessageTemplate string `json:"messageTemplate,omitempty"`
}

CommitSpec specifies how to commit changes to the git repository

func (*CommitSpec) DeepCopy

func (in *CommitSpec) DeepCopy() *CommitSpec

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

func (*CommitSpec) DeepCopyInto

func (in *CommitSpec) DeepCopyInto(out *CommitSpec)

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

type ComparePatch

type ComparePatch struct {
	// Kind is the kind of the resource to match.
	// +nullable
	Kind string `json:"kind,omitempty"`
	// APIVersion is the apiVersion of the resource to match.
	// +nullable
	APIVersion string `json:"apiVersion,omitempty"`
	// Namespace is the namespace of the resource to match.
	// +nullable
	Namespace string `json:"namespace,omitempty"`
	// Name is the name of the resource to match.
	// +nullable
	Name string `json:"name,omitempty"`
	// Operations remove a JSON path from the resource.
	// +nullable
	Operations []Operation `json:"operations,omitempty"`
	// JSONPointers ignore diffs at a certain JSON path.
	// +nullable
	JsonPointers []string `json:"jsonPointers,omitempty"`
}

ComparePatch matches a resource and removes fields from the check for modifications.

func (*ComparePatch) DeepCopy

func (in *ComparePatch) DeepCopy() *ComparePatch

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

func (*ComparePatch) DeepCopyInto

func (in *ComparePatch) DeepCopyInto(out *ComparePatch)

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

type ConfigMapKeySelector

type ConfigMapKeySelector struct {
	LocalObjectReference `json:",inline"`
	// +optional
	// +nullable
	Namespace string `json:"namespace,omitempty"`
	// +optional
	// +nullable
	Key string `json:"key,omitempty"`
}

func (*ConfigMapKeySelector) DeepCopy

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

func (*ConfigMapKeySelector) DeepCopyInto

func (in *ConfigMapKeySelector) DeepCopyInto(out *ConfigMapKeySelector)

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

type Content

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

	// Content is a byte array, which contains the manifests of a bundle.
	// The bundle resources are copied into the bundledeployment's content
	// resource, so the downstream agent can deploy them.
	// +nullable
	Content []byte `json:"content,omitempty"`

	// SHA256Sum of the Content field
	SHA256Sum string `json:"sha256sum,omitempty"`
}

Content is used internally by Fleet and should not be used directly. It contains the resources from a bundle for a specific target cluster.

func (*Content) DeepCopy

func (in *Content) DeepCopy() *Content

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

func (*Content) DeepCopyInto

func (in *Content) DeepCopyInto(out *Content)

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

func (*Content) DeepCopyObject

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

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

type ContentList

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

ContentList contains a list of Content

func (*ContentList) DeepCopy

func (in *ContentList) DeepCopy() *ContentList

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

func (*ContentList) DeepCopyInto

func (in *ContentList) DeepCopyInto(out *ContentList)

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

func (*ContentList) DeepCopyObject

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

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

type CorrectDrift

type CorrectDrift struct {
	// Enabled correct drift if true.
	Enabled bool `json:"enabled,omitempty"`
	// Force helm rollback with --force option will be used if true. This will try to recreate all resources in the release.
	Force bool `json:"force,omitempty"`
	// KeepFailHistory keeps track of failed rollbacks in the helm history.
	KeepFailHistory bool `json:"keepFailHistory,omitempty"`
}

func (*CorrectDrift) DeepCopy

func (in *CorrectDrift) DeepCopy() *CorrectDrift

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

func (*CorrectDrift) DeepCopyInto

func (in *CorrectDrift) DeepCopyInto(out *CorrectDrift)

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

type DiffOptions

type DiffOptions struct {
	// ComparePatches match a resource and remove fields from the check for modifications.
	// +nullable
	ComparePatches []ComparePatch `json:"comparePatches,omitempty"`
}

func (*DiffOptions) DeepCopy

func (in *DiffOptions) DeepCopy() *DiffOptions

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

func (*DiffOptions) DeepCopyInto

func (in *DiffOptions) DeepCopyInto(out *DiffOptions)

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

type FleetYAML added in v0.9.4

type FleetYAML struct {
	// Name of the bundle which will be created.
	Name string `json:"name,omitempty"`
	// Labels are copied to the bundle and can be used in a
	// dependsOn.selector.
	Labels map[string]string `json:"labels,omitempty"`
	BundleSpec
	// TargetCustomizations are used to determine how resources should be
	// modified per target. Targets are evaluated in order and the first
	// one to match a cluster is used for that cluster.
	TargetCustomizations []BundleTarget `json:"targetCustomizations,omitempty"`
	// ImageScans are optional and used to update container image
	// references in the git repo.
	ImageScans []ImageScanYAML `json:"imageScans,omitempty"`
	// OverrideTargets overrides targets that are defined in the GitRepo
	// resource. If overrideTargets is provided the bundle will not inherit
	// targets from the GitRepo.
	OverrideTargets []GitTarget `json:"overrideTargets,omitempty"`
}

FleetYAML is the top-level structure of the fleet.yaml file. The fleet.yaml file adds options to a bundle. Any directory with a fleet.yaml is automatically turned into a bundle.

func (*FleetYAML) DeepCopy added in v0.9.4

func (in *FleetYAML) DeepCopy() *FleetYAML

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

func (*FleetYAML) DeepCopyInto added in v0.9.4

func (in *FleetYAML) DeepCopyInto(out *FleetYAML)

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

type GenericMap

type GenericMap struct {
	Data map[string]interface{} `json:"-"`
}

func (*GenericMap) DeepCopy

func (in *GenericMap) DeepCopy() *GenericMap

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

func (*GenericMap) DeepCopyInto

func (in *GenericMap) DeepCopyInto(out *GenericMap)

func (GenericMap) MarshalJSON

func (in GenericMap) MarshalJSON() ([]byte, error)

func (*GenericMap) UnmarshalJSON

func (in *GenericMap) UnmarshalJSON(data []byte) error

type GitRepo

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

	Spec   GitRepoSpec   `json:"spec,omitempty"`
	Status GitRepoStatus `json:"status,omitempty"`
}

GitRepo describes a git repository that is watched by Fleet. The resource contains the necessary information to deploy the repo, or parts of it, to target clusters.

func (*GitRepo) DeepCopy

func (in *GitRepo) DeepCopy() *GitRepo

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

func (*GitRepo) DeepCopyInto

func (in *GitRepo) DeepCopyInto(out *GitRepo)

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

func (*GitRepo) DeepCopyObject

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

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

type GitRepoDisplay

type GitRepoDisplay struct {
	// ReadyBundleDeployments is a string in the form "%d/%d", that describes the
	// number of ready bundledeployments over the total number of bundledeployments.
	ReadyBundleDeployments string `json:"readyBundleDeployments,omitempty"`
	// State is the state of the GitRepo, e.g. "GitUpdating" or the maximal
	// BundleState according to StateRank.
	State string `json:"state,omitempty"`
	// Message contains the relevant message from the deployment conditions.
	Message string `json:"message,omitempty"`
	// Error is true if a message is present.
	Error bool `json:"error,omitempty"`
}

func (*GitRepoDisplay) DeepCopy

func (in *GitRepoDisplay) DeepCopy() *GitRepoDisplay

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

func (*GitRepoDisplay) DeepCopyInto

func (in *GitRepoDisplay) DeepCopyInto(out *GitRepoDisplay)

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

type GitRepoList

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

GitRepoList contains a list of GitRepo

func (*GitRepoList) DeepCopy

func (in *GitRepoList) DeepCopy() *GitRepoList

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

func (*GitRepoList) DeepCopyInto

func (in *GitRepoList) DeepCopyInto(out *GitRepoList)

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

func (*GitRepoList) DeepCopyObject

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

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

type GitRepoResource

type GitRepoResource struct {
	// APIVersion is the API version of the resource.
	// +nullable
	APIVersion string `json:"apiVersion,omitempty"`
	// Kind is the k8s kind of the resource.
	// +nullable
	Kind string `json:"kind,omitempty"`
	// Type is the type of the resource, e.g. "apiextensions.k8s.io.customresourcedefinition" or "configmap".
	Type string `json:"type,omitempty"`
	// ID is the name of the resource, e.g. "namespace1/my-config" or "backingimagemanagers.storage.io".
	// +nullable
	ID string `json:"id,omitempty"`
	// Namespace of the resource.
	// +nullable
	Namespace string `json:"namespace,omitempty"`
	// Name of the resource.
	// +nullable
	Name string `json:"name,omitempty"`
	// IncompleteState is true if a bundle summary has 10 or more non-ready
	// resources or a non-ready resource has more 10 or more non-ready or
	// modified states.
	IncompleteState bool `json:"incompleteState,omitempty"`
	// State is the state of the resource, e.g. "Unknown", "WaitApplied", "ErrApplied" or "Ready".
	State string `json:"state,omitempty"`
	// Error is true if any Error in the PerClusterState is true.
	Error bool `json:"error,omitempty"`
	// Transitioning is true if any Transitioning in the PerClusterState is true.
	Transitioning bool `json:"transitioning,omitempty"`
	// Message is the first message from the PerClusterStates.
	// +nullable
	Message string `json:"message,omitempty"`
	// PerClusterState is a list of states for each cluster. Derived from the summaries non-ready resources.
	// +nullable
	PerClusterState []ResourcePerClusterState `json:"perClusterState,omitempty"`
}

GitRepoResource contains metadata about the resources of a bundle.

func (*GitRepoResource) DeepCopy

func (in *GitRepoResource) DeepCopy() *GitRepoResource

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

func (*GitRepoResource) DeepCopyInto

func (in *GitRepoResource) DeepCopyInto(out *GitRepoResource)

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

type GitRepoResourceCounts

type GitRepoResourceCounts struct {
	// Ready is the number of ready resources.
	// +optional
	Ready int `json:"ready"`
	// DesiredReady is the number of resources that should be ready.
	// +optional
	DesiredReady int `json:"desiredReady"`
	// WaitApplied is the number of resources that are waiting to be applied.
	// +optional
	WaitApplied int `json:"waitApplied"`
	// Modified is the number of resources that have been modified.
	// +optional
	Modified int `json:"modified"`
	// Orphaned is the number of orphaned resources.
	// +optional
	Orphaned int `json:"orphaned"`
	// Missing is the number of missing resources.
	// +optional
	Missing int `json:"missing"`
	// Unknown is the number of resources in an unknown state.
	// +optional
	Unknown int `json:"unknown"`
	// NotReady is the number of not ready resources. Resources are not
	// ready if they do not match any other state.
	// +optional
	NotReady int `json:"notReady"`
}

GitRepoResourceCounts contains the number of resources in each state.

func (*GitRepoResourceCounts) DeepCopy

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

func (*GitRepoResourceCounts) DeepCopyInto

func (in *GitRepoResourceCounts) DeepCopyInto(out *GitRepoResourceCounts)

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

type GitRepoRestriction

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

	// DefaultServiceAccount overrides the GitRepo's default service account.
	// +nullable
	DefaultServiceAccount string `json:"defaultServiceAccount,omitempty"`
	// AllowedServiceAccounts is a list of service accounts that GitRepos are allowed to use.
	// +nullable
	AllowedServiceAccounts []string `json:"allowedServiceAccounts,omitempty"`
	// AllowedRepoPatterns is a list of regex patterns that restrict the
	// valid values of the Repo field of a GitRepo.
	// +nullable
	AllowedRepoPatterns []string `json:"allowedRepoPatterns,omitempty"`

	// DefaultClientSecretName overrides the GitRepo's default client secret.
	// +nullable
	DefaultClientSecretName string `json:"defaultClientSecretName,omitempty"`
	// AllowedClientSecretNames is a list of client secret names that GitRepos are allowed to use.
	// +nullable
	AllowedClientSecretNames []string `json:"allowedClientSecretNames,omitempty"`

	// AllowedTargetNamespaces restricts TargetNamespace to the given
	// namespaces. If AllowedTargetNamespaces is set, TargetNamespace must
	// be set.
	// +nullable
	AllowedTargetNamespaces []string `json:"allowedTargetNamespaces,omitempty"`
}

GitRepoRestriction is a resource that can optionally be used to restrict the options of GitRepos in the same namespace.

func (*GitRepoRestriction) DeepCopy

func (in *GitRepoRestriction) DeepCopy() *GitRepoRestriction

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

func (*GitRepoRestriction) DeepCopyInto

func (in *GitRepoRestriction) DeepCopyInto(out *GitRepoRestriction)

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

func (*GitRepoRestriction) DeepCopyObject

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

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

type GitRepoRestrictionList

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

GitRepoRestrictionList contains a list of GitRepoRestriction

func (*GitRepoRestrictionList) DeepCopy

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

func (*GitRepoRestrictionList) DeepCopyInto

func (in *GitRepoRestrictionList) DeepCopyInto(out *GitRepoRestrictionList)

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

func (*GitRepoRestrictionList) DeepCopyObject

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

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

type GitRepoSpec

type GitRepoSpec struct {
	// Repo is a URL to a git repo to clone and index.
	// +nullable
	Repo string `json:"repo,omitempty"`

	// Branch The git branch to follow.
	// +nullable
	Branch string `json:"branch,omitempty"`

	// Revision A specific commit or tag to operate on.
	// +nullable
	Revision string `json:"revision,omitempty"`

	// Ensure that all resources are created in this namespace
	// Any cluster scoped resource will be rejected if this is set
	// Additionally this namespace will be created on demand.
	// +nullable
	TargetNamespace string `json:"targetNamespace,omitempty"`

	// ClientSecretName is the name of the client secret to be used to connect to the repo
	// It is expected the secret be of type "kubernetes.io/basic-auth" or "kubernetes.io/ssh-auth".
	// +nullable
	ClientSecretName string `json:"clientSecretName,omitempty"`

	// HelmSecretName contains the auth secret for a private Helm repository.
	// +nullable
	HelmSecretName string `json:"helmSecretName,omitempty"`

	// HelmSecretNameForPaths contains the auth secret for private Helm repository for each path.
	// +nullable
	HelmSecretNameForPaths string `json:"helmSecretNameForPaths,omitempty"`

	// HelmRepoURLRegex Helm credentials will be used if the helm repo matches this regex
	// Credentials will always be used if this is empty or not provided.
	// +nullable
	HelmRepoURLRegex string `json:"helmRepoURLRegex,omitempty"`

	// CABundle is a PEM encoded CA bundle which will be used to validate the repo's certificate.
	// +nullable
	CABundle []byte `json:"caBundle,omitempty"`

	// InsecureSkipTLSverify will use insecure HTTPS to clone the repo.
	InsecureSkipTLSverify bool `json:"insecureSkipTLSVerify,omitempty"`

	// Paths is the directories relative to the git repo root that contain resources to be applied.
	// Path globbing is supported, for example ["charts/*"] will match all folders as a subdirectory of charts/
	// If empty, "/" is the default.
	// +nullable
	Paths []string `json:"paths,omitempty"`

	// Paused, when true, causes changes in Git not to be propagated down to the clusters but instead to mark
	// resources as OutOfSync.
	Paused bool `json:"paused,omitempty"`

	// ServiceAccount used in the downstream cluster for deployment.
	// +nullable
	ServiceAccount string `json:"serviceAccount,omitempty"`

	// Targets is a list of targets this repo will deploy to.
	Targets []GitTarget `json:"targets,omitempty"`

	// PollingInterval is how often to check git for new updates.
	// +nullable
	PollingInterval *metav1.Duration `json:"pollingInterval,omitempty"`

	// Increment this number to force a redeployment of contents from Git.
	ForceSyncGeneration int64 `json:"forceSyncGeneration,omitempty"`

	// ImageScanInterval is the interval of syncing scanned images and writing back to git repo.
	ImageSyncInterval *metav1.Duration `json:"imageScanInterval,omitempty"`

	// Commit specifies how to commit to the git repo when a new image is scanned and written back to git repo.
	ImageScanCommit CommitSpec `json:"imageScanCommit,omitempty"`

	// KeepResources specifies if the resources created must be kept after deleting the GitRepo.
	KeepResources bool `json:"keepResources,omitempty"`

	// DeleteNamespace specifies if the namespace created must be deleted after deleting the GitRepo.
	DeleteNamespace bool `json:"deleteNamespace,omitempty"`

	// CorrectDrift specifies how drift correction should work.
	CorrectDrift *CorrectDrift `json:"correctDrift,omitempty"`

	// Disables git polling. When enabled only webhooks will be used.
	DisablePolling bool `json:"disablePolling,omitempty"`

	// OCIRegistry specifies the OCI registry related parameters
	OCIRegistry *OCIRegistrySpec `json:"ociRegistry,omitempty"`
}

func (*GitRepoSpec) DeepCopy

func (in *GitRepoSpec) DeepCopy() *GitRepoSpec

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

func (*GitRepoSpec) DeepCopyInto

func (in *GitRepoSpec) DeepCopyInto(out *GitRepoSpec)

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

type GitRepoStatus

type GitRepoStatus struct {
	// ObservedGeneration is the current generation of the resource in the cluster. It is copied from k8s
	// metadata.Generation. The value is incremented for all changes, except for changes to .metadata or .status.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration"`
	// Update generation is the force update generation if spec.forceSyncGeneration is set
	UpdateGeneration int64 `json:"updateGeneration,omitempty"`
	// Commit is the Git commit hash from the last git job run.
	// +optional
	Commit string `json:"commit,omitempty"`
	// WebhookCommit is the latest Git commit hash received from a webhook
	// +optional
	WebhookCommit string `json:"webhookCommit,omitempty"`
	// ReadyClusters is the lowest number of clusters that are ready over
	// all the bundles of this GitRepo.
	// +optional
	ReadyClusters int `json:"readyClusters"`
	// DesiredReadyClusters	is the number of clusters that should be ready for bundles of this GitRepo.
	// +optional
	DesiredReadyClusters int `json:"desiredReadyClusters"`
	// GitJobStatus is the status of the last Git job run, e.g. "Current" if there was no error.
	GitJobStatus string `json:"gitJobStatus,omitempty"`
	// Summary contains the number of bundle deployments in each state and a list of non-ready resources.
	Summary BundleSummary `json:"summary,omitempty"`
	// Display contains a human readable summary of the status.
	Display GitRepoDisplay `json:"display,omitempty"`
	// Conditions is a list of Wrangler conditions that describe the state
	// of the GitRepo.
	Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`
	// Resources contains metadata about the resources of each bundle.
	Resources []GitRepoResource `json:"resources,omitempty"`
	// ResourceCounts contains the number of resources in each state over all bundles.
	ResourceCounts GitRepoResourceCounts `json:"resourceCounts,omitempty"`
	// ResourceErrors is a sorted list of errors from the resources.
	ResourceErrors []string `json:"resourceErrors,omitempty"`
	// LastSyncedImageScanTime is the time of the last image scan.
	LastSyncedImageScanTime metav1.Time `json:"lastSyncedImageScanTime,omitempty"`
	// LastPollingTime is the last time the polling check was triggered
	LastPollingTime metav1.Time `json:"lastPollingTriggered,omitempty"`
}

func (*GitRepoStatus) DeepCopy

func (in *GitRepoStatus) DeepCopy() *GitRepoStatus

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

func (*GitRepoStatus) DeepCopyInto

func (in *GitRepoStatus) DeepCopyInto(out *GitRepoStatus)

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

type GitTarget

type GitTarget struct {
	// Name is the name of this target.
	// +nullable
	Name string `json:"name,omitempty"`
	// ClusterName is the name of a cluster.
	// +nullable
	ClusterName string `json:"clusterName,omitempty"`
	// ClusterSelector is a label selector to select clusters.
	// +nullable
	ClusterSelector *metav1.LabelSelector `json:"clusterSelector,omitempty"`
	// ClusterGroup is the name of a cluster group in the same namespace as the clusters.
	// +nullable
	ClusterGroup string `json:"clusterGroup,omitempty"`
	// ClusterGroupSelector is a label selector to select cluster groups.
	// +nullable
	ClusterGroupSelector *metav1.LabelSelector `json:"clusterGroupSelector,omitempty"`
}

GitTarget is a cluster or cluster group to deploy to.

func (*GitTarget) DeepCopy

func (in *GitTarget) DeepCopy() *GitTarget

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

func (*GitTarget) DeepCopyInto

func (in *GitTarget) DeepCopyInto(out *GitTarget)

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

type HelmOptions

type HelmOptions struct {
	// Chart can refer to any go-getter URL or OCI registry based helm
	// chart URL. The chart will be downloaded.
	// +nullable
	Chart string `json:"chart,omitempty"`

	// +nullable
	// Repo is the name of the HTTPS helm repo to download the chart from.
	Repo string `json:"repo,omitempty"`

	// ReleaseName sets a custom release name to deploy the chart as. If
	// not specified a release name will be generated by combining the
	// invoking GitRepo.name + GitRepo.path.
	// +nullable
	// +kubebuilder:validation:MaxLength=53
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	ReleaseName string `json:"releaseName,omitempty"`

	// +nullable
	// Version of the chart to download
	Version string `json:"version,omitempty"`

	// TimeoutSeconds is the time to wait for Helm operations.
	TimeoutSeconds int `json:"timeoutSeconds,omitempty"`

	// Values passed to Helm. It is possible to specify the keys and values
	// as go template strings.
	// +nullable
	// +kubebuilder:validation:XPreserveUnknownFields
	Values *GenericMap `json:"values,omitempty"`

	// +nullable
	// ValuesFrom loads the values from configmaps and secrets.
	ValuesFrom []ValuesFrom `json:"valuesFrom,omitempty"`

	// Force allows to override immutable resources. This could be dangerous.
	Force bool `json:"force,omitempty"`

	// TakeOwnership makes helm skip the check for its own annotations
	TakeOwnership bool `json:"takeOwnership,omitempty"`

	// MaxHistory limits the maximum number of revisions saved per release by Helm.
	MaxHistory int `json:"maxHistory,omitempty"`

	// ValuesFiles is a list of files to load values from.
	// +nullable
	ValuesFiles []string `json:"valuesFiles,omitempty"`

	// WaitForJobs if set and timeoutSeconds provided, will wait until all
	// Jobs have been completed before marking the GitRepo as ready. It
	// will wait for as long as timeoutSeconds
	WaitForJobs bool `json:"waitForJobs,omitempty"`

	// Atomic sets the --atomic flag when Helm is performing an upgrade
	Atomic bool `json:"atomic,omitempty"`

	// DisablePreProcess disables template processing in values
	DisablePreProcess bool `json:"disablePreProcess,omitempty"`

	// DisableDNS can be used to customize Helm's EnableDNS option, which Fleet sets to `true` by default.
	DisableDNS bool `json:"disableDNS,omitempty"`

	// SkipSchemaValidation allows skipping schema validation against the chart values
	SkipSchemaValidation bool `json:"skipSchemaValidation,omitempty"`

	// DisableDependencyUpdate allows skipping chart dependencies update
	DisableDependencyUpdate bool `json:"disableDependencyUpdate,omitempty"`
}

HelmOptions for the deployment. For Helm-based bundles, all options can be used, otherwise some options are ignored. For example ReleaseName works with all bundle types.

func (*HelmOptions) DeepCopy

func (in *HelmOptions) DeepCopy() *HelmOptions

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

func (*HelmOptions) DeepCopyInto

func (in *HelmOptions) DeepCopyInto(out *HelmOptions)

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

type IgnoreOptions

type IgnoreOptions struct {
	// Conditions is a list of conditions to be ignored when monitoring the Bundle.
	// +nullable
	Conditions []map[string]string `json:"conditions,omitempty"`
}

IgnoreOptions defines conditions to be ignored when monitoring the Bundle.

func (*IgnoreOptions) DeepCopy

func (in *IgnoreOptions) DeepCopy() *IgnoreOptions

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

func (*IgnoreOptions) DeepCopyInto

func (in *IgnoreOptions) DeepCopyInto(out *IgnoreOptions)

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

type ImagePolicyChoice

type ImagePolicyChoice struct {
	// SemVer gives a semantic version range to check against the tags
	// available.
	// +optional
	// +nullable
	SemVer *SemVerPolicy `json:"semver,omitempty"`
	// Alphabetical set of rules to use for alphabetical ordering of the tags.
	// +optional
	// +nullable
	Alphabetical *AlphabeticalPolicy `json:"alphabetical,omitempty"`
}

ImagePolicyChoice is a union of all the types of policy that can be supplied.

func (*ImagePolicyChoice) DeepCopy

func (in *ImagePolicyChoice) DeepCopy() *ImagePolicyChoice

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

func (*ImagePolicyChoice) DeepCopyInto

func (in *ImagePolicyChoice) DeepCopyInto(out *ImagePolicyChoice)

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

type ImageScan

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

	Spec   ImageScanSpec   `json:"spec,omitempty"`
	Status ImageScanStatus `json:"status,omitempty"`
}

func (*ImageScan) DeepCopy

func (in *ImageScan) DeepCopy() *ImageScan

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

func (*ImageScan) DeepCopyInto

func (in *ImageScan) DeepCopyInto(out *ImageScan)

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

func (*ImageScan) DeepCopyObject

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

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

type ImageScanList

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

ImageScanList contains a list of ImageScan

func (*ImageScanList) DeepCopy

func (in *ImageScanList) DeepCopy() *ImageScanList

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

func (*ImageScanList) DeepCopyInto

func (in *ImageScanList) DeepCopyInto(out *ImageScanList)

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

func (*ImageScanList) DeepCopyObject

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

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

type ImageScanSpec

type ImageScanSpec struct {
	// TagName is the tag ref that needs to be put in manifest to replace fields
	// +nullable
	TagName string `json:"tagName,omitempty"`

	// GitRepo reference name
	// +nullable
	GitRepoName string `json:"gitrepoName,omitempty"`

	// Image is the name of the image repository
	// +required
	// +nullable
	Image string `json:"image,omitempty"`

	// Interval is the length of time to wait between
	// scans of the image repository.
	// +nullable
	// +required
	Interval metav1.Duration `json:"interval,omitempty"`

	// SecretRef can be given the name of a secret containing
	// credentials to use for the image registry. The secret should be
	// created with `kubectl create secret docker-registry`, or the
	// equivalent.
	// +nullable
	SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`

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

	// Policy gives the particulars of the policy to be followed in
	// selecting the most recent image
	// +optional
	Policy ImagePolicyChoice `json:"policy"`
}

API is taken from https://github.com/fluxcd/image-reflector-controller

func (*ImageScanSpec) DeepCopy

func (in *ImageScanSpec) DeepCopy() *ImageScanSpec

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

func (*ImageScanSpec) DeepCopyInto

func (in *ImageScanSpec) DeepCopyInto(out *ImageScanSpec)

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

type ImageScanStatus

type ImageScanStatus struct {
	// +optional
	Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`

	// LastScanTime is the last time image was scanned
	LastScanTime metav1.Time `json:"lastScanTime,omitempty"`

	// LatestImage gives the first in the list of images scanned by
	// the image repository, when filtered and ordered according to
	// the policy.
	LatestImage string `json:"latestImage,omitempty"`

	// Latest tag is the latest tag filtered by the policy
	LatestTag string `json:"latestTag,omitempty"`

	// LatestDigest is the digest of latest tag
	LatestDigest string `json:"latestDigest,omitempty"`

	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// CanonicalName is the name of the image repository with all the
	// implied bits made explicit; e.g., `docker.io/library/alpine`
	// rather than `alpine`.
	// +optional
	CanonicalImageName string `json:"canonicalImageName,omitempty"`
}

func (*ImageScanStatus) DeepCopy

func (in *ImageScanStatus) DeepCopy() *ImageScanStatus

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

func (*ImageScanStatus) DeepCopyInto

func (in *ImageScanStatus) DeepCopyInto(out *ImageScanStatus)

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

type ImageScanYAML added in v0.9.4

type ImageScanYAML struct {
	// Name of the image scan. Unused.
	Name string `json:"name,omitempty"`
	ImageScanSpec
}

ImageScanYAML is a single entry in the ImageScan list from fleet.yaml.

func (*ImageScanYAML) DeepCopy added in v0.9.4

func (in *ImageScanYAML) DeepCopy() *ImageScanYAML

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

func (*ImageScanYAML) DeepCopyInto added in v0.9.4

func (in *ImageScanYAML) DeepCopyInto(out *ImageScanYAML)

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

type KustomizeOptions

type KustomizeOptions struct {
	// Dir points to a custom folder for kustomize resources. This folder must contain
	// a kustomization.yaml file.
	// +nullable
	Dir string `json:"dir,omitempty"`
}

KustomizeOptions for a deployment.

func (*KustomizeOptions) DeepCopy

func (in *KustomizeOptions) DeepCopy() *KustomizeOptions

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

func (*KustomizeOptions) DeepCopyInto

func (in *KustomizeOptions) DeepCopyInto(out *KustomizeOptions)

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

type LocalObjectReference

type LocalObjectReference struct {
	// Name of a resource in the same namespace as the referent.
	// +nullable
	// +optional
	Name string `json:"name"`
}

func (*LocalObjectReference) DeepCopy

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

func (*LocalObjectReference) DeepCopyInto

func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)

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

type ModifiedStatus

type ModifiedStatus struct {
	// +nullable
	Kind string `json:"kind,omitempty"`
	// +nullable
	APIVersion string `json:"apiVersion,omitempty"`
	// +nullable
	Namespace string `json:"namespace,omitempty"`
	// +nullable
	Name   string `json:"name,omitempty"`
	Create bool   `json:"missing,omitempty"`
	// Exist is true if the resource exists but is not owned by us. This can happen if a resource was adopted by another bundle whereas the first bundle still exists and due to that reports that it does not own it.
	Exist  bool `json:"exist,omitempty"`
	Delete bool `json:"delete,omitempty"`
	// +nullable
	Patch string `json:"patch,omitempty"`
}

ModifiedStatus is used to report the status of a resource that is modified. It indicates if the modification was a create, a delete or a patch.

func (*ModifiedStatus) DeepCopy

func (in *ModifiedStatus) DeepCopy() *ModifiedStatus

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

func (*ModifiedStatus) DeepCopyInto

func (in *ModifiedStatus) DeepCopyInto(out *ModifiedStatus)

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

func (ModifiedStatus) String

func (in ModifiedStatus) String() string

type NonReadyResource

type NonReadyResource struct {
	// Name is the name of the resource.
	// +nullable
	Name string `json:"name,omitempty"`
	// State is the state of the resource, like e.g. "NotReady" or "ErrApplied".
	// +nullable
	State BundleState `json:"bundleState,omitempty"`
	// Message contains information why the bundle is not ready.
	// +nullable
	Message string `json:"message,omitempty"`
	// ModifiedStatus lists the state for each modified resource.
	// +nullable
	ModifiedStatus []ModifiedStatus `json:"modifiedStatus,omitempty"`
	// NonReadyStatus lists the state for each non-ready resource.
	// +nullable
	NonReadyStatus []NonReadyStatus `json:"nonReadyStatus,omitempty"`
}

NonReadyResource contains information about a bundle that is not ready for a given state like "ErrApplied". It contains a list of non-ready or modified resources and their states.

func (*NonReadyResource) DeepCopy

func (in *NonReadyResource) DeepCopy() *NonReadyResource

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

func (*NonReadyResource) DeepCopyInto

func (in *NonReadyResource) DeepCopyInto(out *NonReadyResource)

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

type NonReadyStatus

type NonReadyStatus struct {
	// +nullable
	UID types.UID `json:"uid,omitempty"`
	// +nullable
	Kind string `json:"kind,omitempty"`
	// +nullable
	APIVersion string `json:"apiVersion,omitempty"`
	// +nullable
	Namespace string `json:"namespace,omitempty"`
	// +nullable
	Name    string          `json:"name,omitempty"`
	Summary summary.Summary `json:"summary,omitempty"`
}

NonReadyStatus is used to report the status of a resource that is not ready. It includes a summary.

func (*NonReadyStatus) DeepCopy

func (in *NonReadyStatus) DeepCopy() *NonReadyStatus

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

func (*NonReadyStatus) DeepCopyInto

func (in *NonReadyStatus) DeepCopyInto(out *NonReadyStatus)

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

func (NonReadyStatus) String

func (in NonReadyStatus) String() string

type OCIRegistrySpec added in v0.10.0

type OCIRegistrySpec struct {
	// Reference of the OCI Registry
	Reference string `json:"reference,omitempty"`

	// AuthSecretName contains the auth secret where the OCI regristry credentials are stored.
	// +nullable
	AuthSecretName string `json:"authSecretName,omitempty"`

	// BasicHTTP uses HTTP connections to the OCI registry when enabled.
	// +optional
	// +nullable
	BasicHTTP bool `json:"basicHTTP,omitempty"`

	// InsecureSkipTLS allows connections to OCI registry without certs when enabled.
	// +optional
	// +nullable
	InsecureSkipTLS bool `json:"insecureSkipTLS,omitempty"`
}

func (*OCIRegistrySpec) DeepCopy added in v0.10.0

func (in *OCIRegistrySpec) DeepCopy() *OCIRegistrySpec

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

func (*OCIRegistrySpec) DeepCopyInto added in v0.10.0

func (in *OCIRegistrySpec) DeepCopyInto(out *OCIRegistrySpec)

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

type Operation

type Operation struct {
	// Op is usually "remove"
	// +nullable
	Op string `json:"op,omitempty"`
	// Path is the JSON path to remove.
	// +nullable
	Path string `json:"path,omitempty"`
	// Value is usually empty.
	// +nullable
	Value string `json:"value,omitempty"`
}

Operation of a ComparePatch, usually "remove".

func (*Operation) DeepCopy

func (in *Operation) DeepCopy() *Operation

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

func (*Operation) DeepCopyInto

func (in *Operation) DeepCopyInto(out *Operation)

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

type Partition

type Partition struct {
	// A user-friendly name given to the partition used for Display (optional).
	// +nullable
	Name string `json:"name,omitempty"`
	// A number or percentage of clusters that can be unavailable in this
	// partition before this partition is treated as done.
	// default: 10%
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
	// ClusterName is the name of a cluster to include in this partition
	ClusterName string `json:"clusterName,omitempty"`
	// Selector matching cluster labels to include in this partition
	ClusterSelector *metav1.LabelSelector `json:"clusterSelector,omitempty"`
	// A cluster group name to include in this partition
	ClusterGroup string `json:"clusterGroup,omitempty"`
	// Selector matching cluster group labels to include in this partition
	// +nullable
	ClusterGroupSelector *metav1.LabelSelector `json:"clusterGroupSelector,omitempty"`
}

Partition defines a separate rollout strategy for a set of clusters.

func (*Partition) DeepCopy

func (in *Partition) DeepCopy() *Partition

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

func (*Partition) DeepCopyInto

func (in *Partition) DeepCopyInto(out *Partition)

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

type PartitionStatus

type PartitionStatus struct {
	// Name is the name of the partition.
	// +nullable
	Name string `json:"name,omitempty"`
	// Count is the number of clusters in the partition.
	Count int `json:"count,omitempty"`
	// MaxUnavailable is the maximum number of unavailable clusters in the partition.
	MaxUnavailable int `json:"maxUnavailable,omitempty"`
	// Unavailable is the number of unavailable clusters in the partition.
	Unavailable int `json:"unavailable,omitempty"`
	// Summary is a summary state for the partition, calculated over its non-ready resources.
	Summary BundleSummary `json:"summary,omitempty"`
}

PartitionStatus is the status of a single rollout partition.

func (*PartitionStatus) DeepCopy

func (in *PartitionStatus) DeepCopy() *PartitionStatus

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

func (*PartitionStatus) DeepCopyInto

func (in *PartitionStatus) DeepCopyInto(out *PartitionStatus)

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

type ResourceKey

type ResourceKey struct {
	// Kind is the k8s api kind of the resource.
	// +nullable
	Kind string `json:"kind,omitempty"`
	// APIVersion is the k8s api version of the resource.
	// +nullable
	APIVersion string `json:"apiVersion,omitempty"`
	// Namespace is the namespace of the resource.
	// +nullable
	Namespace string `json:"namespace,omitempty"`
	// Name is the name of the resource.
	// +nullable
	Name string `json:"name,omitempty"`
}

ResourceKey lists resources, which will likely be deployed.

func (*ResourceKey) DeepCopy

func (in *ResourceKey) DeepCopy() *ResourceKey

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

func (*ResourceKey) DeepCopyInto

func (in *ResourceKey) DeepCopyInto(out *ResourceKey)

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

type ResourcePerClusterState

type ResourcePerClusterState struct {
	// State is the state of the resource.
	// +nullable
	State string `json:"state,omitempty"`
	// Error is true if the resource is in an error state, copied from the bundle's summary for non-ready resources.
	Error bool `json:"error,omitempty"`
	// Transitioning is true if the resource is in a transitioning state,
	// copied from the bundle's summary for non-ready resources.
	Transitioning bool `json:"transitioning,omitempty"`
	// Message combines the messages from the bundle's summary. Messages are joined with the delimiter ';'.
	// +nullable
	Message string `json:"message,omitempty"`
	// Patch for modified resources.
	// +nullable
	// +kubebuilder:validation:XPreserveUnknownFields
	Patch *GenericMap `json:"patch,omitempty"`
	// ClusterID is the id of the cluster.
	// +nullable
	ClusterID string `json:"clusterId,omitempty"`
}

ResourcePerClusterState is generated for each non-ready resource of the bundles.

func (*ResourcePerClusterState) DeepCopy

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

func (*ResourcePerClusterState) DeepCopyInto

func (in *ResourcePerClusterState) DeepCopyInto(out *ResourcePerClusterState)

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

type RolloutStrategy

type RolloutStrategy struct {
	// A number or percentage of clusters that can be unavailable during an update
	// of a bundle. This follows the same basic approach as a deployment rollout
	// strategy. Once the number of clusters meets unavailable state update will be
	// paused. Default value is 100% which doesn't take effect on update.
	// default: 100%
	// +nullable
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
	// A number or percentage of cluster partitions that can be unavailable during
	// an update of a bundle.
	// default: 0
	// +nullable
	MaxUnavailablePartitions *intstr.IntOrString `json:"maxUnavailablePartitions,omitempty"`
	// A number or percentage of how to automatically partition clusters if no
	// specific partitioning strategy is configured.
	// default: 25%
	// +nullable
	AutoPartitionSize *intstr.IntOrString `json:"autoPartitionSize,omitempty"`
	// A list of definitions of partitions.  If any target clusters do not match
	// the configuration they are added to partitions at the end following the
	// autoPartitionSize.
	// +nullable
	Partitions []Partition `json:"partitions,omitempty"`
}

RolloverStrategy controls the rollout of the bundle across clusters.

func (*RolloutStrategy) DeepCopy

func (in *RolloutStrategy) DeepCopy() *RolloutStrategy

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

func (*RolloutStrategy) DeepCopyInto

func (in *RolloutStrategy) DeepCopyInto(out *RolloutStrategy)

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

type SecretKeySelector

type SecretKeySelector struct {
	LocalObjectReference `json:",inline"`
	// +optional
	// +nullable
	Namespace string `json:"namespace,omitempty"`
	// +optional
	// +nullable
	Key string `json:"key,omitempty"`
}

func (*SecretKeySelector) DeepCopy

func (in *SecretKeySelector) DeepCopy() *SecretKeySelector

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

func (*SecretKeySelector) DeepCopyInto

func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)

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

type SemVerPolicy

type SemVerPolicy struct {
	// Range gives a semver range for the image tag; the highest
	// version within the range that's a tag yields the latest image.
	// +optional
	// +nullable
	Range string `json:"range"`
}

SemVerPolicy specifies a semantic version policy.

func (*SemVerPolicy) DeepCopy

func (in *SemVerPolicy) DeepCopy() *SemVerPolicy

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

func (*SemVerPolicy) DeepCopyInto

func (in *SemVerPolicy) DeepCopyInto(out *SemVerPolicy)

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

type ValuesFrom

type ValuesFrom struct {
	// The reference to a config map with release values.
	// +optional
	// +nullable
	ConfigMapKeyRef *ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
	// The reference to a secret with release values.
	// +optional
	// +nullable
	SecretKeyRef *SecretKeySelector `json:"secretKeyRef,omitempty"`
}

Define helm values that can come from configmap, secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439

func (*ValuesFrom) DeepCopy

func (in *ValuesFrom) DeepCopy() *ValuesFrom

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

func (*ValuesFrom) DeepCopyInto

func (in *ValuesFrom) DeepCopyInto(out *ValuesFrom)

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

type YAMLOptions

type YAMLOptions struct {
	// Overlays is a list of names that maps to folders in "overlays/".
	// If you wish to customize the file ./subdir/resource.yaml then a file
	// ./overlays/myoverlay/subdir/resource.yaml will replace the base
	// file.
	// A file named ./overlays/myoverlay/subdir/resource_patch.yaml will patch the base file.
	// +nullable
	Overlays []string `json:"overlays,omitempty"`
}

YAMLOptions, if using raw YAML these are names that map to overlays/{name} files that will be used to replace or patch a resource.

func (*YAMLOptions) DeepCopy

func (in *YAMLOptions) DeepCopy() *YAMLOptions

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

func (*YAMLOptions) DeepCopyInto

func (in *YAMLOptions) DeepCopyInto(out *YAMLOptions)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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