v3

package
v0.0.0-...-a3639e1 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v3 contains API Schema definitions for the operator v3 API group +kubebuilder:object:generate=true +groupName=operator.ibm.com

Index

Constants

View Source
const (
	ConditionReasonReconcile = "StartReconciling"
	ConditionReasonInit      = "UpdatingResources"
	ConditionReasonConfig    = "Configuring"
	ConditionReasonWarning   = "WarningOccurred"
	ConditionReasonError     = "ReconcileError"
	ConditionReasonReady     = "ReconcileSucceeded"
)
View Source
const (
	ConditionMessageReconcile = "reconciling CommonService CR."
	ConditionMessageInit      = "initializing/updating: waiting for OperandRegistry and OperandConfig to become ready."
	ConditionMessageConfig    = "configuring CommonService CR."
	ConditionMessageMissSC    = "" /* 328-byte string literal not displayed */
	ConditionMessageReady     = "CommonService CR is ready."
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "operator.ibm.com", Version: "v3"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func RemoveFinalizer

func RemoveFinalizer(objectMeta *metav1.ObjectMeta, deletingFinalizer string) bool

RemoveFinalizer removes the finalizer from the object's ObjectMeta.

Types

type APICatalog

type APICatalog struct {
	StorageClass string `json:"storageClass,omitempty"`
}

APICatalog defines the configuration of APICatalog

func (*APICatalog) DeepCopy

func (in *APICatalog) DeepCopy() *APICatalog

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

func (*APICatalog) DeepCopyInto

func (in *APICatalog) DeepCopyInto(out *APICatalog)

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

type BedrockOperator

type BedrockOperator struct {
	Name               string `json:"name,omitempty"`
	Version            string `json:"version,omitempty"`
	OperatorStatus     string `json:"operatorStatus,omitempty"`
	SubscriptionStatus string `json:"subscriptionStatus,omitempty"`
	InstallPlanName    string `json:"installPlanName,omitempty"`
	Troubleshooting    string `json:"troubleshooting,omitempty"`
}

BedrockOperator describes a list of foundational services' operators currently installed for this tenant.

func (*BedrockOperator) DeepCopy

func (in *BedrockOperator) DeepCopy() *BedrockOperator

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

func (*BedrockOperator) DeepCopyInto

func (in *BedrockOperator) DeepCopyInto(out *BedrockOperator)

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

type Bedrockshim

type Bedrockshim struct {
	Enabled                   bool `json:"enabled,omitempty"`
	CrossplaneProviderRemoval bool `json:"crossplaneProviderRemoval,omitempty"`
}

Bedrockshim defines the configuration of Bedrockshim

func (*Bedrockshim) DeepCopy

func (in *Bedrockshim) DeepCopy() *Bedrockshim

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

func (*Bedrockshim) DeepCopyInto

func (in *Bedrockshim) DeepCopyInto(out *Bedrockshim)

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

type CSData

type CSData struct {
	Channel                 string
	Version                 string
	CPFSNs                  string
	ServicesNs              string
	OperatorNs              string
	CatalogSourceName       string
	CatalogSourceNs         string
	IsolatedModeEnable      string
	ApprovalMode            string
	OnPremMultiEnable       string
	WatchNamespaces         string
	CloudPakThemes          string
	CloudPakThemesVersion   string
	ExcludedCatalog         string
	StatusMonitoredServices string
}

func (*CSData) DeepCopy

func (in *CSData) DeepCopy() *CSData

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

func (*CSData) DeepCopyInto

func (in *CSData) DeepCopyInto(out *CSData)

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

type CatalogName

type CatalogName string

type CatalogNamespace

type CatalogNamespace string

type CommonService

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

	// +kubebuilder:pruning:PreserveUnknownFields
	Spec CommonServiceSpec `json:"spec,omitempty"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Status CommonServiceStatus `json:"status,omitempty"`
}

CommonService is the Schema for the commonservices API. This API is used to configure general foundational services configurations, such as sizing, catalogsource, etc. See description of fields for more details. An instance of this CRD is automatically created by the ibm-common-service-operator upon installation to trigger the installation of critical installer components such as operand-deployment-lifecycle-manager (ODLM), which is required to further install other services from foundational services, such as IM.

func (*CommonService) DeepCopy

func (in *CommonService) DeepCopy() *CommonService

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

func (*CommonService) DeepCopyInto

func (in *CommonService) DeepCopyInto(out *CommonService)

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

func (*CommonService) DeepCopyObject

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

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

func (*CommonService) SetErrorCondition

func (r *CommonService) SetErrorCondition(name string, ct ConditionType, cs corev1.ConditionStatus, reason, message string)

SetErrorCondition creates a Condition to claim Error.

func (*CommonService) SetPendingCondition

func (r *CommonService) SetPendingCondition(name string, ct ConditionType, cs corev1.ConditionStatus, reason, message string)

SetPendingCondition sets a condition to claim Pending.

func (*CommonService) SetReadyCondition

func (r *CommonService) SetReadyCondition(name string, ct ConditionType, cs corev1.ConditionStatus)

SetReadyCondition creates a Condition to claim Ready.

func (*CommonService) SetWarningCondition

func (r *CommonService) SetWarningCondition(name string, ct ConditionType, cs corev1.ConditionStatus, reason, message string)

SetWarningCondition creates a Condition to claim Warning.

func (*CommonService) UpdateConditionList

func (r *CommonService) UpdateConditionList(ct corev1.ConditionStatus)

UpdateConditionList updates the condition list of the CommonService CR

func (*CommonService) UpdateConfigStatus

func (r *CommonService) UpdateConfigStatus(CSData *CSData, operatorDeployed, serviceDeployed bool)

func (*CommonService) UpdateNonMasterConfigStatus

func (r *CommonService) UpdateNonMasterConfigStatus(CSData *CSData)

func (*CommonService) UpdateTopologyCR

func (r *CommonService) UpdateTopologyCR(CSData *CSData)

type CommonServiceCondition

type CommonServiceCondition struct {
	// Type of condition.
	// +optional
	Type ConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	// +optional
	Status corev1.ConditionStatus `json:"status"`
	// The last time this condition was updated.
	// +optional
	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
	// Last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime string `json:"lastTransitionTime,omitempty"`
	// The reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// A human readable message indicating details about the transition.
	// +optional
	Message string `json:"message,omitempty"`
}

CommonServiceCondition defines the observed condition of CommonService

func (*CommonServiceCondition) DeepCopy

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

func (*CommonServiceCondition) DeepCopyInto

func (in *CommonServiceCondition) DeepCopyInto(out *CommonServiceCondition)

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

type CommonServiceList

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

+kubebuilder:object:root=true CommonServiceList contains a list of CommonService

func (*CommonServiceList) DeepCopy

func (in *CommonServiceList) DeepCopy() *CommonServiceList

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

func (*CommonServiceList) DeepCopyInto

func (in *CommonServiceList) DeepCopyInto(out *CommonServiceList)

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

func (*CommonServiceList) DeepCopyObject

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

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

type CommonServiceSpec

type CommonServiceSpec struct {
	Features *Features `json:"features,omitempty"`
	// InstallPlanApproval sets the approval mode for ODLM and other
	// foundational services: Manual or Automatic
	InstallPlanApproval olmv1alpha1.Approval `json:"installPlanApproval,omitempty"`
	ManualManagement    bool                 `json:"manualManagement,omitempty"`
	// FipsEnabled enables FIPS mode for foundational services
	FipsEnabled bool `json:"fipsEnabled,omitempty"`
	// RouteHost describes the hostname for the foundational services route,
	// and can only be configured pre-installation of IM
	RouteHost string `json:"routeHost,omitempty"`
	// Size describes the T-shirt size of foundational services: starterset,
	// small, medium, or large
	Size string `json:"size,omitempty"`
	// Services describes the CPU, memory, and replica configuration for
	// individual services in foundational services
	Services []ServiceConfig `json:"services,omitempty"`
	// StorageClass describes the storage class to use for the foundational
	// services PVCs
	StorageClass string `json:"storageClass,omitempty"`
	// BYOCACertificate enables the option to replace the cs-ca-certificate with
	// your own CA certificate
	BYOCACertificate bool `json:"BYOCACertificate,omitempty"`
	// ProfileController enables turbonomic to automatically handle sizing of
	// foundational services. Default value is 'default'
	ProfileController string `json:"profileController,omitempty"`
	// ServicesNamespace describes the namespace where operands will be created
	// in such as OperandRegistry and OperandConfig. This will also apply to all
	// services in foundational services, e.g. IM will create operands in this
	// namespace
	ServicesNamespace ServicesNamespace `json:"servicesNamespace,omitempty"`
	// OperatorNamespace describes the namespace where operators will be
	// installed in such as ODLM. This will also apply to all services in
	// foundational services, e.g. ODLM will install IM operator in this
	// namespace
	OperatorNamespace OperatorNamespace `json:"operatorNamespace,omitempty"`
	// CatalogName is the name of the CatalogSource that will be used for ODLM
	// and other services in foundational services
	CatalogName CatalogName `json:"catalogName,omitempty"`
	// CatalogNamespace is the namespace of the CatalogSource that will be used
	// for ODLM and other services in foundational services
	CatalogNamespace CatalogNamespace `json:"catalogNamespace,omitempty"`
	// DefalutAdminUser is the name of the default admin user for foundational
	// services IM, default is cpadmin
	DefaultAdminUser string `json:"defaultAdminUser,omitempty"`
	// Labels describes foundational services will use this
	// labels to labels their corresponding resources
	Labels map[string]string `json:"labels,omitempty"`
	// +optional
	// HugePages describes the hugepages settings for foundational services
	// +kubebuilder:pruning:PreserveUnknownFields
	HugePages *HugePages `json:"hugepages,omitempty"`
	// OperatorConfigs is a list of configurations to be applied to operators via CSV updates
	// +kubebuilder:pruning:PreserveUnknownFields
	OperatorConfigs []OperatorConfig `json:"operatorConfigs,omitempty"`
	// +optional
	License LicenseList `json:"license"`
}

CommonServiceSpec defines the desired state of CommonService

func (*CommonServiceSpec) DeepCopy

func (in *CommonServiceSpec) DeepCopy() *CommonServiceSpec

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

func (*CommonServiceSpec) DeepCopyInto

func (in *CommonServiceSpec) DeepCopyInto(out *CommonServiceSpec)

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

type CommonServiceStatus

type CommonServiceStatus struct {
	// Phase describes the phase of the overall installation
	Phase            string            `json:"phase,omitempty"`
	BedrockOperators []BedrockOperator `json:"bedrockOperators,omitempty"`
	// OverallStatus describes whether the Installation for the foundational services has succeeded or not
	OverallStatus string       `json:"overallStatus,omitempty"`
	ConfigStatus  ConfigStatus `json:"configStatus,omitempty"`
	// Conditions represents the current state of CommonService
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Conditions",xDescriptors="urn:alm:descriptor:io.kubernetes.conditions"
	Conditions []CommonServiceCondition `json:"conditions,omitempty"`
}

CommonServiceStatus defines the observed state of CommonService

func (*CommonServiceStatus) DeepCopy

func (in *CommonServiceStatus) DeepCopy() *CommonServiceStatus

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

func (*CommonServiceStatus) DeepCopyInto

func (in *CommonServiceStatus) DeepCopyInto(out *CommonServiceStatus)

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

type ConditionType

type ConditionType string

ConditionType is the condition of a service.

const (
	ConditionTypeBlocked     ConditionType = "Blocked"
	ConditionTypeReady       ConditionType = "Ready"
	ConditionTypeWarning     ConditionType = "Warning"
	ConditionTypeError       ConditionType = "Error"
	ConditionTypePending     ConditionType = "Pending"
	ConditionTypeReconciling ConditionType = "Reconciling"
)

type ConfigStatus

type ConfigStatus struct {
	// CatalogName is the name of the CatalogSource foundational services is using
	CatalogName CatalogName `json:"catalogName,omitempty"`
	// CatalogNamespace is the namesapce of the CatalogSource
	CatalogNamespace CatalogNamespace `json:"catalogNamespace,omitempty"`
	// OperatorNamespace is the namespace of where the foundational services'
	// operators will be installed in.
	OperatorNamespace OperatorNamespace `json:"operatorNamespace,omitempty"`
	// OperatorDeployed indicates whether the OperandRegistry has been created
	// or not.
	OperatorDeployed bool `json:"operatorDeployed,omitempty"`
	// ServicesNamespace is the namespace where the foundational services'
	// operands will be created in.
	ServicesNamespace ServicesNamespace `json:"servicesNamespace,omitempty"`
	// ServicesDeployed indicates whether the OperandConfig has been created or
	// not.
	ServicesDeployed bool `json:"servicesDeployed,omitempty"`
	// Configurable indicates whether this CommonService CR is the one
	// that can be used to configure the foundational services' installer. Other
	// CommonService CRs configurations will not take effect, except for sizing
	Configurable bool `json:"configurable,omitempty"`
	// TopologyConfigurableCRs describes the configurable CommonService CR
	TopologyConfigurableCRs []ConfigurableCR `json:"topologyConfigurableCRs,omitempty"`
}

ConfigStatus describes various configuration currently applied onto the foundational services installer.

func (*ConfigStatus) DeepCopy

func (in *ConfigStatus) DeepCopy() *ConfigStatus

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

func (*ConfigStatus) DeepCopyInto

func (in *ConfigStatus) DeepCopyInto(out *ConfigStatus)

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

type ConfigurableCR

type ConfigurableCR struct {
	// ObjectName is the name of the configurable CommonService CR
	ObjectName string `json:"objectName,omitempty"`
	// ApiVersion is the api version of the configurable CommonService CR
	APIVersion string `json:"apiVersion,omitempty"`
	// Namespace is the namespace of the configurable CommonService CR
	Namespace string `json:"namespace,omitempty"`
	// Kind is the kind of the configurable CommonService CR
	Kind string `json:"kind,omitempty"`
}

func (*ConfigurableCR) DeepCopy

func (in *ConfigurableCR) DeepCopy() *ConfigurableCR

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

func (*ConfigurableCR) DeepCopyInto

func (in *ConfigurableCR) DeepCopyInto(out *ConfigurableCR)

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

type ExtensionWithMarker

type ExtensionWithMarker struct {
	runtime.RawExtension `json:",inline"`
}

+kubebuilder:pruning:PreserveUnknownFields

func (*ExtensionWithMarker) DeepCopy

func (in *ExtensionWithMarker) DeepCopy() *ExtensionWithMarker

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

func (*ExtensionWithMarker) DeepCopyInto

func (in *ExtensionWithMarker) DeepCopyInto(out *ExtensionWithMarker)

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

type Features

type Features struct {
	Bedrockshim *Bedrockshim `json:"bedrockshim,omitempty"`
	APICatalog  *APICatalog  `json:"apiCatalog,omitempty"`
}

Features defines the configurations of Cloud Pak Services

func (*Features) DeepCopy

func (in *Features) DeepCopy() *Features

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

func (*Features) DeepCopyInto

func (in *Features) DeepCopyInto(out *Features)

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

type HugePages

type HugePages struct {
	// HugePagesEnabled enables hugepages settings for foundational services
	Enable bool `json:"enable,omitempty"`
	// HugePagesSizes describes the size of the hugepages
	HugePagesSizes map[string]string `json:"-"`
}

HugePages defines the various hugepages settings applied to foundational services

func (*HugePages) DeepCopy

func (in *HugePages) DeepCopy() *HugePages

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

func (*HugePages) DeepCopyInto

func (in *HugePages) DeepCopyInto(out *HugePages)

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

type LicenseList

type LicenseList struct {
	// Accepting the license - URL: https://ibm.biz/icpfs39license
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:hidden"
	// +optional
	Accept bool `json:"accept"`
	// The type of license being accepted.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:hidden"
	Use string `json:"use,omitempty"`
	// The license being accepted where the component has multiple.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:hidden"
	License string `json:"license,omitempty"`
	// The license key for this deployment.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:hidden"
	Key string `json:"key,omitempty"`
}

LicenseList defines the license specification in CSV

func (*LicenseList) DeepCopy

func (in *LicenseList) DeepCopy() *LicenseList

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

func (*LicenseList) DeepCopyInto

func (in *LicenseList) DeepCopyInto(out *LicenseList)

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

type OperatorConfig

type OperatorConfig struct {
	// Name is the name of the operator as requested in an OperandRequest
	Name string `json:"name,omitempty"`
	// Number of desired pods. This is a pointer to distinguish between explicit
	// zero and not specified. Defaults to 1.
	// +optional
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
}

OperatorConfig is configuration composed of key-value pairs to be injected into specified CSVs

func (*OperatorConfig) DeepCopy

func (in *OperatorConfig) DeepCopy() *OperatorConfig

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

func (*OperatorConfig) DeepCopyInto

func (in *OperatorConfig) DeepCopyInto(out *OperatorConfig)

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

type OperatorNamespace

type OperatorNamespace string

type ResourceType

type ResourceType string

ResourceType is the type of condition use.

type ServiceConfig

type ServiceConfig struct {
	Name               string                         `json:"name"`
	Spec               map[string]ExtensionWithMarker `json:"spec,omitempty"`
	ManagementStrategy string                         `json:"managementStrategy,omitempty"`
	Resources          []ExtensionWithMarker          `json:"resources,omitempty"`
}

+kubebuilder:pruning:PreserveUnknownFields

func (*ServiceConfig) DeepCopy

func (in *ServiceConfig) DeepCopy() *ServiceConfig

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

func (*ServiceConfig) DeepCopyInto

func (in *ServiceConfig) DeepCopyInto(out *ServiceConfig)

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

type ServicesNamespace

type ServicesNamespace string

Jump to

Keyboard shortcuts

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