v1alpha1

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the fleet v1alpha1 API group +kubebuilder:object:generate=true +groupName=fleet.kurator.dev +k8s:deepcopy-gen=package

Index

Constants

View Source
const ControlplaneAnnotation = "fleet.kurator.dev/controlplane"

ControlplaneAnnotation is the annotation that can be added to the fleet to indicate fleet manager to install control plane for the fleet. Current the supported value of the annotation is `karmada`.

View Source
const GroupName = "fleet.kurator.dev"

GroupName specifies the group name used to register the objects.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Depreciated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type BackupConfig added in v0.5.0

type BackupConfig struct {
	// Chart defines the helm chart configuration of the backup engine.
	// The default value is:
	//
	// “`yaml
	// chart:
	//   repository: https://vmware-tanzu.github.io/helm-charts
	//   name: velero
	//   version: 5.0.2
	// “`
	//
	// +optional
	Chart *ChartConfig `json:"chart,omitempty"`

	// Storage provides details on where the backup data should be stored.
	Storage BackupStorage `json:"storage"`

	// ExtraArgs provides the extra chart values for the backup engine chart.
	// For example, use the following configuration to change the image tag or pull policy:
	//
	// “`yaml
	// extraArgs:
	//   image:
	//     repository: velero/velero
	//     tag: v1.11.1
	//     pullPolicy: IfNotPresent
	// “`
	//
	// +optional
	ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"`
}

BackupConfig defines the configuration for backups.

func (*BackupConfig) DeepCopy added in v0.5.0

func (in *BackupConfig) DeepCopy() *BackupConfig

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

func (*BackupConfig) DeepCopyInto added in v0.5.0

func (in *BackupConfig) DeepCopyInto(out *BackupConfig)

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

type BackupStorage added in v0.5.0

type BackupStorage struct {
	// Location specifies where the backup data will be stored.
	Location BackupStorageLocation `json:"location"`

	// The structure of the secret varies depending on the object storage provider:
	//
	// - For AWS S3, Minio or Huawei Cloud, the secret should contain the following keys:
	//   - `access-key`: The access key for S3 authentication.
	//   - `secret-key`: The secret key for S3 authentication.
	//
	// - For GCP, the secret should be created according to the official GCP documentation.
	//   see https://github.com/vmware-tanzu/velero-plugin-for-gcp/blob/main/README.md
	//
	// - For Azure, the secret should be created according to the official Azure documentation.
	//   see https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure/blob/main/README.md
	//
	// +required
	SecretName string `json:"secretName"`
}

func (*BackupStorage) DeepCopy added in v0.5.0

func (in *BackupStorage) DeepCopy() *BackupStorage

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

func (*BackupStorage) DeepCopyInto added in v0.5.0

func (in *BackupStorage) DeepCopyInto(out *BackupStorage)

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

type BackupStorageLocation added in v0.5.0

type BackupStorageLocation struct {
	// Bucket specifies the storage bucket name.
	Bucket string `json:"bucket"`
	// Provider specifies the storage provider type (e.g., aws, huaweicloud, gcp, azure).
	Provider string `json:"provider"`
	// Endpoint provides the endpoint URL for the storage.
	Endpoint string `json:"endpoint"`
	// Region specifies the region of the storage.
	// +optional
	Region string `json:"region,omitempty"`
	// Config is a map for additional provider-specific configurations.
	//    #  region:
	//    #  s3ForcePathStyle:
	//    #  s3Url:
	//    #  kmsKeyId:
	//    #  resourceGroup:
	//    #  The ID of the subscription containing the storage account, if different from the cluster’s subscription. (Azure only)
	//    #  subscriptionId:
	//    #  storageAccount:
	//    #  publicUrl:
	//    #  Name of the GCP service account to use for this backup storage location. Specify the
	//    #  service account here if you want to use workload identity instead of providing the key file.(GCP only)
	//    #  serviceAccount:
	//    #  Option to skip certificate validation or not if insecureSkipTLSVerify is set to be true, the client side should set the
	//    #  flag. For Velero client Command like velero backup describe, velero backup logs needs to add the flag --insecure-skip-tls-verify
	//    #  insecureSkipTLSVerify:
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

func (*BackupStorageLocation) DeepCopy added in v0.5.0

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

func (*BackupStorageLocation) DeepCopyInto added in v0.5.0

func (in *BackupStorageLocation) DeepCopyInto(out *BackupStorageLocation)

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

type ChartConfig added in v0.4.0

type ChartConfig struct {
	// Repository defines the repository of chart.
	// Default value depends on the kind of the component.
	// +optional
	Repository string `json:"repository,omitempty"`
	// Name defines the name of the chart.
	// Default value depends on the kind of the component.
	// +optional
	Name string `json:"name,omitempty"`
	// Version defines the version of the chart.
	// Default value depends on the kind of the component.
	// +optional
	Version string `json:"version,omitempty"`
}

func (*ChartConfig) DeepCopy added in v0.4.0

func (in *ChartConfig) DeepCopy() *ChartConfig

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

func (*ChartConfig) DeepCopyInto added in v0.4.0

func (in *ChartConfig) DeepCopyInto(out *ChartConfig)

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

type Device added in v0.6.0

type Device struct {
	// +optional
	Name string `json:"name,omitempty"`

	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

Device represents a disk to use in the cluster

func (*Device) DeepCopy added in v0.6.0

func (in *Device) DeepCopy() *Device

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

func (*Device) DeepCopyInto added in v0.6.0

func (in *Device) DeepCopyInto(out *Device)

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

type DistributedStorage added in v0.5.0

type DistributedStorage struct {
	// The path on the host where config and data can be persisted.
	// If the storagecluster is deleted, please clean up the configuration files in this file path.
	// e.g. /var/lib/rook
	// +kubebuilder:validation:Pattern=`^/(\S+)`
	// +optional
	DataDirHostPath *string `json:"dataDirHostPath,omitempty"`

	// Monitor is the daemon that monitors the status of the ceph cluster.
	// Responsible for collecting cluster information, updating cluster information, and publishing cluster information.
	// Including monmap, osdmap, PGmap, mdsmap, etc.
	// A spec for mon related options
	// +optional
	// +nullable
	Monitor *MonSpec `json:"monitor,omitempty"`

	// Manager is the daemon runs alongside monitor daemon,to provide additional monitoring and interfaces to external monitoring and management systems.
	// A spec for mgr related options
	// +optional
	// +nullable
	Manager *MgrSpec `json:"manager,omitempty"`

	// A spec for available storage in the cluster and how it should be used
	// +optional
	// +nullable
	Storage *StorageScopeSpec `json:"storage,omitempty"`
}

func (*DistributedStorage) DeepCopy added in v0.5.0

func (in *DistributedStorage) DeepCopy() *DistributedStorage

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

func (*DistributedStorage) DeepCopyInto added in v0.5.0

func (in *DistributedStorage) DeepCopyInto(out *DistributedStorage)

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

type DistributedStorageConfig added in v0.5.0

type DistributedStorageConfig struct {
	// Chart defines the helm chart configuration of the distributed storage engine.
	// The default value is:
	//
	// “`yaml
	// chart:
	//   repository: https://charts.rook.io/release
	//   name: rook
	//   version: 1.11.11
	// “`
	//
	// +optional
	Chart *ChartConfig `json:"chart,omitempty"`

	//Storage provides detailed settings for unified distributed storage.
	Storage *DistributedStorage `json:"storage"`

	// ExtraArgs provides the extra chart values for rook chart.
	// For example, use the following configuration to change the pull policy:
	//
	// “`yaml
	// extraArgs:
	//   image:
	//     pullPolicy: Always
	// “`
	//
	// +optional
	ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"`
}

func (*DistributedStorageConfig) DeepCopy added in v0.5.0

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

func (*DistributedStorageConfig) DeepCopyInto added in v0.5.0

func (in *DistributedStorageConfig) DeepCopyInto(out *DistributedStorageConfig)

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

type Endpoints added in v0.4.0

type Endpoints []string

func (Endpoints) DeepCopy added in v0.4.0

func (in Endpoints) DeepCopy() Endpoints

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

func (Endpoints) DeepCopyInto added in v0.4.0

func (in Endpoints) DeepCopyInto(out *Endpoints)

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

type FlaggerConfig added in v0.6.0

type FlaggerConfig struct {
	// Chart defines the helm chart config of the flagger.
	// default value is
	//
	// “`yaml
	// chart:
	//   repository: oci://ghcr.io/fluxcd/charts
	//   name: flagger
	//   version: 1.x
	// “`
	//
	// +optional
	Chart *ChartConfig `json:"chart,omitempty"`
	// ExtraArgs is the set of extra arguments for flagger chart.
	// For Example, using following configuration to change replica count.
	//
	// “`yaml
	// extraArgs:
	//   flagger:
	//     replicaCount: 2
	// “`
	//
	// +optional
	ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"`
	// TrafficRoutingProvider defines traffic routing provider.
	// And Kurator will install flagger in trafficRoutingProvider's namespace
	// For example, If you use `istio` as a provider, flager will be installed in istio's namespace `istio-system`.
	// Other provider will be added later.
	// +optional
	TrafficRoutingProvider Provider `json:"trafficRoutingProvider,omitempty"`
	// PublicTestloader defines whether to install the publictestloader or not.
	// In addition to the public testloader you can configure here,
	// you can also specify a private testloader in the Application.Spec.SyncPolicies.Rollout.TestLoader
	PublicTestloader bool `json:"publicTestloader,omitempty"`
}

func (*FlaggerConfig) DeepCopy added in v0.6.0

func (in *FlaggerConfig) DeepCopy() *FlaggerConfig

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

func (*FlaggerConfig) DeepCopyInto added in v0.6.0

func (in *FlaggerConfig) DeepCopyInto(out *FlaggerConfig)

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

type Fleet

type Fleet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              FleetSpec   `json:"spec,omitempty"`
	Status            FleetStatus `json:"status,omitempty"`
}

Fleet represents a group of clusters, it is to consistently manage a group of clusters.

func (*Fleet) DeepCopy

func (in *Fleet) DeepCopy() *Fleet

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

func (*Fleet) DeepCopyInto

func (in *Fleet) DeepCopyInto(out *Fleet)

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

func (*Fleet) DeepCopyObject

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

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

type FleetList

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

FleetList contains a list of fleets. +kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*FleetList) DeepCopy

func (in *FleetList) DeepCopy() *FleetList

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

func (*FleetList) DeepCopyInto

func (in *FleetList) DeepCopyInto(out *FleetList)

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

func (*FleetList) DeepCopyObject

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

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

type FleetPhase added in v0.4.0

type FleetPhase string
const (
	// PendingPhase is the phase when the fleet is not processed.
	PendingPhase FleetPhase = "Pending"
	// RunningPhase is the phase when fleet control plane is being installed.
	RunningPhase FleetPhase = "Running"
	// FailedPhase is the phase when fleet control plane installation installed.
	FailedPhase FleetPhase = "Failed"
	// ReadyPhase is the phase when fleet control plane installation finished successfully.
	ReadyPhase FleetPhase = "Ready"
	// TerminatingPhase is the phase when fleet control plane is terminating.
	TerminatingPhase FleetPhase = "Terminating"
	// TerminateFailedPhase is the phase when fleet control plane terminate failed.
	TerminateFailedPhase FleetPhase = "TerminateFailed"
	// TerminateSucceededPhase is the phase when fleet control plane is terminated successfully.
	TerminateSucceededPhase FleetPhase = "TerminateSucceeded"
)

type FleetSpec

type FleetSpec struct {
	// Clusters represents the clusters that would be registered to the fleet.
	// +required
	Clusters []*corev1.ObjectReference `json:"clusters,omitempty"`

	// Plugin defines the plugins that would be installed in the fleet.
	// +optional
	Plugin *PluginConfig `json:"plugin,omitempty"`
}

FleetSpec defines the desired state of the fleet

func (*FleetSpec) DeepCopy

func (in *FleetSpec) DeepCopy() *FleetSpec

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

func (*FleetSpec) DeepCopyInto

func (in *FleetSpec) DeepCopyInto(out *FleetSpec)

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

type FleetStatus

type FleetStatus struct {
	// CredentialSecret is the secret name that holds credentials used for accessing the fleet control plane.
	CredentialSecret *string `json:"credentialSecret,omitempty"`

	// Phase represents the current phase of fleet.
	// E.g. Pending, Running, Terminating, Failed, Ready, etc.
	// +optional
	Phase FleetPhase `json:"phase,omitempty"`

	// A brief CamelCase message indicating details about why the fleet is in this state.
	// +optional
	Reason string `json:"reason,omitempty"`

	// PluginEndpoints is the endpoints of the plugins.
	PluginEndpoints map[string]Endpoints `json:"pluginEndpoints,omitempty"`

	// Total number of ready clusters, ready to deploy .
	ReadyClusters int32 `json:"readyClusters,omitempty"`

	// Total number of unready clusters, not ready for use.
	UnReadyClusters int32 `json:"unReadyClusters,omitempty"`
}

FleetStatus defines the observed state of the fleet

func (*FleetStatus) DeepCopy

func (in *FleetStatus) DeepCopy() *FleetStatus

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

func (*FleetStatus) DeepCopyInto

func (in *FleetStatus) DeepCopyInto(out *FleetStatus)

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

type GrafanaConfig added in v0.4.0

type GrafanaConfig struct {
	// Chart defines the helm chart config of the grafana.
	// default value is
	//
	// “`yaml
	// chart:
	//   repository: oci://registry-1.docker.io/bitnamicharts
	//   name: grafana
	//   version: 8.2.33
	// “`
	//
	// +optional
	Chart *ChartConfig `json:"chart,omitempty"`
	// ExtraArgs is the set of extra arguments for Grafana chart.
	// For Example, using following configuration to change replica count.
	//
	// “`yaml
	// extraArgs:
	//   grafana:
	//     replicaCount: 2
	// “`
	//
	// +optional
	ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"`
}

func (*GrafanaConfig) DeepCopy added in v0.4.0

func (in *GrafanaConfig) DeepCopy() *GrafanaConfig

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

func (*GrafanaConfig) DeepCopyInto added in v0.4.0

func (in *GrafanaConfig) DeepCopyInto(out *GrafanaConfig)

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

type KyvernoConfig added in v0.4.0

type KyvernoConfig struct {
	// Chart defines the helm chart config of the kyverno.
	// default value is
	//
	// “`yaml
	// chart:
	//   repository: https://kyverno.github.io/kyverno/
	//   name: kyverno
	//   version: 3.0.0
	// “`
	//
	// +optional
	Chart *ChartConfig `json:"chart,omitempty"`
	// PodSecurity defines the pod security configuration for the kyverno.
	// +optional
	PodSecurity *PodSecurityPolicy `json:"podSecurity,omitempty"`
	// ExtraArgs is the set of extra arguments for Grafana chart.
	// For Example, using following configuration to change image pull policy.
	//
	// “`yaml
	// extraArgs:
	//   image:
	//     pullPolicy: Always
	// “`
	//
	// +optional
	ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"`
}

func (*KyvernoConfig) DeepCopy added in v0.4.0

func (in *KyvernoConfig) DeepCopy() *KyvernoConfig

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

func (*KyvernoConfig) DeepCopyInto added in v0.4.0

func (in *KyvernoConfig) DeepCopyInto(out *KyvernoConfig)

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

type MetricConfig added in v0.4.0

type MetricConfig struct {
	// Thanos defines the configuration for the thanos querier and store gateway.
	Thanos ThanosConfig `json:"thanos,omitempty"`
	// Prometheus defines the configuration for the prometheus installation
	// in the clusters observed by the thanos,
	// by default thanos sidecar will be installed in thanos sidecar mode.
	Prometheus PrometheusConfig `json:"prometheus,omitempty"`
}

func (*MetricConfig) DeepCopy added in v0.4.0

func (in *MetricConfig) DeepCopy() *MetricConfig

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

func (*MetricConfig) DeepCopyInto added in v0.4.0

func (in *MetricConfig) DeepCopyInto(out *MetricConfig)

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

type MgrSpec added in v0.5.0

type MgrSpec struct {
	// Count is the number of manager to run
	// Default is two, one for use and one for standby.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=2
	// +optional
	Count *int `json:"count,omitempty"`

	// The annotation-related configuration to add/set on each Pod related object. Including Pod, Deployment.
	// +nullable
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// The label-related configuration to add/set on each Pod related object. Including Pod, Deployment.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations).
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Placement *Placement `json:"placement,omitempty"`
}

func (*MgrSpec) DeepCopy added in v0.5.0

func (in *MgrSpec) DeepCopy() *MgrSpec

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

func (*MgrSpec) DeepCopyInto added in v0.5.0

func (in *MgrSpec) DeepCopyInto(out *MgrSpec)

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

type MonSpec added in v0.5.0

type MonSpec struct {
	// Count is the number of Ceph monitors.
	// Default is three and preferably an odd number.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=9
	// +optional
	Count *int `json:"count,omitempty"`

	// The annotation-related configuration to add/set on each Pod related object. Including Pod, Deployment.
	// +nullable
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Similar to Annotation, but more graphical than Annotation.
	// The label-related configuration to add/set on each Pod related object. Including Pod, Deployment.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations).
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Placement *Placement `json:"placement,omitempty"`
}

func (*MonSpec) DeepCopy added in v0.5.0

func (in *MonSpec) DeepCopy() *MonSpec

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

func (*MonSpec) DeepCopyInto added in v0.5.0

func (in *MonSpec) DeepCopyInto(out *MonSpec)

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

type Node added in v0.5.0

type Node struct {
	// Name should match its kubernetes.io/hostname label
	// +optional
	Name string `json:"name,omitempty"`

	// Specify which storage drives the osd deployed in this node can manage.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	StorageDeviceSelection `json:",inline"`
}

Each individual node can specify configuration to override the cluster level settings and defaults. If a node does not specify any configuration then it will inherit the cluster level settings.

func (*Node) DeepCopy added in v0.5.0

func (in *Node) DeepCopy() *Node

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

func (*Node) DeepCopyInto added in v0.5.0

func (in *Node) DeepCopyInto(out *Node)

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

type ObjectStoreConfig added in v0.4.0

type ObjectStoreConfig struct {
	// SecretName is the name of the secret that holds the object store configuration.
	// The path of object store configuration must be `objstore.yml`
	// +required
	SecretName string `json:"secretName"`
}

func (*ObjectStoreConfig) DeepCopy added in v0.4.0

func (in *ObjectStoreConfig) DeepCopy() *ObjectStoreConfig

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

func (*ObjectStoreConfig) DeepCopyInto added in v0.4.0

func (in *ObjectStoreConfig) DeepCopyInto(out *ObjectStoreConfig)

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

type Placement added in v0.6.0

type Placement struct {
	// NodeAffinity is a group of node affinity scheduling rules
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty"`
	// PodAffinity is a group of inter pod affinity scheduling rules
	// +optional
	PodAffinity *corev1.PodAffinity `json:"podAffinity,omitempty"`
	// PodAntiAffinity is a group of inter pod anti affinity scheduling rules
	// +optional
	PodAntiAffinity *corev1.PodAntiAffinity `json:"podAntiAffinity,omitempty"`
	// The pod this Toleration is attached to tolerates any taint that matches
	// the triple <key,value,effect> using the matching operator <operator>
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// TopologySpreadConstraint specifies how to spread matching pods among the given topology
	// +optional
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}

Placement is the placement for an object

func (*Placement) DeepCopy added in v0.6.0

func (in *Placement) DeepCopy() *Placement

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

func (*Placement) DeepCopyInto added in v0.6.0

func (in *Placement) DeepCopyInto(out *Placement)

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

type PluginConfig added in v0.4.0

type PluginConfig struct {
	// Metric defines the configuration for the monitoring system installation and metrics collection..
	// +optional
	Metric *MetricConfig `json:"metric,omitempty"`
	// Grafana defines the configuration for the grafana installation and observation.
	// +optional
	Grafana *GrafanaConfig `json:"grafana,omitempty"`
	// Policy defines the configuration for the ploicy management.
	Policy *PolicyConfig `json:"policy,omitempty"`
	// Backup defines the configuration for the backup engine(Velero).
	Backup *BackupConfig `json:"backup,omitempty"`
	// DistributedStorage define the configuration for the distributed storage(Implemented with Rook)
	DistributedStorage *DistributedStorageConfig `json:"distributedStorage,omitempty"`
	// Flagger defines the configuretion for the kurator rollout engine.
	Flagger *FlaggerConfig `json:"flagger,omitempty"`
}

func (*PluginConfig) DeepCopy added in v0.4.0

func (in *PluginConfig) DeepCopy() *PluginConfig

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

func (*PluginConfig) DeepCopyInto added in v0.4.0

func (in *PluginConfig) DeepCopyInto(out *PluginConfig)

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

type PodSecurityPolicy added in v0.4.0

type PodSecurityPolicy struct {
	// Standard defines the pod security standard.
	// More details: https://kubernetes.io/docs/concepts/security/pod-security-standards
	// +kubebuilder:validation:Enum=privileged;baseline;restricted
	// +kubebuilder:default=baseline
	// +optional
	Standard string `json:"standard,omitempty"`
	// Severity indicates policy check result criticality in a policy report.
	// +kubebuilder:validation:Enum=low;medium;high
	// +kubebuilder:default=medium
	// +optional
	Severity string `json:"severity,omitempty"`
	// ValidationFailureAction indicates the action to take when a pod creation fails to validate.
	// For more info https://kyverno.io/docs/writing-policies/validate/#validation-failure-action
	// +kubebuilder:validation:Enum=Enforce;Audit
	// +kubebuilder:default=Audit
	// +optional
	ValidationFailureAction string `json:"validationFailureAction,omitempty"`
}

func (*PodSecurityPolicy) DeepCopy added in v0.4.0

func (in *PodSecurityPolicy) DeepCopy() *PodSecurityPolicy

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

func (*PodSecurityPolicy) DeepCopyInto added in v0.4.0

func (in *PodSecurityPolicy) DeepCopyInto(out *PodSecurityPolicy)

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

type PolicyConfig added in v0.4.0

type PolicyConfig struct {
	// Kyverno defines the configuration for the kyverno installation and policy management.
	// +optional
	Kyverno *KyvernoConfig `json:"kyverno,omitempty"`
}

func (*PolicyConfig) DeepCopy added in v0.4.0

func (in *PolicyConfig) DeepCopy() *PolicyConfig

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

func (*PolicyConfig) DeepCopyInto added in v0.4.0

func (in *PolicyConfig) DeepCopyInto(out *PolicyConfig)

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

type PrometheusConfig added in v0.4.0

type PrometheusConfig struct {
	// Chart defines the helm chart config of the prometheus.
	// default value is
	//
	// “`yaml
	// chart:
	//   repository: oci://registry-1.docker.io/bitnamicharts
	//   name: kube-prometheus
	//   version: 8.9.1
	// “`
	//
	// +optional
	Chart *ChartConfig `json:"chart,omitempty"`
	// NodeExporter defines the configuration for the node exporter.
	// +optional
	NodeExporter *PrometheusExporterConfig `json:"nodeExporter,omitempty"`
	// KubeStateMetrics defines the configuration for the kube-state-metrics.
	// +optional
	KubeStateMetrics *PrometheusExporterConfig `json:"kubeStateMetrics,omitempty"`
	// ExtraArgs is the set of extra arguments for Prometheus chart.
	// For Example, using following configuration to create a ServiceMonitor to monitor prometheus itself.
	//
	// “`yaml
	// extraArgs:
	//   prometheus:
	//     serviceMonitor:
	//       enabled: true
	// “`
	//
	// +optional
	ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"`
}

func (*PrometheusConfig) DeepCopy added in v0.4.0

func (in *PrometheusConfig) DeepCopy() *PrometheusConfig

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

func (*PrometheusConfig) DeepCopyInto added in v0.4.0

func (in *PrometheusConfig) DeepCopyInto(out *PrometheusConfig)

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

type PrometheusExporterConfig added in v0.4.0

type PrometheusExporterConfig struct {
	// Enabled indicates whether the exporters are enabled.
	Enabled bool `json:"enabled,omitempty"`
}

func (*PrometheusExporterConfig) DeepCopy added in v0.4.0

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

func (*PrometheusExporterConfig) DeepCopyInto added in v0.4.0

func (in *PrometheusExporterConfig) DeepCopyInto(out *PrometheusExporterConfig)

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

type Provider added in v0.6.0

type Provider string

Provider only can be istio now. TODO: add Linkerd, APP Mesh, NGINX, Kuma, Gateway, Gloo

const (
	Istio Provider = "istio"
)

type StorageDeviceSelection added in v0.5.0

type StorageDeviceSelection struct {
	// List of devices to use as storage devices
	// A list of individual device names belonging to this node to include in the storage cluster
	// e.g. `sda` or  `/dev/disk/by-id/ata-XXXX`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Devices []Device `json:"devices,omitempty"`
}

func (*StorageDeviceSelection) DeepCopy added in v0.5.0

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

func (*StorageDeviceSelection) DeepCopyInto added in v0.5.0

func (in *StorageDeviceSelection) DeepCopyInto(out *StorageDeviceSelection)

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

type StorageScopeSpec added in v0.5.0

type StorageScopeSpec struct {
	// +nullable
	// +optional
	Nodes []Node `json:"nodes,omitempty"`

	// indicating if all nodes in the cluster should be used for storage according to the cluster level storage selection and configuration values.
	// If individual nodes are specified under the nodes field, then useAllNodes must be set to false.
	// +optional
	UseAllNodes bool `json:"useAllNodes,omitempty"`

	// Select device information used by osd. For more information see the design of the selection below.
	StorageDeviceSelection `json:",inline"`
}

func (*StorageScopeSpec) DeepCopy added in v0.5.0

func (in *StorageScopeSpec) DeepCopy() *StorageScopeSpec

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

func (*StorageScopeSpec) DeepCopyInto added in v0.5.0

func (in *StorageScopeSpec) DeepCopyInto(out *StorageScopeSpec)

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

type ThanosConfig added in v0.4.0

type ThanosConfig struct {
	// Chart defines the helm chart config of the thanos.
	// default value is
	//
	// “`yaml
	// chart:
	//   repository: oci://registry-1.docker.io/bitnamicharts
	//   name: thanos
	//   version: 12.5.1
	// “`
	//
	// +optional
	Chart *ChartConfig `json:"chart,omitempty"`
	// ObjectStoreConfig is the secret reference of the object store.
	// Configuration must follow the definition of the thanos: https://thanos.io/tip/thanos/storage.md/.
	// +required
	ObjectStoreConfig ObjectStoreConfig `json:"objectStoreConfig"`
	// ExtraArgs is the set of extra arguments for Thanos chart.
	// For Example, using following configuration to enable query frontend.
	//
	// “`yaml
	// extraArgs:
	//   queryFrontend:
	//     enabled: true
	// “`
	// +optional
	ExtraArgs apiextensionsv1.JSON `json:"extraArgs,omitempty"`
}

func (*ThanosConfig) DeepCopy added in v0.4.0

func (in *ThanosConfig) DeepCopy() *ThanosConfig

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

func (*ThanosConfig) DeepCopyInto added in v0.4.0

func (in *ThanosConfig) DeepCopyInto(out *ThanosConfig)

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

Jump to

Keyboard shortcuts

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