v1

package
v0.0.0-...-d31d809 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the operator v1 API group +kubebuilder:object:generate=true +groupName=operator.open-cluster-management.io

Index

Constants

View Source
const (
	Appsub                    string = "app-lifecycle"
	ClusterBackup             string = "cluster-backup"
	ClusterLifecycle          string = "cluster-lifecycle"
	ClusterPermission         string = "cluster-permission"
	Console                   string = "console"
	GRC                       string = "grc"
	Insights                  string = "insights"
	ManagementIngress         string = "management-ingress"
	MultiClusterEngine        string = "multicluster-engine"
	MultiClusterObservability string = "multicluster-observability"
	Repo                      string = "multiclusterhub-repo"
	Search                    string = "search"
	SiteConfig                string = "siteconfig"
	SubmarinerAddon           string = "submariner-addon"
	Volsync                   string = "volsync"
)

Component related to MultiClusterHub (MCH)

View Source
const (
	MCEAssistedService                  string = "assisted-service"
	MCEClusterLifecycle                 string = "cluster-lifecycle-mce"
	MCEClusterManager                   string = "cluster-manager"
	MCEClusterProxyAddon                string = "cluster-proxy-addon"
	MCEConsole                          string = "console-mce"
	MCEDiscovery                        string = "discovery"
	MCEHive                             string = "hive"
	MCEHypershiftLocalHosting           string = "hypershift-local-hosting"
	MCEHypershiftPreview                string = "hypershift-preview"
	MCEHypershift                       string = "hypershift"
	MCEImageBasedInstallOperator        string = "image-based-install-operator"
	MCEImageBasedInstallOperatorPreview string = "image-based-install-operator-preview"
	MCELocalCluster                     string = "local-cluster"
	MCEManagedServiceAccount            string = "managedserviceaccount"
	MCEManagedServiceAccountPreview     string = "managedserviceaccount-preview"
	MCEServerFoundation                 string = "server-foundation"
	IamPolicyController                 string = "iam-policy-controller"
)

Component related to MultiCluster Engine (MCE)

View Source
const MCH = "multiclusterhub-operator"

Name of the MultiClusterHub (MCH) operator.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "operator.open-cluster-management.io", Version: "v1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Client client.Client
)
View Source
var ClusterManagementAddOns = map[string]string{
	IamPolicyController: "iam-policy-controller",
	SubmarinerAddon:     "submariner",
}

ClusterManagementAddOns is a map that associates certain component names with their corresponding add-ons.

View Source
var LegacyConfigKind = []string{"PrometheusRule", "Service", "ServiceMonitor"}

LegacyConfigKind is a slice of strings that represents the legacy resource kinds supported by the Operator SDK and Prometheus. These kinds include "PrometheusRule", "Service", and "ServiceMonitor".

View Source
var MCECRDs = []ResourceGVK{
	{
		Group:   "addon.open-cluster-management.io",
		Version: "v1alpha1",
		Kind:    "ClusterManagementAddOn",
		Name:    "clustermanagementaddons.addon.open-cluster-management.io",
	},
}

MCEComponents is a slice containing component names specific to the "MCE" category.

MCHComponents is a slice containing component names specific to the "MCH" category.

View Source
var MCHLegacyPrometheusRules = map[string]string{
	Console: "acm-console-prometheus-rules",
	GRC:     "ocm-grc-policy-propagator-metrics",
}

MCHLegacyPrometheusRules is a map that associates certain component names with their corresponding prometheus rules.

View Source
var MCHLegacyServiceMonitors = map[string]string{
	Console:  "console-monitor",
	GRC:      "ocm-grc-policy-propagator-metrics",
	Insights: "acm-insights",
}

MCHLegacyServiceMonitors is a map that associates certain component names with their corresponding service monitors.

View Source
var MCHLegacyServices = map[string]string{}

MCHLegacyServices is a map that associates certain component names with their corresponding services.

Functions

func AvailabilityConfigIsValid

func AvailabilityConfigIsValid(config AvailabilityType) bool

AvailabilityConfigIsValid returns true is the availability type is a recognized value

func GetClusterManagementAddonName

func GetClusterManagementAddonName(component string) (string, error)

GetClusterManagementAddonName returns the name of the ClusterManagementAddOn based on the provided component name.

func GetDefaultDisabledComponents

func GetDefaultDisabledComponents() ([]string, error)

GetDefaultDisabledComponents returns a slice of default disabled component names. It is expected to be used to get a list of components that are disabled by default.

func GetDefaultEnabledComponents

func GetDefaultEnabledComponents() ([]string, error)

GetDefaultEnabledComponents returns a slice of default enabled component names. It is expected to be used to get a list of components that are enabled by default.

func GetLegacyConfigKind

func GetLegacyConfigKind() []string

GetLegacyConfigKind returns a list of legacy kind resources that are required to be removed before updating to ACM 2.9 and later.

func GetLegacyPrometheusRulesName

func GetLegacyPrometheusRulesName(component string) (string, error)

GetLegacyPrometheusRulesName returns the name of the PrometheusRules based on the provided component name.

func GetLegacyServiceMonitorName

func GetLegacyServiceMonitorName(component string) (string, error)

GetLegacyServiceMonitorName returns the name of the ServiceMonitors based on the provided component name.

func GetLegacyServiceName

func GetLegacyServiceName(component string) (string, error)

GetLegacyServiceName returns the name of the Services based on the provided component name.

func IsCommunity

func IsCommunity() (bool, error)

IsCommunity checks to see if the operator is running in community mode

func ValidComponent

func ValidComponent(c ComponentConfig, validComponents []string) bool

ValidComponent checks if a given component configuration is valid by comparing its name to the known component names.

func ValidatingWebhook

func ValidatingWebhook(namespace string) *admissionregistration.ValidatingWebhookConfiguration

ValidatingWebhook returns the ValidatingWebhookConfiguration used for the multiclusterhub linked to a service in the provided namespace

Types

type AvailabilityType

type AvailabilityType string

AvailabilityType ...

const (
	// HABasic stands up most app subscriptions with a replicaCount of 1
	HABasic AvailabilityType = "Basic"
	// HAHigh stands up most app subscriptions with a replicaCount of 2
	HAHigh AvailabilityType = "High"
)

type BackupConfig

type BackupConfig struct {
	// (Deprecated) Velero specifies configuration for the Velero backup integration.
	// +optional
	Velero VeleroBackupConfig `json:"velero,omitempty"`

	// (Deprecated) MinBackupPeriodSeconds specifies that a minimum of MinBackupPeriodSeconds will occur in between each backup.
	// This is used to rate limit backups. This potentially batches together multiple changes into 1 backup.
	// No backups will be lost as changes that happen during this interval are queued up and will result in a
	// backup happening once the interval has been completed.
	MinBackupPeriodSeconds *int `json:"minBackupPeriodSeconds,omitempty"`
}

BackupConfig contains settings for the Velero backup integration.

func (*BackupConfig) DeepCopy

func (in *BackupConfig) DeepCopy() *BackupConfig

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

func (*BackupConfig) DeepCopyInto

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

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

type ComponentConfig

type ComponentConfig struct {
	// Enabled specifies whether the component is enabled or disabled.
	Enabled bool `json:"enabled"`

	// Name denotes the name of the component being configured.
	Name string `json:"name"`

	// ConfigOverrides contains optional configuration overrides for deployments and containers.
	ConfigOverrides ConfigOverride `json:"configOverrides,omitempty"`
}

ComponentConfig provides optional configuration items for individual components

func (*ComponentConfig) DeepCopy

func (in *ComponentConfig) DeepCopy() *ComponentConfig

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

func (*ComponentConfig) DeepCopyInto

func (in *ComponentConfig) DeepCopyInto(out *ComponentConfig)

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

type ConfigOverride

type ConfigOverride struct {
	// Deployments is a list of deployment specific configuration overrides.
	Deployments []DeploymentConfig `json:"deployments,omitempty"`
}

ConfigOverride holds overrides for configurations specific to deployments and containers.

func (*ConfigOverride) DeepCopy

func (in *ConfigOverride) DeepCopy() *ConfigOverride

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

func (*ConfigOverride) DeepCopyInto

func (in *ConfigOverride) DeepCopyInto(out *ConfigOverride)

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

type ContainerConfig

type ContainerConfig struct {
	// Name specifies the name of the container being configured.
	Name string `json:"name"`

	// Env is a list of environment variable overrides for the container.
	Env []EnvConfig `json:"env"`
}

ContainerConfig holds configuration details for a specific container within a deployment.

func (*ContainerConfig) DeepCopy

func (in *ContainerConfig) DeepCopy() *ContainerConfig

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

func (*ContainerConfig) DeepCopyInto

func (in *ContainerConfig) DeepCopyInto(out *ContainerConfig)

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

type DeploymentConfig

type DeploymentConfig struct {
	// Name specifies the name of the deployment being configured.
	Name string `json:"name"`

	// Containers is a list of container specific configurations within the deployment.
	Containers []ContainerConfig `json:"containers"`
}

DeploymentConfig provides configuration details for a specific deployment.

func (*DeploymentConfig) DeepCopy

func (in *DeploymentConfig) DeepCopy() *DeploymentConfig

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

func (*DeploymentConfig) DeepCopyInto

func (in *DeploymentConfig) DeepCopyInto(out *DeploymentConfig)

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

type DeploymentMode

type DeploymentMode string

DeploymentMode ...

type EnvConfig

type EnvConfig struct {
	// Name specifies the name of the environment variable.
	Name string `json:"name,omitempty"`

	// Value specifies the value of the environment variable.
	Value string `json:"value,omitempty"`
}

EnvConfig represents an override for an environment variable within a container.

func (*EnvConfig) DeepCopy

func (in *EnvConfig) DeepCopy() *EnvConfig

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

func (*EnvConfig) DeepCopyInto

func (in *EnvConfig) DeepCopyInto(out *EnvConfig)

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

type ExternalDNSAWSConfig

type ExternalDNSAWSConfig struct {
	// (Deprecated) Credentials references a secret that will be used to authenticate with
	// AWS Route53. It will need permission to manage entries in each of the
	// managed domains for this cluster.
	// Secret should have AWS keys named 'aws_access_key_id' and 'aws_secret_access_key'.
	Credentials corev1.LocalObjectReference `json:"credentials,omitempty"`
}

ExternalDNSAWSConfig contains AWS-specific settings for external DNS

func (*ExternalDNSAWSConfig) DeepCopy

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

func (*ExternalDNSAWSConfig) DeepCopyInto

func (in *ExternalDNSAWSConfig) DeepCopyInto(out *ExternalDNSAWSConfig)

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

type ExternalDNSConfig

type ExternalDNSConfig struct {

	// (Deprecated) AWS contains AWS-specific settings for external DNS
	AWS *ExternalDNSAWSConfig `json:"aws,omitempty"`

	// (Deprecated) GCP contains GCP-specific settings for external DNS
	GCP *ExternalDNSGCPConfig `json:"gcp,omitempty"`
}

ExternalDNSConfig contains settings for running external-dns in a Hive environment.

func (*ExternalDNSConfig) DeepCopy

func (in *ExternalDNSConfig) DeepCopy() *ExternalDNSConfig

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

func (*ExternalDNSConfig) DeepCopyInto

func (in *ExternalDNSConfig) DeepCopyInto(out *ExternalDNSConfig)

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

type ExternalDNSGCPConfig

type ExternalDNSGCPConfig struct {
	// (Deprecated) Credentials references a secret that will be used to authenticate with
	// GCP DNS. It will need permission to manage entries in each of the
	// managed domains for this cluster.
	// Secret should have a key names 'osServiceAccount.json'.
	// The credentials must specify the project to use.
	Credentials corev1.LocalObjectReference `json:"credentials,omitempty"`
}

ExternalDNSGCPConfig contains GCP-specific settings for external DNS

func (*ExternalDNSGCPConfig) DeepCopy

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

func (*ExternalDNSGCPConfig) DeepCopyInto

func (in *ExternalDNSGCPConfig) DeepCopyInto(out *ExternalDNSGCPConfig)

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

type FailedProvisionConfig

type FailedProvisionConfig struct {

	// (Deprecated) SkipGatherLogs disables functionality that attempts to gather full logs from the cluster if an installation
	// fails for any reason. The logs will be stored in a persistent volume for up to 7 days.
	SkipGatherLogs bool `json:"skipGatherLogs,omitempty"`
}

FailedProvisionConfig contains settings to control behavior undertaken by Hive when an installation attempt fails.

func (*FailedProvisionConfig) DeepCopy

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

func (*FailedProvisionConfig) DeepCopyInto

func (in *FailedProvisionConfig) DeepCopyInto(out *FailedProvisionConfig)

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

type HiveConfigSpec

type HiveConfigSpec struct {

	// (Deprecated) ExternalDNS specifies configuration for external-dns if it is to be deployed by
	// Hive. If absent, external-dns will not be deployed.
	ExternalDNS *ExternalDNSConfig `json:"externalDNS,omitempty"`

	// (Deprecated) AdditionalCertificateAuthorities is a list of references to secrets in the
	// 'hive' namespace that contain an additional Certificate Authority to use when communicating
	// with target clusters. These certificate authorities will be used in addition to any self-signed
	// CA generated by each cluster on installation.
	AdditionalCertificateAuthorities []corev1.LocalObjectReference `json:"additionalCertificateAuthorities,omitempty"`

	// (Deprecated) GlobalPullSecret is used to specify a pull secret that will be used globally by all of the cluster deployments.
	// For each cluster deployment, the contents of GlobalPullSecret will be merged with the specific pull secret for
	// a cluster deployment(if specified), with precedence given to the contents of the pull secret for the cluster deployment.
	GlobalPullSecret *corev1.LocalObjectReference `json:"globalPullSecret,omitempty"`

	// (Deprecated) Backup specifies configuration for backup integration.
	// If absent, backup integration will be disabled.
	Backup BackupConfig `json:"backup,omitempty"`

	// (Deprecated) FailedProvisionConfig is used to configure settings related to handling provision failures.
	FailedProvisionConfig FailedProvisionConfig `json:"failedProvisionConfig"`

	// (Deprecated) MaintenanceMode can be set to true to disable the hive controllers in situations where we need to ensure
	// nothing is running that will add or act upon finalizers on Hive types. This should rarely be needed.
	// Sets replicas to 0 for the hive-controllers deployment to accomplish this.
	MaintenanceMode *bool `json:"maintenanceMode,omitempty"`
}

func (*HiveConfigSpec) DeepCopy

func (in *HiveConfigSpec) DeepCopy() *HiveConfigSpec

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

func (*HiveConfigSpec) DeepCopyInto

func (in *HiveConfigSpec) DeepCopyInto(out *HiveConfigSpec)

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

type HiveConfigStatus

type HiveConfigStatus struct {
	// (Deprecated) AggregatorClientCAHash keeps an md5 hash of the aggregator client CA
	// configmap data from the openshift-config-managed namespace. When the configmap changes,
	// admission is redeployed.
	AggregatorClientCAHash string `json:"aggregatorClientCAHash,omitempty"`
}

HiveConfigStatus defines the observed state of Hive

func (*HiveConfigStatus) DeepCopy

func (in *HiveConfigStatus) DeepCopy() *HiveConfigStatus

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

func (*HiveConfigStatus) DeepCopyInto

func (in *HiveConfigStatus) DeepCopyInto(out *HiveConfigStatus)

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

type HubCondition

type HubCondition struct {
	// Type is the type of the cluster condition.
	// +required
	Type HubConditionType `json:"type,omitempty"`

	// Status is the status of the condition. One of True, False, Unknown.
	// +required
	Status metav1.ConditionStatus `json:"status,omitempty"`

	// The last time this condition was updated.
	LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`

	// LastTransitionTime is the last time the condition changed from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// Reason is a (brief) reason for the condition's last status change.
	// +required
	Reason string `json:"reason,omitempty"`

	// Message is a human-readable message indicating details about the last status change.
	// +required
	Message string `json:"message,omitempty"`
}

StatusCondition contains condition information.

func (*HubCondition) DeepCopy

func (in *HubCondition) DeepCopy() *HubCondition

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

func (*HubCondition) DeepCopyInto

func (in *HubCondition) DeepCopyInto(out *HubCondition)

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

type HubConditionType

type HubConditionType string
const (
	// Progressing means the deployment is progressing.
	Progressing HubConditionType = "Progressing"

	// Complete means that all desired components are configured and in a running state.
	Complete HubConditionType = "Complete"

	// Terminating means that the multiclusterhub has been deleted and is cleaning up.
	Terminating HubConditionType = "Terminating"

	// Bocked means there is something preventing an update from occurring
	Blocked HubConditionType = "Blocked"

	// ComponentFailure means a deployment failed during an Apply
	ComponentFailure HubConditionType = "ComponentFailure"
)

type HubPhaseType

type HubPhaseType string
const (
	HubPending         HubPhaseType = "Pending"
	HubPaused          HubPhaseType = "Paused"
	HubRunning         HubPhaseType = "Running"
	HubInstalling      HubPhaseType = "Installing"
	HubUpdating        HubPhaseType = "Updating"
	HubUninstalling    HubPhaseType = "Uninstalling"
	HubUpdatingBlocked HubPhaseType = "UpdatingBlocked"
	HubError           HubPhaseType = "Error"
)

type HubSize

type HubSize string
const (
	Small  HubSize = "Small"
	Medium HubSize = "Medium"
	Large  HubSize = "Large"
	XLarge HubSize = "XLarge"
)

type IngressSpec

type IngressSpec struct {
	// List of SSL ciphers enabled for management ingress. Defaults to full list of supported ciphers
	SSLCiphers []string `json:"sslCiphers,omitempty"`
}

IngressSpec specifies configuration options for ingress management

func (*IngressSpec) DeepCopy

func (in *IngressSpec) DeepCopy() *IngressSpec

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

func (*IngressSpec) DeepCopyInto

func (in *IngressSpec) DeepCopyInto(out *IngressSpec)

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

type InternalHubComponent

type InternalHubComponent struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              InternalHubComponentSpec `json:"spec,omitempty"`
}

+kubebuilder:object:root=true +operator-sdk:csv:customresourcedefinitions:displayName="InternalHubComponent"

func (*InternalHubComponent) DeepCopy

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

func (*InternalHubComponent) DeepCopyInto

func (in *InternalHubComponent) DeepCopyInto(out *InternalHubComponent)

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

func (*InternalHubComponent) DeepCopyObject

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

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

type InternalHubComponentList

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

+kubebuilder:object:root=true

func (*InternalHubComponentList) DeepCopy

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

func (*InternalHubComponentList) DeepCopyInto

func (in *InternalHubComponentList) DeepCopyInto(out *InternalHubComponentList)

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

func (*InternalHubComponentList) DeepCopyObject

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

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

type InternalHubComponentSpec

type InternalHubComponentSpec struct{}

func (*InternalHubComponentSpec) DeepCopy

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

func (*InternalHubComponentSpec) DeepCopyInto

func (in *InternalHubComponentSpec) DeepCopyInto(out *InternalHubComponentSpec)

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

type MultiClusterHub

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

	Spec   MultiClusterHubSpec   `json:"spec,omitempty"`
	Status MultiClusterHubStatus `json:"status,omitempty"`
}

MulticlusterHub defines the configuration for an instance of a multicluster hub, a central point for managing multiple Kubernetes-based clusters. The deployment of multicluster hub components is determined based on the configuration that is defined in this resource. +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="The overall status of the MultiClusterHub" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="CurrentVersion",type="string",JSONPath=".status.currentVersion",description="The current version of the MultiClusterHub" +kubebuilder:printcolumn:name="DesiredVersion",type="string",JSONPath=".status.desiredVersion",description="The desired version of the MultiClusterHub" +operator-sdk:csv:customresourcedefinitions:displayName="MultiClusterHub"

func (*MultiClusterHub) ComponentPresent

func (mch *MultiClusterHub) ComponentPresent(s string) bool

ComponentPresent checks if a specific component is present based on the provided component name in the MultiClusterHub struct.

func (*MultiClusterHub) DeepCopy

func (in *MultiClusterHub) DeepCopy() *MultiClusterHub

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

func (*MultiClusterHub) DeepCopyInto

func (in *MultiClusterHub) DeepCopyInto(out *MultiClusterHub)

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

func (*MultiClusterHub) DeepCopyObject

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

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

func (*MultiClusterHub) Default

func (r *MultiClusterHub) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*MultiClusterHub) Disable

func (mch *MultiClusterHub) Disable(s string)

Disable disables a specific component based on the provided component name in the MultiClusterHub struct.

func (*MultiClusterHub) Enable

func (mch *MultiClusterHub) Enable(s string)

Enable enables a specific component based on the provided component name in the MultiClusterHub struct.

func (*MultiClusterHub) Enabled

func (mch *MultiClusterHub) Enabled(s string) bool

Enabled checks if a specific component is enabled based on the provided component name in the MultiClusterHub struct.

func (*MultiClusterHub) Prune

func (mch *MultiClusterHub) Prune(s string) bool

Prune removes a specific component from the component list in the MultiClusterHub struct. It returns true if changes were made.

func (*MultiClusterHub) SetupWebhookWithManager

func (r *MultiClusterHub) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*MultiClusterHub) ValidateCreate

func (r *MultiClusterHub) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*MultiClusterHub) ValidateDelete

func (r *MultiClusterHub) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*MultiClusterHub) ValidateUpdate

func (r *MultiClusterHub) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type MultiClusterHubList

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

MultiClusterHubList contains a list of MultiClusterHub

func (*MultiClusterHubList) DeepCopy

func (in *MultiClusterHubList) DeepCopy() *MultiClusterHubList

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

func (*MultiClusterHubList) DeepCopyInto

func (in *MultiClusterHubList) DeepCopyInto(out *MultiClusterHubList)

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

func (*MultiClusterHubList) DeepCopyObject

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

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

type MultiClusterHubSpec

type MultiClusterHubSpec struct {

	// Override pull secret for accessing MultiClusterHub operand and endpoint images
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Image Pull Secret",xDescriptors={"urn:alm:descriptor:io.kubernetes:Secret","urn:alm:descriptor:com.tectonic.ui:advanced"}
	ImagePullSecret string `json:"imagePullSecret,omitempty"`

	// Specifies deployment replication for improved availability. Options are: Basic and High (default)
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Availability Configuration",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:select:High","urn:alm:descriptor:com.tectonic.ui:select:Basic"}
	AvailabilityConfig AvailabilityType `json:"availabilityConfig,omitempty"`

	// (Deprecated) Install cert-manager into its own namespace
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Separate Certificate Management",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:hidden"}
	// +optional
	SeparateCertificateManagement bool `json:"separateCertificateManagement"`

	// Set the nodeselectors
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Tolerations causes all components to tolerate any taints.
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// (Deprecated) Overrides for the default HiveConfig spec
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hive Config",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:hidden"}
	Hive *HiveConfigSpec `json:"hive,omitempty"`

	// (Deprecated) Configuration options for ingress management
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Ingress Management",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	Ingress IngressSpec `json:"ingress,omitempty"`

	// Developer Overrides
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Developer Overrides",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:hidden"}
	Overrides *Overrides `json:"overrides,omitempty"`

	// (Deprecated) Provide the customized OpenShift default ingress CA certificate to RHACM
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Custom CA Configmap",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:ConfigMap"}
	CustomCAConfigmap string `json:"customCAConfigmap,omitempty"`

	// Disable automatic import of the hub cluster as a managed cluster
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Disable Hub Self Management",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	DisableHubSelfManagement bool `json:"disableHubSelfManagement,omitempty"`

	// Disable automatic update of ClusterImageSets
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Disable Update ClusterImageSets",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	DisableUpdateClusterImageSets bool `json:"disableUpdateClusterImageSets,omitempty"`

	// (Deprecated) Enable cluster proxy addon
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Cluster Proxy Addon",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:hidden"}
	EnableClusterProxyAddon bool `json:"enableClusterProxyAddon,omitempty"`

	// (Deprecated) Enable cluster backup
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Cluster Backup",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:hidden"}
	// +optional
	EnableClusterBackup bool `json:"enableClusterBackup"`
}

MultiClusterHubSpec defines the desired state of MultiClusterHub

func (*MultiClusterHubSpec) DeepCopy

func (in *MultiClusterHubSpec) DeepCopy() *MultiClusterHubSpec

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

func (*MultiClusterHubSpec) DeepCopyInto

func (in *MultiClusterHubSpec) DeepCopyInto(out *MultiClusterHubSpec)

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

type MultiClusterHubStatus

type MultiClusterHubStatus struct {

	// Represents the running phase of the MultiClusterHub
	// +optional
	Phase HubPhaseType `json:"phase"`

	// CurrentVersion indicates the current version
	CurrentVersion string `json:"currentVersion,omitempty"`

	// DesiredVersion indicates the desired version
	DesiredVersion string `json:"desiredVersion,omitempty"`

	// Conditions contains the different condition statuses for the MultiClusterHub
	HubConditions []HubCondition `json:"conditions,omitempty"`

	// Components []ComponentCondition `json:"manifests,omitempty"`
	Components map[string]StatusCondition `json:"components,omitempty"`
}

MultiClusterHubStatus defines the observed state of MultiClusterHub

func (*MultiClusterHubStatus) DeepCopy

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

func (*MultiClusterHubStatus) DeepCopyInto

func (in *MultiClusterHubStatus) DeepCopyInto(out *MultiClusterHubStatus)

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

type Overrides

type Overrides struct {
	// Pull policy of the MultiCluster hub images
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// Provides optional configuration for components, the list of which can be found here: https://github.com/stolostron/multiclusterhub-operator/tree/main/docs/available-components.md
	//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Component Configuration",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:hidden"}
	// +optional
	Components []ComponentConfig `json:"components,omitempty"`
}

Overrides provides developer overrides for MCH installation

func (*Overrides) DeepCopy

func (in *Overrides) DeepCopy() *Overrides

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

func (*Overrides) DeepCopyInto

func (in *Overrides) DeepCopyInto(out *Overrides)

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

type ResourceGVK

type ResourceGVK struct {
	Group   string `json:"group"`
	Kind    string `json:"kind"`
	Name    string `json:"name"`
	Version string `json:"version"`
}

func (*ResourceGVK) DeepCopy

func (in *ResourceGVK) DeepCopy() *ResourceGVK

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

func (*ResourceGVK) DeepCopyInto

func (in *ResourceGVK) DeepCopyInto(out *ResourceGVK)

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

type StatusCondition

type StatusCondition struct {
	// The component name
	Name string `json:"name,omitempty"`

	// The resource kind this condition represents
	Kind string `json:"kind,omitempty"`

	// Available indicates whether this component is considered properly running
	Available bool `json:"-"`

	// Type is the type of the cluster condition.
	// +required
	Type string `json:"type,omitempty"`

	// Status is the status of the condition. One of True, False, Unknown.
	// +required
	Status metav1.ConditionStatus `json:"status,omitempty"`

	// The last time this condition was updated.
	LastUpdateTime metav1.Time `json:"-"`

	// LastTransitionTime is the last time the condition changed from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// Reason is a (brief) reason for the condition's last status change.
	// +required
	Reason string `json:"reason,omitempty"`

	// Message is a human-readable message indicating details about the last status change.
	// +required
	Message string `json:"message,omitempty"`
}

StatusCondition contains condition information.

func (*StatusCondition) DeepCopy

func (in *StatusCondition) DeepCopy() *StatusCondition

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

func (*StatusCondition) DeepCopyInto

func (in *StatusCondition) DeepCopyInto(out *StatusCondition)

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

type VeleroBackupConfig

type VeleroBackupConfig struct {
	// (Deprecated) Enabled dictates if Velero backup integration is enabled.
	// If not specified, the default is disabled.
	Enabled bool `json:"enabled,omitempty"`
}

VeleroBackupConfig contains settings for the Velero backup integration.

func (*VeleroBackupConfig) DeepCopy

func (in *VeleroBackupConfig) DeepCopy() *VeleroBackupConfig

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

func (*VeleroBackupConfig) DeepCopyInto

func (in *VeleroBackupConfig) DeepCopyInto(out *VeleroBackupConfig)

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