v1

package
v1.6.0 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2024 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Overview

Package v1 contains API Schema definitions for the storage v1 API group +kubebuilder:object:generate=true +groupName=storage.dell.com

Index

Constants

View Source
const (
	// Replication - placeholder for replication constant
	Replication ModuleType = "replication"

	// Resiliency - placeholder for resiliency constant
	Resiliency ModuleType = "resiliency"

	// Observability - placeholder for constant observability
	Observability ModuleType = "observability"

	// PodMon - placeholder for constant podmon
	PodMon ModuleType = "podmon"

	// VgSnapShotter - placeholder for constant vgsnapshotter
	VgSnapShotter ModuleType = "vgsnapshotter"

	// Authorization - placeholder for constant authorization
	Authorization ModuleType = "authorization"

	// AuthorizationServer - placeholder for constant authorization proxy server
	AuthorizationServer ModuleType = "authorization-proxy-server"

	// ReverseProxy - placeholder for constant csireverseproxy
	ReverseProxy ModuleType = "csireverseproxy"

	// ReverseProxyServer - placeholder for constant csipowermax-reverseproxy
	ReverseProxyServer ModuleType = "csipowermax-reverseproxy" // #nosec G101

	// ApplicationMobility - placeholder for constant application-mobility
	ApplicationMobility ModuleType = "application-mobility"

	// Topology - placeholder for constant topology
	Topology ObservabilityComponentType = "topology"

	// OtelCollector - placeholder for constant otel-collector
	OtelCollector ObservabilityComponentType = "otel-collector"

	// PowerFlex - placeholder for constant powerflex
	PowerFlex DriverType = "powerflex"

	// PowerFlexName - placeholder for constant powerflex
	PowerFlexName DriverType = "vxflexos"

	// PowerMax - placeholder for constant powermax
	PowerMax DriverType = "powermax"

	// PowerScale - placeholder for constant isilon
	PowerScale DriverType = "isilon"

	// PowerScaleName - placeholder for constant PowerScale
	PowerScaleName DriverType = "powerscale"

	// Unity - placeholder for constant unity
	Unity DriverType = "unity"

	// PowerStore - placeholder for constant powerstore
	PowerStore DriverType = "powerstore"

	// DreadnoughtClient - placeholder for the APEX Connectivity Client
	DreadnoughtClient ClientType = "apexconnectivityclient"

	// Provisioner - placeholder for constant
	Provisioner = "provisioner"
	// Attacher - placeholder for constant
	Attacher = "attacher"
	// Snapshotter - placeholder for constant
	Snapshotter = "snapshotter"
	// Registrar - placeholder for constant
	Registrar = "registrar"
	// Resizer - placeholder for constant
	Resizer = "resizer"
	// Sdcmonitor - placeholder for constant
	Sdcmonitor = "sdc-monitor"
	// Externalhealthmonitor - placeholder for constant
	Externalhealthmonitor = "external-health-monitor"
	// Sdc - placeholder for constant
	Sdc = "sdc"

	// EventDeleted - Deleted in event recorder
	EventDeleted = "Deleted"
	// EventUpdated - Updated in event recorder
	EventUpdated = "Updated"
	// EventCompleted - Completed in event recorder
	EventCompleted = "Completed"

	// Succeeded - constant
	Succeeded CSMOperatorConditionType = "Succeeded"
	// InvalidConfig - constant
	InvalidConfig CSMOperatorConditionType = "InvalidConfig"
	// Running - Constant
	Running CSMOperatorConditionType = "Running"
	// Error - Constant
	Error CSMOperatorConditionType = "Error"
	// Updating - Constant
	Updating CSMOperatorConditionType = "Updating"
	// Failed - Constant
	Failed CSMOperatorConditionType = "Failed"
)

Variables

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

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

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

Functions

This section is empty.

Types

type AccType added in v1.6.0

type AccType string

AccType - the type of the client

type ApexConnectivityClient added in v1.4.0

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

	Spec   ApexConnectivityClientSpec   `json:"spec,omitempty"`
	Status ApexConnectivityClientStatus `json:"status,omitempty"`
}

ApexConnectivityClient is the Schema for the ApexConnectivityClient API

func (*ApexConnectivityClient) DeepCopy added in v1.4.0

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

func (*ApexConnectivityClient) DeepCopyInto added in v1.4.0

func (in *ApexConnectivityClient) DeepCopyInto(out *ApexConnectivityClient)

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

func (*ApexConnectivityClient) DeepCopyObject added in v1.4.0

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

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

func (*ApexConnectivityClient) GetApexConnectivityClientName added in v1.4.0

func (cr *ApexConnectivityClient) GetApexConnectivityClientName() string

GetApexConnectivityClientName - Returns the Client

func (*ApexConnectivityClient) GetApexConnectivityClientSpec added in v1.4.0

func (cr *ApexConnectivityClient) GetApexConnectivityClientSpec() *ApexConnectivityClientSpec

GetApexConnectivityClientSpec - Returns a pointer to the GetApexConnectivityClientSpec instance

func (*ApexConnectivityClient) GetApexConnectivityClientStatus added in v1.4.0

func (cr *ApexConnectivityClient) GetApexConnectivityClientStatus() *ApexConnectivityClientStatus

GetApexConnectivityClientStatus - Returns a pointer to the client instance

func (*ApexConnectivityClient) GetClientType added in v1.4.0

func (cr *ApexConnectivityClient) GetClientType() ClientType

GetClientType - Returns the client type

func (*ApexConnectivityClient) HasFinalizer added in v1.4.0

func (cr *ApexConnectivityClient) HasFinalizer(finalizerName string) bool

HasFinalizer returns true if the item has the specified finalizer

func (*ApexConnectivityClient) IsBeingDeleted added in v1.4.0

func (cr *ApexConnectivityClient) IsBeingDeleted() bool

IsBeingDeleted - Returns true if a deletion timestamp is set

type ApexConnectivityClientList added in v1.4.0

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

ApexConnectivityClientList contains a list of ApexConnectivityClient +kubebuilder:object:root=true

func (*ApexConnectivityClientList) DeepCopy added in v1.4.0

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

func (*ApexConnectivityClientList) DeepCopyInto added in v1.4.0

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

func (*ApexConnectivityClientList) DeepCopyObject added in v1.4.0

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

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

type ApexConnectivityClientSpec added in v1.4.0

type ApexConnectivityClientSpec struct {

	// Client is a Apex Connectivity Client for Dell Technologies
	Client Client `json:"client,omitempty" yaml:"client,omitempty"`
}

ApexConnectivityClientSpec defines the desired state of ApexConnectivityClient

func (*ApexConnectivityClientSpec) DeepCopy added in v1.4.0

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

func (*ApexConnectivityClientSpec) DeepCopyInto added in v1.4.0

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

type ApexConnectivityClientStatus added in v1.4.0

type ApexConnectivityClientStatus struct {
	// ClientStatus is the status of Client pods
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="ClientStatus",xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses"
	ClientStatus PodStatus `json:"clientStatus,omitempty"`

	// State is the state of the client installation
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="State",xDescriptors="urn:alm:descriptor:text"
	State CSMStateType `json:"state,omitempty" yaml:"state"`
}

ApexConnectivityClientStatus defines the observed state of ApexConnectivityClient

func (*ApexConnectivityClientStatus) DeepCopy added in v1.4.0

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

func (*ApexConnectivityClientStatus) DeepCopyInto added in v1.4.0

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

type CSIDriverSpec

type CSIDriverSpec struct {
	FSGroupPolicy   string `json:"fSGroupPolicy,omitempty" yaml:"fSGroupPolicy,omitempty"`
	StorageCapacity bool   `json:"storageCapacity,omitempty" yaml:"storageCapacity"`
}

CSIDriverSpec struct

func (*CSIDriverSpec) DeepCopy

func (in *CSIDriverSpec) DeepCopy() *CSIDriverSpec

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

func (*CSIDriverSpec) DeepCopyInto

func (in *CSIDriverSpec) DeepCopyInto(out *CSIDriverSpec)

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

type CSMOperatorConditionType

type CSMOperatorConditionType string

CSMOperatorConditionType defines the type of the last status update

type CSMStateType

type CSMStateType string

CSMStateType - type representing the state of the ContainerStorageModule (in status)

type Client added in v1.4.0

type Client struct {
	// ClientType is the Client type for Dell Technologies - e.g, ApexConnectivityClient
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Client Type"
	CSMClientType ClientType `json:"csmClientType" yaml:"csmClientType"`

	// ConfigVersion is the configuration version of the client
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Config Version"
	ConfigVersion string `json:"configVersion" yaml:"configVersion"`

	// Common is the common specification for both controller and node plugins
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Common specification"
	Common ContainerTemplate `json:"common" yaml:"common"`

	// SideCars is the specification for CSI sidecar containers
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CSI SideCars specification"
	SideCars []ContainerTemplate `json:"sideCars,omitempty" yaml:"sideCars"`

	// InitContainers is the specification for Driver InitContainers
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="InitContainers"
	InitContainers []ContainerTemplate `json:"initContainers,omitempty" yaml:"initContainers"`

	// ForceRemoveClient is the boolean flag used to remove client deployment when CR is deleted
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Force Remove Client"
	ForceRemoveClient bool `json:"forceRemoveClient,omitempty" yaml:"forceRemoveClient"`

	// ConnectionTarget is the target that the client connects to in the Dell datacenter
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Connection Target"
	ConnectionTarget string `json:"connectionTarget,omitempty" yaml:"connectionTarget"`

	// UsePrivateCaCerts is used to specify private CA signed certs
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Use Private CA Certs"
	UsePrivateCaCerts bool `json:"usePrivateCaCerts,omitempty" yaml:"usePrivateCaCerts"`
}

Client - APEX Connectivity Client deployment info +k8s:openapi-gen=true

func (*Client) DeepCopy added in v1.4.0

func (in *Client) DeepCopy() *Client

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

func (*Client) DeepCopyInto added in v1.4.0

func (in *Client) DeepCopyInto(out *Client)

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

type ClientType added in v1.4.0

type ClientType string

ClientType - the type of the client

type ContainerStorageModule

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

	Spec   ContainerStorageModuleSpec   `json:"spec,omitempty"`
	Status ContainerStorageModuleStatus `json:"status,omitempty"`
}

ContainerStorageModule is the Schema for the containerstoragemodules API

func (*ContainerStorageModule) DeepCopy

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

func (*ContainerStorageModule) DeepCopyInto

func (in *ContainerStorageModule) DeepCopyInto(out *ContainerStorageModule)

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

func (*ContainerStorageModule) DeepCopyObject

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

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

func (*ContainerStorageModule) GetCSMStatus

GetCSMStatus - Returns a pointer to the driver instance

func (*ContainerStorageModule) GetContainerStorageModuleSpec

func (cr *ContainerStorageModule) GetContainerStorageModuleSpec() *ContainerStorageModuleSpec

GetContainerStorageModuleSpec - Returns a pointer to the GetContainerStorageModuleSpec instance

func (*ContainerStorageModule) GetControllerName

func (cr *ContainerStorageModule) GetControllerName() string

GetControllerName - Returns a controller

func (*ContainerStorageModule) GetDriverType

func (cr *ContainerStorageModule) GetDriverType() DriverType

GetDriverType - Returns the driver type

func (*ContainerStorageModule) GetModule added in v1.6.0

func (cr *ContainerStorageModule) GetModule(moduleType ModuleType) Module

GetModule - Returns the module of type moduleType

func (*ContainerStorageModule) GetNodeName

func (cr *ContainerStorageModule) GetNodeName() string

GetNodeName - Returns the name of the daemonset for the driver

func (*ContainerStorageModule) HasFinalizer

func (cr *ContainerStorageModule) HasFinalizer(finalizerName string) bool

HasFinalizer returns true if the item has the specified finalizer

func (*ContainerStorageModule) HasModule added in v1.6.0

func (cr *ContainerStorageModule) HasModule(moduleType ModuleType) bool

HasModule - Returns true if the cr has a module of type moduleType

func (*ContainerStorageModule) IsBeingDeleted

func (cr *ContainerStorageModule) IsBeingDeleted() bool

IsBeingDeleted - Returns true if a deletion timestamp is set

type ContainerStorageModuleList

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

ContainerStorageModuleList contains a list of ContainerStorageModule

func (*ContainerStorageModuleList) DeepCopy

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

func (*ContainerStorageModuleList) DeepCopyInto

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

func (*ContainerStorageModuleList) DeepCopyObject

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

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

type ContainerStorageModuleSpec

type ContainerStorageModuleSpec struct {

	// Driver is a CSI Drivers for Dell Technologies
	Driver Driver `json:"driver,omitempty" yaml:"driver,omitempty"`

	// Modules is list of Container Storage Module modules you want to deploy
	Modules []Module `json:"modules,omitempty" yaml:"modules,omitempty"`
}

ContainerStorageModuleSpec defines the desired state of ContainerStorageModule

func (*ContainerStorageModuleSpec) DeepCopy

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

func (*ContainerStorageModuleSpec) DeepCopyInto

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

type ContainerStorageModuleStatus

type ContainerStorageModuleStatus struct {
	// ControllerStatus is the status of Controller pods
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="ControllerStatus",xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses"
	ControllerStatus PodStatus `json:"controllerStatus,omitempty"`

	// NodeStatus is the status of Controller pods
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="NodeStatus",xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses"
	NodeStatus PodStatus `json:"nodeStatus,omitempty"`

	// State is the state of the driver installation
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="State",xDescriptors="urn:alm:descriptor:text"
	State CSMStateType `json:"state,omitempty" yaml:"state"`
}

ContainerStorageModuleStatus defines the observed state of ContainerStorageModule

func (*ContainerStorageModuleStatus) DeepCopy

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

func (*ContainerStorageModuleStatus) DeepCopyInto

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

type ContainerTemplate

type ContainerTemplate struct {
	// Name is the name of Container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Container Name"
	Name string `json:"name,omitempty" yaml:"name,omitempty"`

	// Enabled is used to indicate wether or not to deploy a module
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled"
	Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`

	// Image is the image tag for the Container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Container Image"
	Image ImageType `json:"image,omitempty" yaml:"image,omitempty"`

	// ImagePullPolicy is the image pull policy for the image
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Container Image Pull Policy",xDescriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy"
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty" yaml:"imagePullPolicy,omitempty"`

	// Args is the set of arguments for the container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Container Arguments"
	Args []string `json:"args,omitempty" yaml:"args"`

	// Envs is the set of environment variables for the container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Container Environment vars"
	Envs []corev1.EnvVar `json:"envs,omitempty" yaml:"envs"`

	// Tolerations is the list of tolerations for the driver pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tolerations"
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" yaml:"tolerations"`

	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="NodeSelector"
	NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector"`

	// ProxyService is the image tag for the Container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Proxy Service Container Image"
	ProxyService string `json:"proxyService,omitempty" yaml:"proxyService,omitempty"`

	// ProxyServiceReplicas is the number of replicas for the proxy service deployment
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Proxy Service Replicas"
	ProxyServiceReplicas int `json:"proxyServiceReplicas,omitempty" yaml:"proxyServiceReplicas,omitempty"`

	// TenantService is the image tag for the Container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Tenant Service Container Image"
	TenantService string `json:"tenantService,omitempty" yaml:"tenantService,omitempty"`

	// TenantServiceReplicas is the number of replicas for the tenant service deployment
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tenant Service Replicas"
	TenantServiceReplicas int `json:"tenantServiceReplicas,omitempty" yaml:"tenantServiceReplicas,omitempty"`

	// RoleService is the image tag for the Container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Role Service Container Image"
	RoleService string `json:"roleService,omitempty" yaml:"roleService,omitempty"`

	// RoleServiceReplicas is the number of replicas for the role service deployment
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Role Service Replicas"
	RoleServiceReplicas int `json:"roleServiceReplicas,omitempty" yaml:"roleServiceReplicas,omitempty"`

	// StorageService is the image tag for the Container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Storage Service Container Image"
	StorageService string `json:"storageService,omitempty" yaml:"storageService,omitempty"`

	// StorageServiceReplicas is the number of replicas for storage service deployment
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage Service Replicas"
	StorageServiceReplicas int `json:"storageServiceReplicas,omitempty" yaml:"storageServiceReplicas,omitempty"`

	// AuthorizationController is the image tag for the container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Controller Container Image"
	AuthorizationController string `json:"authorizationController,omitempty" yaml:"authorizationController,omitempty"`

	// AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Controller Replicas"
	AuthorizationControllerReplicas int `json:"authorizationControllerReplicas,omitempty" yaml:"authorizationControllerReplicas,omitempty"`

	// LeaderElection is boolean flag to enable leader election
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Leader Election"
	LeaderElection bool `json:"leaderElection,omitempty" yaml:"leaderElection,omitempty"`

	// The interval which the reconcile of each controller is run
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Controller Reconcile Interval"
	ControllerReconcileInterval string `json:"controllerReconcileInterval,omitempty" yaml:"controllerReconcileInterval,omitempty"`

	// Redis is the image tag for the Container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Redis Container Image"
	Redis string `json:"redis,omitempty" yaml:"redis,omitempty"`

	// Commander is the image tag for the Container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Commander Container Image"
	Commander string `json:"commander,omitempty" yaml:"commander,omitempty"`

	// Opa is the image tag for the Container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Opa Container Image"
	Opa string `json:"opa,omitempty" yaml:"opa,omitempty"`

	// OpaKubeMgmt is the image tag for the Container
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Opa Kube Management Container Image"
	OpaKubeMgmt string `json:"opaKubeMgmt,omitempty" yaml:"opaKubeMgmt,omitempty"`

	// Hostname is the authorization proxy server hostname
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Proxy Server Hostname"
	Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"`

	// ProxyServerIngress is the authorization proxy server ingress configuration
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Proxy Server ingress configuration"
	ProxyServerIngress []ProxyServerIngress `json:"proxyServerIngress,omitempty" yaml:"proxyServerIngress,omitempty"`

	// RedisStorageClass is the authorization proxy server redis storage class for persistence
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Proxy Server Redis storage class"
	RedisStorageClass string `json:"storageclass,omitempty" yaml:"storageclass,omitempty"`

	// VaultAddress is the address of the vault
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Vault Address"
	VaultAddress string `json:"vaultAddress,omitempty" yaml:"vaultAddress,omitempty"`

	// VaultRole is the role for the vault
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Vault Role"
	VaultRole string `json:"vaultRole,omitempty" yaml:"vaultRole,omitempty"`

	// skipCertificateValidation is the flag to skip certificate validation
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Skip Certificate Validation"
	SkipCertificateValidation bool `json:"skipCertificateValidation,omitempty" yaml:"skipCertificateValidation,omitempty"`

	// kvEnginePath is the Authorization vault secret path
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization KV Engine Path"
	KvEnginePath string `json:"kvEnginePath,omitempty" yaml:"kvEnginePath,omitempty"`

	// RedisName is the name of the redis statefulset
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Redis StatefulSet Name"
	RedisName string `json:"redisName,omitempty" yaml:"redisName,omitempty"`

	// RedisCommander is the name of the redis deployment
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Redis Deployment Name"
	RedisCommander string `json:"redisCommander,omitempty" yaml:"redisCommander,omitempty"`

	// RedisReplicas is the number of replicas for the redis deployment
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Redis Deployment Replicas"
	RedisReplicas int `json:"redisReplicas,omitempty" yaml:"redisReplicas,omitempty"`

	// Sentinel is the name of the sentinel statefulSet
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Sentinel StatefulSet Name"
	Sentinel string `json:"sentinel,omitempty" yaml:"sentinel,omitempty"`

	// ReplicaCount is the replica count for app mobility
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Application Mobility Replica Count"
	ReplicaCount string `json:"replicaCount,omitempty" yaml:"replicaCount,omitempty"`

	// VeleroNamespace is the namespace that Velero is installed in
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Velero namespace"
	VeleroNamespace string `json:"veleroNamespace,omitempty" yaml:"veleroNamespace,omitempty"`

	// LicenseName is the name of the license for app-mobility
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="License Name for Application Mobility"
	LicenseName string `json:"licenseName,omitempty" yaml:"licenseName,omitempty"`

	// ObjectStoreSecretName is the name of the secret for the object store for app-mobility
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Application Mobility Object Store Secret"
	ObjectStoreSecretName string `json:"objectStoreSecretName,omitempty" yaml:"objectStoreSecretName,omitempty"`

	// UseSnapshot is to check whether volume snapshot is enabled under velero component
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="use-volume-snapshots for Application Mobilit- Velero"
	UseSnapshot bool `json:"useVolumeSnapshot,omitempty" yaml:"useVolumeSnapshot,omitempty"`

	// ComponentCred is to store the velero credential contents
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="ComponentCred for velero component"
	ComponentCred []Credential `json:"credentials,omitempty" yaml:"credentials,omitempty"`

	// DeployNodeAgent is to enable/disable node-agent services
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Deploy node-agent for Application Mobility"
	DeployNodeAgent bool `json:"deployNodeAgent,omitempty" yaml:"deployNodeAgent,omitempty"`

	// Certificate is a certificate used for a certificate/private-key pair
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Certificate for certificate/private-key pair"
	Certificate string `json:"certificate,omitempty" yaml:"certificate,omitempty"`

	// PrivateKey is a private key used for a certificate/private-key pair
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Private key for certificate/private-key pair"
	PrivateKey string `json:"privateKey,omitempty" yaml:"privateKey,omitempty"`

	// CertificateAuthority is a certificate authority used to validate a certificate
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Certificate authority for validating a certificate"
	CertificateAuthority string `json:"certificateAuthority,omitempty" yaml:"certificateAuthority,omitempty"`
}

ContainerTemplate template

func (*ContainerTemplate) DeepCopy

func (in *ContainerTemplate) DeepCopy() *ContainerTemplate

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

func (*ContainerTemplate) DeepCopyInto

func (in *ContainerTemplate) DeepCopyInto(out *ContainerTemplate)

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

type Credential added in v1.4.0

type Credential struct {
	// CreateWithInstall is used to indicate wether or not to create a secret for objectstore
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CreateWithInstall"
	CreateWithInstall bool `json:"createWithInstall,omitempty" yaml:"createWithInstall,omitempty"`

	// Name is the name of secret which contains credentials to access objectstore
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Name"
	Name string `json:"name,omitempty" yaml:"name,omitempty"`

	// SecretContents contains credentials to access objectstore
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="secretContents"
	SecretContents Credkey `json:"secretContents,omitempty" yaml:"secretContents"`
}

Credential struct

func (*Credential) DeepCopy added in v1.4.0

func (in *Credential) DeepCopy() *Credential

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

func (*Credential) DeepCopyInto added in v1.4.0

func (in *Credential) DeepCopyInto(out *Credential)

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

type Credkey added in v1.4.0

type Credkey struct {
	// AccessKeyID is a name of key ID to access objectstore
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="AccessKeyID"
	AccessKeyID string `json:"aws_access_key_id,omitempty" yaml:"aws_access_key_id,omitempty"`
	// AccessKey contains the key to access objectstore
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="AccessKey"
	AccessKey string `json:"aws_secret_access_key,omitempty" yaml:"aws_secret_access_key,omitempty"`
}

Credkey struct

func (*Credkey) DeepCopy added in v1.4.0

func (in *Credkey) DeepCopy() *Credkey

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

func (*Credkey) DeepCopyInto added in v1.4.0

func (in *Credkey) DeepCopyInto(out *Credkey)

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

type Driver

type Driver struct {
	// CSIDriverType is the CSI Driver type for Dell Technologies - e.g, powermax, powerflex,...
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CSI Driver Type"
	CSIDriverType DriverType `json:"csiDriverType" yaml:"csiDriverType"`

	// CSIDriverSpec is the specification for CSIDriver
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CSI Driver Spec"
	CSIDriverSpec CSIDriverSpec `json:"csiDriverSpec" yaml:"csiDriverSpec"`

	// ConfigVersion is the configuration version of the driver
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Config Version"
	ConfigVersion string `json:"configVersion" yaml:"configVersion"`

	// Replicas is the count of controllers for Controller plugin
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Controller count"
	Replicas int32 `json:"replicas" yaml:"replicas"`

	// DNSPolicy is the dnsPolicy of the daemonset for Node plugin
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="DNSPolicy"
	DNSPolicy string `json:"dnsPolicy,omitempty" yaml:"dnsPolicy"`

	// Common is the common specification for both controller and node plugins
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Common specification"
	Common ContainerTemplate `json:"common" yaml:"common"`

	// Controller is the specification for Controller plugin only
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Controller Specification"
	Controller ContainerTemplate `json:"controller,omitempty" yaml:"controller"`

	// Node is the specification for Node plugin only
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node specification"
	Node ContainerTemplate `json:"node,omitempty" yaml:"node"`

	// SideCars is the specification for CSI sidecar containers
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CSI SideCars specification"
	SideCars []ContainerTemplate `json:"sideCars,omitempty" yaml:"sideCars"`

	// InitContainers is the specification for Driver InitContainers
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="InitContainers"
	InitContainers []ContainerTemplate `json:"initContainers,omitempty" yaml:"initContainers"`

	// SnapshotClass is the specification for Snapshot Classes
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Snapshot Classes"
	SnapshotClass []SnapshotClass `json:"snapshotClass,omitempty" yaml:"snapshotClass"`

	// ForceUpdate is the boolean flag used to force an update of the driver instance
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Force update"
	ForceUpdate bool `json:"forceUpdate,omitempty" yaml:"forceUpdate"`

	// AuthSecret is the name of the credentials secret for the driver
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Auth Secret"
	AuthSecret string `json:"authSecret,omitempty" yaml:"authSecret"`

	// TLSCertSecret is the name of the TLS Cert secret
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLSCert Secret"
	TLSCertSecret string `json:"tlsCertSecret,omitempty" yaml:"tlsCertSecret"`

	// ForceRemoveDriver is the boolean flag used to remove driver deployment when CR is deleted
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Force Remove Driver"
	ForceRemoveDriver bool `json:"forceRemoveDriver,omitempty" yaml:"forceRemoveDriver"`
}

Driver of CSIDriver +k8s:openapi-gen=true

func (*Driver) DeepCopy

func (in *Driver) DeepCopy() *Driver

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

func (*Driver) DeepCopyInto

func (in *Driver) DeepCopyInto(out *Driver)

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

type DriverType

type DriverType string

DriverType - type representing the type of the driver. e.g. - powermax, unity

type ImageType

type ImageType string

ImageType - represents type of image

type Module

type Module struct {
	// Name is name of ContainerStorageModule modules
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Name"
	Name ModuleType `json:"name" yaml:"name"`

	// Enabled is used to indicate whether or not to deploy a module
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled"
	Enabled bool `json:"enabled" yaml:"enabled"`

	// ConfigVersion is the configuration version of the module
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Config Version"
	ConfigVersion string `json:"configVersion,omitempty" yaml:"configVersion,omitempty"`

	// Components is the specification for CSM components containers
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="ContainerStorageModule components specification"
	Components []ContainerTemplate `json:"components,omitempty" yaml:"components,omitempty"`

	// ForceRemoveModule is the boolean flag used to remove authorization proxy server deployment when CR is deleted
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Force Remove Module"
	ForceRemoveModule bool `json:"forceRemoveModule,omitempty" yaml:"forceRemoveModule"`

	// InitContainer is the specification for Module InitContainer
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="InitContainer"
	InitContainer []ContainerTemplate `json:"initContainer,omitempty" yaml:"initContainer"`
}

Module defines the desired state of a ContainerStorageModule

func (*Module) DeepCopy

func (in *Module) DeepCopy() *Module

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

func (*Module) DeepCopyInto

func (in *Module) DeepCopyInto(out *Module)

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

type ModuleType

type ModuleType string

ModuleType - type representing the type of the modules. e.g. - authorization, podmon

type ObservabilityComponentType

type ObservabilityComponentType string

ObservabilityComponentType - type representing the type of components inside observability module. e.g. - topology

type PodStatus

type PodStatus struct {
	Available string `json:"available,omitempty"`
	Desired   string `json:"desired,omitempty"`
	Failed    string `json:"failed,omitempty"`
}

PodStatus - Represents PodStatus in a daemonset or deployment

func (*PodStatus) DeepCopy

func (in *PodStatus) DeepCopy() *PodStatus

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

func (*PodStatus) DeepCopyInto

func (in *PodStatus) DeepCopyInto(out *PodStatus)

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

type ProxyServerIngress added in v1.6.0

type ProxyServerIngress struct {
	// IngressClassName is the ingressClassName
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Proxy Server Ingress Class Name"
	IngressClassName string `json:"ingressClassName,omitempty" yaml:"ingressClassName,omitempty"`

	// Hosts is the hosts rules for the ingress
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Proxy Server Hosts"
	Hosts []string `json:"hosts,omitempty" yaml:"hosts,omitempty"`

	// Annotations is an unstructured key value map that stores additional annotations for the ingress
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization Proxy Server Annotations"
	Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"`
}

ProxyServerIngress is the authorization ingress configuration struct

func (*ProxyServerIngress) DeepCopy added in v1.6.0

func (in *ProxyServerIngress) DeepCopy() *ProxyServerIngress

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

func (*ProxyServerIngress) DeepCopyInto added in v1.6.0

func (in *ProxyServerIngress) DeepCopyInto(out *ProxyServerIngress)

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

type SnapshotClass

type SnapshotClass struct {
	// Name is the name of the Snapshot Class
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Snapshot Class Name"
	Name string `json:"name" yaml:"name"`

	// Parameters is a map of driver specific parameters for snapshot class
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Snapshot Class Parameters"
	Parameters map[string]string `json:"parameters,omitempty" yaml:"parameters"`
}

SnapshotClass struct

func (*SnapshotClass) DeepCopy

func (in *SnapshotClass) DeepCopy() *SnapshotClass

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

func (*SnapshotClass) DeepCopyInto

func (in *SnapshotClass) DeepCopyInto(out *SnapshotClass)

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