v1beta1

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2024 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the dataplane v1beta1 API group +kubebuilder:object:generate=true +groupName=dataplane.openstack.org

Index

Constants

View Source
const (
	// DataPlaneNodeSetErrorMessage error
	DataPlaneNodeSetErrorMessage = "DataPlaneNodeSet error occurred %s"

	// ServiceReadyCondition Status=True condition indicates if the
	// service is finished and successful.
	ServiceReadyCondition condition.Type = "ServiceReady"

	// ServiceReadyMessage ready
	ServiceReadyMessage = "%s service ready"

	// ServiceReadyWaitingMessage not yet ready
	ServiceReadyWaitingMessage = "%s service not yet ready"

	// ServiceErrorMessage error
	ServiceErrorMessage = "Service error occurred %s"

	// SetupReadyCondition - Overall setup condition
	SetupReadyCondition condition.Type = "SetupReady"

	// NodeSetReadyMessage - NodeSet Ready
	NodeSetReadyMessage = "NodeSet Ready"

	// NodeSetBareMetalProvisionReadyCondition Status=True condition indicates
	// all baremetal nodes provisioned for the NodeSet.
	NodeSetBareMetalProvisionReadyCondition condition.Type = "NodeSetBaremetalProvisionReady"

	// NodeSetBaremetalProvisionReadyMessage ready
	NodeSetBaremetalProvisionReadyMessage = "NodeSetBaremetalProvisionReady ready"

	// NodeSetBaremetalProvisionReadyWaitingMessage not yet ready
	NodeSetBaremetalProvisionReadyWaitingMessage = "NodeSetBaremetalProvisionReady not yet ready"

	// NodeSetBaremetalProvisionErrorMessage error
	NodeSetBaremetalProvisionErrorMessage = "NodeSetBaremetalProvisionReady error occurred %s"

	// NodeSetIPReservationReadyCondition Status=True condition indicates
	// IPSets reserved for all nodes in a NodeSet.
	NodeSetIPReservationReadyCondition condition.Type = "NodeSetIPReservationReady"

	// NodeSetIPReservationReadyMessage ready
	NodeSetIPReservationReadyMessage = "NodeSetIPReservationReady ready"

	// NodeSetIPReservationReadyWaitingMessage not yet ready
	NodeSetIPReservationReadyWaitingMessage = "NodeSetIPReservationReady not yet ready"

	// NodeSetIPReservationReadyErrorMessage error
	NodeSetIPReservationReadyErrorMessage = "NodeSetIPReservationReady error occurred %s"

	// NodeSetDNSDataReadyCondition Status=True condition indicates
	// DNSData created for the NodeSet.
	NodeSetDNSDataReadyCondition condition.Type = "NodeSetDNSDataReady"

	// NodeSetDNSDataReadyMessage ready
	NodeSetDNSDataReadyMessage = "NodeSetDNSDataReady ready"

	// NodeSetDNSDataReadyWaitingMessage not yet ready
	NodeSetDNSDataReadyWaitingMessage = "NodeSetDNSDataReady not yet ready"

	// NodeSetDNSDataReadyErrorMessage error
	NodeSetDNSDataReadyErrorMessage = "NodeSetDNSDataReady error occurred %s"

	// NodeSetDNSDataMultipleDNSMasqErrorMessage error
	NodeSetDNSDataMultipleDNSMasqErrorMessage = "NodeSet DNSData error occurred. Multiple DNSMasq resources exist"

	// InputReadyWaitingMessage not yet ready
	InputReadyWaitingMessage = "Waiting for input %s, not yet ready"

	// NodeSetDeploymentReadyCondition Status=True condition indicates if the
	// NodeSet Deployment is finished and successful.
	NodeSetDeploymentReadyCondition condition.Type = "NodeSetDeploymentReady"

	// NodeSetDeploymentReadyMessage ready
	NodeSetDeploymentReadyMessage = "Deployment ready for NodeSet"

	// NodeSetDeploymentReadyWaitingMessage not yet ready
	NodeSetDeploymentReadyWaitingMessage = "Deployment not yet ready for NodeSet"

	// NodeSetDeploymentErrorMessage error
	NodeSetDeploymentErrorMessage = "Deployment error occurred %s for NodeSet"

	// NodeSetServiceDeploymentReadyMessage ready
	NodeSetServiceDeploymentReadyMessage = "Deployment ready for %s service"

	// NodeSetServiceDeploymentReadyWaitingMessage not yet ready
	NodeSetServiceDeploymentReadyWaitingMessage = "Deployment not yet ready for %s service"

	// NodeSetServiceDeploymentErrorMessage error
	NodeSetServiceDeploymentErrorMessage = "Deployment error occurred in %s service"
)
View Source
const (
	// CtlPlaneNetwork - default ctlplane Network Name in NetConfig
	CtlPlaneNetwork = "ctlplane"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "dataplane.openstack.org", Version: "v1beta1"}

	// 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 ContainerImageDefaults = openstackv1.ContainerImages{
	ContainerTemplate: openstackv1.ContainerTemplate{
		AgentImage:                    getStrPtr("quay.io/openstack-k8s-operators/openstack-baremetal-operator-agent:current-podified"),
		AnsibleeeImage:                getStrPtr("quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest"),
		ApacheImage:                   getStrPtr("registry.redhat.io/ubi9/httpd-24:latest"),
		EdpmFrrImage:                  getStrPtr("quay.io/podified-antelope-centos9/openstack-frr:current-podified"),
		EdpmIscsidImage:               getStrPtr("quay.io/podified-antelope-centos9/openstack-iscsid:current-podified"),
		EdpmLogrotateCrondImage:       getStrPtr("quay.io/podified-antelope-centos9/openstack-cron:current-podified"),
		EdpmNeutronDhcpAgentImage:     getStrPtr("quay.io/podified-antelope-centos9/openstack-neutron-dhcp-agent:current-podified"),
		EdpmNeutronMetadataAgentImage: getStrPtr("quay.io/podified-antelope-centos9/openstack-neutron-metadata-agent-ovn:current-podified"),
		EdpmNeutronOvnAgentImage:      getStrPtr("quay.io/podified-antelope-centos9/openstack-neutron-ovn-agent:current-podified"),
		EdpmNeutronSriovAgentImage:    getStrPtr("quay.io/podified-antelope-centos9/openstack-neutron-sriov-agent:current-podified"),
		EdpmMultipathdImage:           getStrPtr("quay.io/podified-antelope-centos9/openstack-multipathd:current-podified"),
		NovaComputeImage:              getStrPtr("quay.io/podified-antelope-centos9/openstack-nova-compute:current-podified"),
		OvnControllerImage:            getStrPtr("quay.io/podified-antelope-centos9/openstack-ovn-controller:current-podified"),
		EdpmOvnBgpAgentImage:          getStrPtr("quay.io/podified-antelope-centos9/openstack-ovn-bgp-agent:current-podified"),
		CeilometerComputeImage:        getStrPtr("quay.io/podified-antelope-centos9/openstack-telemetry-ceilometer-compute:current-podified"),
		CeilometerIpmiImage:           getStrPtr("quay.io/podified-antelope-centos9/openstack-telemetry-ceilometer-ipmi:current-podified"),
		EdpmNodeExporterImage:         getStrPtr("quay.io/prometheus/node-exporter:v1.5.0"),
		EdpmKeplerImage:               getStrPtr("quay.io/sustainable_computing_io/kepler:release-0.7.11"),
		OsContainerImage:              getStrPtr("quay.io/podified-antelope-centos9/edpm-hardened-uefi:current-podified"),
	}}

ContainerImageDefaults - the hardcoded defaults which are the last fallback if no values are set elsewhere.

ContainerImages - the values if no OpenStackVersion is used

Functions

func NodeHostNameIsFQDN

func NodeHostNameIsFQDN(hostname string) bool

NodeHostNameIsFQDN Helper to check if a hostname is fqdn

func SetupDefaults

func SetupDefaults()

SetupDefaults - initializes any CRD field defaults based on environment variables called from main.go

Types

type AnsibleEESpec

type AnsibleEESpec struct {
	// ExtraMounts containing files which can be mounted into an Ansible Execution Pod
	ExtraMounts []storage.VolMounts `json:"extraMounts,omitempty"`
	// Env is a list containing the environment variables to pass to the pod
	Env []corev1.EnvVar `json:"env,omitempty"`
	// ExtraVars for ansible execution
	ExtraVars map[string]json.RawMessage `json:"extraVars,omitempty"`
	// DNSConfig for setting dnsservers
	DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"`
	// NetworkAttachments is a list of NetworkAttachment resource names to pass to the ansibleee resource
	// which allows to connect the ansibleee runner to the given network
	NetworkAttachments []string `json:"networkAttachments"`
	// OpenStackAnsibleEERunnerImage image to use as the ansibleEE runner image
	OpenStackAnsibleEERunnerImage string `json:"openStackAnsibleEERunnerImage,omitempty"`
	// AnsibleTags for ansible execution
	AnsibleTags string `json:"ansibleTags,omitempty"`
	// AnsibleLimit for ansible execution
	AnsibleLimit string `json:"ansibleLimit,omitempty"`
	// AnsibleSkipTags for ansible execution
	AnsibleSkipTags string `json:"ansibleSkipTags,omitempty"`
	// ServiceAccountName allows to specify what ServiceAccountName do we want
	// the ansible execution run with. Without specifying, it will run with
	// default serviceaccount
	ServiceAccountName string
}

AnsibleEESpec is a specification of the ansible EE attributes

func (*AnsibleEESpec) DeepCopy

func (in *AnsibleEESpec) DeepCopy() *AnsibleEESpec

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

func (*AnsibleEESpec) DeepCopyInto

func (in *AnsibleEESpec) DeepCopyInto(out *AnsibleEESpec)

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

type AnsibleOpts

type AnsibleOpts struct {
	// AnsibleUser SSH user for Ansible connection
	// +kubebuilder:validation:Optional
	AnsibleUser string `json:"ansibleUser"`

	// AnsibleHost SSH host for Ansible connection
	// +kubebuilder:validation:Optional
	AnsibleHost string `json:"ansibleHost,omitempty"`

	// AnsibleVars for configuring ansible
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	AnsibleVars map[string]json.RawMessage `json:"ansibleVars,omitempty"`

	// AnsibleVarsFrom is a list of sources to populate ansible variables from.
	// Values defined by an AnsibleVars with a duplicate key take precedence.
	// +kubebuilder:validation:Optional
	AnsibleVarsFrom []DataSource `json:"ansibleVarsFrom,omitempty"`

	// AnsiblePort SSH port for Ansible connection
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"}
	AnsiblePort int `json:"ansiblePort,omitempty"`
}

AnsibleOpts defines a logical grouping of Ansible related configuration options.

func (*AnsibleOpts) DeepCopy

func (in *AnsibleOpts) DeepCopy() *AnsibleOpts

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

func (*AnsibleOpts) DeepCopyInto

func (in *AnsibleOpts) DeepCopyInto(out *AnsibleOpts)

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

type ConfigMapEnvSource

type ConfigMapEnvSource struct {
	// The ConfigMap to select from.
	LocalObjectReference `json:",inline" yaml:",inline"`
	// Specify whether the ConfigMap must be defined
	// +optional
	Optional *bool `json:"optional,omitempty" yaml:"optional,omitempty"`
}

ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.

The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.

func (*ConfigMapEnvSource) DeepCopy

func (in *ConfigMapEnvSource) DeepCopy() *ConfigMapEnvSource

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

func (*ConfigMapEnvSource) DeepCopyInto

func (in *ConfigMapEnvSource) DeepCopyInto(out *ConfigMapEnvSource)

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

type DataSource

type DataSource struct {
	// An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
	// +optional
	Prefix string `json:"prefix,omitempty" yaml:"prefix,omitempty"`
	// The ConfigMap to select from
	// +optional
	ConfigMapRef *ConfigMapEnvSource `json:"configMapRef,omitempty" yaml:"configMapRef,omitempty"`
	// The Secret to select from
	// +optional
	SecretRef *SecretEnvSource `json:"secretRef,omitempty" yaml:"secretRef,omitempty"`
}

DataSource represents the source of a set of ConfigMaps/Secrets

func (*DataSource) DeepCopy

func (in *DataSource) DeepCopy() *DataSource

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

func (*DataSource) DeepCopyInto

func (in *DataSource) DeepCopyInto(out *DataSource)

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

type LocalObjectReference

type LocalObjectReference struct {
	// Name of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
	// TODO: Add other useful fields. apiVersion, kind, uid?
	// +optional
	// +kubebuilder:validation:MaxLength:=253
	Name string `json:"name,omitempty" yaml:"name,omitempty"`
}

LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. +structType=atomic

func (*LocalObjectReference) DeepCopy

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

func (*LocalObjectReference) DeepCopyInto

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

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

type NodeSection

type NodeSection struct {
	// Networks - Instance networks
	// +kubebuilder:validation:Optional
	Networks []infranetworkv1.IPSetNetwork `json:"networks,omitempty"`

	// +kubebuilder:validation:Optional
	// BmhLabelSelector allows for a sub-selection of BaremetalHosts based on arbitrary labels for a node.
	BmhLabelSelector map[string]string `json:"bmhLabelSelector,omitempty"`

	// UserData  node specific user-data
	// +kubebuilder:validation:Optional
	UserData *corev1.SecretReference `json:"userData,omitempty"`

	// NetworkData  node specific network-data
	// +kubebuilder:validation:Optional
	NetworkData *corev1.SecretReference `json:"networkData,omitempty"`

	// Ansible is the group of Ansible related configuration options.
	// +kubebuilder:validation:Optional
	Ansible AnsibleOpts `json:"ansible,omitempty"`

	// HostName - node name
	// +kubebuilder:validation:Optional
	HostName string `json:"hostName,omitempty"`

	// ManagementNetwork - Name of network to use for management (SSH/Ansible)
	// +kubebuilder:validation:Optional
	ManagementNetwork string `json:"managementNetwork,omitempty"`
}

NodeSection defines the top level attributes inherited by nodes in the CR.

func (*NodeSection) DeepCopy

func (in *NodeSection) DeepCopy() *NodeSection

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

func (*NodeSection) DeepCopyInto

func (in *NodeSection) DeepCopyInto(out *NodeSection)

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

type NodeTemplate

type NodeTemplate struct {
	// ExtraMounts containing files which can be mounted into an Ansible Execution Pod
	// +kubebuilder:validation:Optional
	ExtraMounts []storage.VolMounts `json:"extraMounts,omitempty"`

	// Networks - Instance networks
	// +kubebuilder:validation:Optional
	Networks []infranetworkv1.IPSetNetwork `json:"networks,omitempty"`

	// UserData  node specific user-data
	// +kubebuilder:validation:Optional
	UserData *corev1.SecretReference `json:"userData,omitempty"`

	// NetworkData  node specific network-data
	// +kubebuilder:validation:Optional
	NetworkData *corev1.SecretReference `json:"networkData,omitempty"`

	// AnsibleSSHPrivateKeySecret Name of a private SSH key secret containing
	// private SSH key for connecting to node.
	// The named secret must be of the form:
	// Secret.data.ssh-privatekey: <base64 encoded private key contents>
	// <https://kubernetes.io/docs/concepts/configuration/secret/#ssh-authentication-secrets>
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength:=253
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:io.kubernetes:Secret"}
	AnsibleSSHPrivateKeySecret string `json:"ansibleSSHPrivateKeySecret"`
	// ManagementNetwork - Name of network to use for management (SSH/Ansible)
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=ctlplane
	ManagementNetwork string `json:"managementNetwork"`

	// Ansible is the group of Ansible related configuration options.
	// +kubebuilder:validation:Optional
	Ansible AnsibleOpts `json:"ansible,omitempty"`
}

NodeTemplate is a specification of the node attributes that override top level attributes.

func (*NodeTemplate) DeepCopy

func (in *NodeTemplate) DeepCopy() *NodeTemplate

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

func (*NodeTemplate) DeepCopyInto

func (in *NodeTemplate) DeepCopyInto(out *NodeTemplate)

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

type OpenStackDataPlaneDeployment

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

	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="OpenStackDataPlaneDeployment Spec is immutable"
	Spec   OpenStackDataPlaneDeploymentSpec   `json:"spec,omitempty"`
	Status OpenStackDataPlaneDeploymentStatus `json:"status,omitempty"`
}

OpenStackDataPlaneDeployment is the Schema for the openstackdataplanedeployments API OpenStackDataPlaneDeployment name must be a valid RFC1123 as it is used in labels

func (*OpenStackDataPlaneDeployment) DeepCopy

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

func (*OpenStackDataPlaneDeployment) DeepCopyInto

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

func (*OpenStackDataPlaneDeployment) DeepCopyObject

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

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

func (*OpenStackDataPlaneDeployment) Default

func (r *OpenStackDataPlaneDeployment) Default()

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

func (*OpenStackDataPlaneDeployment) InitConditions

func (instance *OpenStackDataPlaneDeployment) InitConditions()

InitConditions - Initializes Status Conditons

func (*OpenStackDataPlaneDeployment) InitHashesAndImages

func (instance *OpenStackDataPlaneDeployment) InitHashesAndImages()

InitHashesAndImages - Initialize ConfigHashes and Images

func (OpenStackDataPlaneDeployment) IsReady

func (instance OpenStackDataPlaneDeployment) IsReady() bool

IsReady - returns true if the OpenStackDataPlaneDeployment is ready

func (*OpenStackDataPlaneDeployment) SetupWebhookWithManager

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

SetupWebhookWithManager sets up the webhook with the Manager

func (*OpenStackDataPlaneDeployment) ValidateCreate

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

func (*OpenStackDataPlaneDeployment) ValidateDelete

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

func (*OpenStackDataPlaneDeployment) ValidateUpdate

func (r *OpenStackDataPlaneDeployment) ValidateUpdate(original runtime.Object) (admission.Warnings, error)

type OpenStackDataPlaneDeploymentList

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

OpenStackDataPlaneDeploymentList contains a list of OpenStackDataPlaneDeployment

func (*OpenStackDataPlaneDeploymentList) DeepCopy

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

func (*OpenStackDataPlaneDeploymentList) DeepCopyInto

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

func (*OpenStackDataPlaneDeploymentList) DeepCopyObject

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

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

type OpenStackDataPlaneDeploymentSpec

type OpenStackDataPlaneDeploymentSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems:=1
	// NodeSets is the list of NodeSets deployed
	NodeSets []string `json:"nodeSets"`

	// BackoffLimit allows to define the maximum number of retried executions (defaults to 6).
	// +kubebuilder:default:=6
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"}
	BackoffLimit *int32 `json:"backoffLimit,omitempty"`

	// PreserveJobs - do not delete jobs after they finished e.g. to check logs
	// PreserveJobs default: true
	// +kubebuilder:validation:Enum:=true;false
	// +kubebuilder:default:=true
	PreserveJobs bool `json:"preserveJobs,omitempty"`

	// AnsibleTags for ansible execution
	// +kubebuilder:validation:Optional
	AnsibleTags string `json:"ansibleTags,omitempty"`

	// AnsibleLimit for ansible execution
	// +kubebuilder:validation:Optional
	AnsibleLimit string `json:"ansibleLimit,omitempty"`

	// AnsibleSkipTags for ansible execution
	// +kubebuilder:validation:Optional
	AnsibleSkipTags string `json:"ansibleSkipTags,omitempty"`

	// +kubebuilder:validation:Optional
	// AnsibleExtraVars for ansible execution
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	AnsibleExtraVars map[string]json.RawMessage `json:"ansibleExtraVars,omitempty"`

	// +kubebuilder:validation:Optional
	// ServicesOverride list
	ServicesOverride []string `json:"servicesOverride,omitempty"`

	// Time before the deployment is requeued in seconds
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:default:=15
	DeploymentRequeueTime int `json:"deploymentRequeueTime"`
}

OpenStackDataPlaneDeploymentSpec defines the desired state of OpenStackDataPlaneDeployment

func (*OpenStackDataPlaneDeploymentSpec) DeepCopy

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

func (*OpenStackDataPlaneDeploymentSpec) DeepCopyInto

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

func (*OpenStackDataPlaneDeploymentSpec) Default

func (spec *OpenStackDataPlaneDeploymentSpec) Default()

Default - set defaults for this OpenStackDataPlaneDeployment

func (*OpenStackDataPlaneDeploymentSpec) ValidateCreate

func (r *OpenStackDataPlaneDeploymentSpec) ValidateCreate() field.ErrorList

func (*OpenStackDataPlaneDeploymentSpec) ValidateDelete

func (r *OpenStackDataPlaneDeploymentSpec) ValidateDelete() field.ErrorList

func (*OpenStackDataPlaneDeploymentSpec) ValidateUpdate

func (r *OpenStackDataPlaneDeploymentSpec) ValidateUpdate() field.ErrorList

type OpenStackDataPlaneDeploymentStatus

type OpenStackDataPlaneDeploymentStatus struct {
	// NodeSetConditions
	NodeSetConditions map[string]condition.Conditions `json:"nodeSetConditions,omitempty" optional:"true"`

	// AnsibleEEHashes
	AnsibleEEHashes map[string]string `json:"ansibleEEHashes,omitempty" optional:"true"`

	// ConfigMapHashes
	ConfigMapHashes map[string]string `json:"configMapHashes,omitempty" optional:"true"`

	// SecretHashes
	SecretHashes map[string]string `json:"secretHashes,omitempty" optional:"true"`

	// NodeSetHashes
	NodeSetHashes map[string]string `json:"nodeSetHashes,omitempty" optional:"true"`

	// ContainerImages
	ContainerImages map[string]string `json:"containerImages,omitempty"`

	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:io.kubernetes.conditions"}
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	//ObservedGeneration - the most recent generation observed for this Deployment. If the observed generation is less than the spec generation, then the controller has not processed the latest changes.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// DeployedVersion
	DeployedVersion string `json:"deployedVersion,omitempty"`

	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// Deployed
	Deployed bool `json:"deployed,omitempty" optional:"true"`
}

OpenStackDataPlaneDeploymentStatus defines the observed state of OpenStackDataPlaneDeployment

func (*OpenStackDataPlaneDeploymentStatus) DeepCopy

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

func (*OpenStackDataPlaneDeploymentStatus) DeepCopyInto

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

type OpenStackDataPlaneNodeSet

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

	Spec   OpenStackDataPlaneNodeSetSpec   `json:"spec,omitempty"`
	Status OpenStackDataPlaneNodeSetStatus `json:"status,omitempty"`
}

OpenStackDataPlaneNodeSet is the Schema for the openstackdataplanenodesets API OpenStackDataPlaneNodeSet name must be a valid RFC1123 as it is used in labels

func (*OpenStackDataPlaneNodeSet) DeepCopy

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

func (*OpenStackDataPlaneNodeSet) DeepCopyInto

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

func (*OpenStackDataPlaneNodeSet) DeepCopyObject

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

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

func (*OpenStackDataPlaneNodeSet) Default

func (r *OpenStackDataPlaneNodeSet) Default()

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

func (OpenStackDataPlaneNodeSet) GetAnsibleEESpec

func (instance OpenStackDataPlaneNodeSet) GetAnsibleEESpec() AnsibleEESpec

GetAnsibleEESpec - get the fields that will be passed to AEE

func (*OpenStackDataPlaneNodeSet) InitConditions

func (instance *OpenStackDataPlaneNodeSet) InitConditions()

InitConditions - Initializes Status Conditons

func (OpenStackDataPlaneNodeSet) IsReady

func (instance OpenStackDataPlaneNodeSet) IsReady() bool

IsReady - returns true if the DataPlane is ready

func (*OpenStackDataPlaneNodeSet) SetupWebhookWithManager

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

SetupWebhookWithManager sets up the webhook with the Manager

func (*OpenStackDataPlaneNodeSet) ValidateCreate

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

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

func (*OpenStackDataPlaneNodeSet) ValidateDelete

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

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

func (*OpenStackDataPlaneNodeSet) ValidateUpdate

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

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

type OpenStackDataPlaneNodeSetList

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

OpenStackDataPlaneNodeSetList contains a list of OpenStackDataPlaneNodeSets

func (*OpenStackDataPlaneNodeSetList) DeepCopy

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

func (*OpenStackDataPlaneNodeSetList) DeepCopyInto

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

func (*OpenStackDataPlaneNodeSetList) DeepCopyObject

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

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

type OpenStackDataPlaneNodeSetSpec

type OpenStackDataPlaneNodeSetSpec struct {
	// +kubebuilder:validation:Optional
	// BaremetalSetTemplate Template for BaremetalSet for the NodeSet
	BaremetalSetTemplate baremetalv1.OpenStackBaremetalSetSpec `json:"baremetalSetTemplate,omitempty"`

	// +kubebuilder:validation:Required
	// NodeTemplate - node attributes specific to nodes defined by this resource. These
	// attributes can be overriden at the individual node level, else take their defaults
	// from valus in this section.
	NodeTemplate NodeTemplate `json:"nodeTemplate"`

	// Nodes - Map of Node Names and node specific data. Values here override defaults in the
	// upper level section.
	// +kubebuilder:validation:Required
	Nodes map[string]NodeSection `json:"nodes"`

	// Env is a list containing the environment variables to pass to the pod
	// Variables modifying behavior of AnsibleEE can be specified here.
	// +kubebuilder:validation:Optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// +kubebuilder:validation:Optional
	// NetworkAttachments is a list of NetworkAttachment resource names to pass to the ansibleee resource
	// which allows to connect the ansibleee runner to the given network
	NetworkAttachments []string `json:"networkAttachments,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={download-cache,bootstrap,configure-network,validate-network,install-os,configure-os,ssh-known-hosts,run-os,reboot-os,install-certs,ovn,neutron-metadata,libvirt,nova,telemetry}
	// Services list
	Services []string `json:"services"`

	// Tags - Additional tags for NodeSet
	// +kubebuilder:validation:Optional
	Tags []string `json:"tags,omitempty"`

	// SecretMaxSize - Maximum size in bytes of a Kubernetes secret. This size is currently situated around
	// 1 MiB (nearly 1 MB).
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1048576
	SecretMaxSize int `json:"secretMaxSize" yaml:"secretMaxSize"`

	// +kubebuilder:validation:Optional
	//
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// PreProvisioned - Set to true if the nodes have been Pre Provisioned.
	PreProvisioned bool `json:"preProvisioned,omitempty"`

	// TLSEnabled - Whether the node set has TLS enabled.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	TLSEnabled bool `json:"tlsEnabled" yaml:"tlsEnabled"`
}

OpenStackDataPlaneNodeSetSpec defines the desired state of OpenStackDataPlaneNodeSet

func (*OpenStackDataPlaneNodeSetSpec) DeepCopy

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

func (*OpenStackDataPlaneNodeSetSpec) DeepCopyInto

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

func (*OpenStackDataPlaneNodeSetSpec) Default

func (spec *OpenStackDataPlaneNodeSetSpec) Default()

Default - set defaults for this OpenStackDataPlaneNodeSet Spec

func (*OpenStackDataPlaneNodeSetSpec) TLSMatch added in v0.5.0

Do TLS flags match in control plane ingress, pods and data plane

func (*OpenStackDataPlaneNodeSetSpec) ValidateDelete

func (r *OpenStackDataPlaneNodeSetSpec) ValidateDelete() field.ErrorList

func (*OpenStackDataPlaneNodeSetSpec) ValidateTLS added in v0.5.0

func (r *OpenStackDataPlaneNodeSetSpec) ValidateTLS(namespace string, reconcilerClient client.Client, ctx context.Context) error

Compare TLS settings of control plane and data plane if control plane name is specified attempt to retrieve it otherwise get any control plane in the namespace

func (*OpenStackDataPlaneNodeSetSpec) ValidateUpdate

type OpenStackDataPlaneNodeSetStatus

type OpenStackDataPlaneNodeSetStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:io.kubernetes.conditions"}
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// DeploymentStatuses
	DeploymentStatuses map[string]condition.Conditions `json:"deploymentStatuses,omitempty" optional:"true"`

	// AllHostnames
	AllHostnames map[string]map[infranetworkv1.NetNameStr]string `json:"allHostnames,omitempty" optional:"true"`

	// AllIPs
	AllIPs map[string]map[infranetworkv1.NetNameStr]string `json:"allIPs,omitempty" optional:"true"`

	// ConfigMapHashes
	ConfigMapHashes map[string]string `json:"configMapHashes,omitempty" optional:"true"`

	// SecretHashes
	SecretHashes map[string]string `json:"secretHashes,omitempty" optional:"true"`

	// DNSClusterAddresses
	DNSClusterAddresses []string `json:"dnsClusterAddresses,omitempty" optional:"true"`

	// ContainerImages
	ContainerImages map[string]string `json:"containerImages,omitempty" optional:"true"`

	// CtlplaneSearchDomain
	CtlplaneSearchDomain string `json:"ctlplaneSearchDomain,omitempty" optional:"true"`

	// ConfigHash - holds the curret hash of the NodeTemplate and Node sections of the struct.
	// This hash is used to determine when new Ansible executions are required to roll
	// out config changes.
	ConfigHash string `json:"configHash,omitempty"`

	// DeployedConfigHash - holds the hash of the NodeTemplate and Node sections of the struct
	// that was last deployed.
	// This hash is used to determine when new Ansible executions are required to roll
	// out config changes.
	DeployedConfigHash string `json:"deployedConfigHash,omitempty"`

	// InventorySecretName Name of a secret containing the ansible inventory
	InventorySecretName string `json:"inventorySecretName,omitempty"`

	//ObservedGeneration - the most recent generation observed for this NodeSet. If the observed generation is less than the spec generation, then the controller has not processed the latest changes.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// DeployedVersion
	DeployedVersion string `json:"deployedVersion,omitempty"`
}

OpenStackDataPlaneNodeSetStatus defines the observed state of OpenStackDataPlaneNodeSet

func (*OpenStackDataPlaneNodeSetStatus) DeepCopy

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

func (*OpenStackDataPlaneNodeSetStatus) DeepCopyInto

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

type OpenStackDataPlaneService

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

	Spec   OpenStackDataPlaneServiceSpec   `json:"spec,omitempty"`
	Status OpenStackDataPlaneServiceStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=osdps;osdpservice;osdpservices +operator-sdk:csv:customresourcedefinitions:displayName="OpenStack Data Plane Service" OpenStackDataPlaneService is the Schema for the openstackdataplaneservices API OpenStackDataPlaneService name must be a valid RFC1123 as it is used in labels

func (*OpenStackDataPlaneService) DeepCopy

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

func (*OpenStackDataPlaneService) DeepCopyInto

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

func (*OpenStackDataPlaneService) DeepCopyObject

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

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

func (*OpenStackDataPlaneService) Default

func (r *OpenStackDataPlaneService) Default()

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

func (*OpenStackDataPlaneService) DefaultLabels

func (r *OpenStackDataPlaneService) DefaultLabels()

DefaultLabel - adding default label to the OpenStackDataPlaneService

func (*OpenStackDataPlaneService) SetupWebhookWithManager

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

SetupWebhookWithManager sets up the webhook with the Manager

func (*OpenStackDataPlaneService) ValidateCreate

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

func (*OpenStackDataPlaneService) ValidateDelete

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

func (*OpenStackDataPlaneService) ValidateUpdate

func (r *OpenStackDataPlaneService) ValidateUpdate(original runtime.Object) (admission.Warnings, error)

type OpenStackDataPlaneServiceList

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

+kubebuilder:object:root=true OpenStackDataPlaneServiceList contains a list of OpenStackDataPlaneService

func (*OpenStackDataPlaneServiceList) DeepCopy

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

func (*OpenStackDataPlaneServiceList) DeepCopyInto

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

func (*OpenStackDataPlaneServiceList) DeepCopyObject

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

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

type OpenStackDataPlaneServiceSpec

type OpenStackDataPlaneServiceSpec struct {
	// DataSources list of DataSource objects to mount as ExtraMounts for the
	// OpenStackAnsibleEE
	DataSources []DataSource `json:"dataSources,omitempty" yaml:"dataSources,omitempty"`

	// TLSCerts tls certs to be generated
	// +kubebuilder:validation:Optional
	TLSCerts map[string]OpenstackDataPlaneServiceCert `json:"tlsCerts,omitempty" yaml:"tlsCerts,omitempty"`

	// PlaybookContents is an inline playbook contents that ansible will run on execution.
	PlaybookContents string `json:"playbookContents,omitempty"`

	// Playbook is a path to the playbook that ansible will run on this execution
	Playbook string `json:"playbook,omitempty"`

	// CACerts - Secret containing the CA certificate chain
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MaxLength:=253
	CACerts string `json:"caCerts,omitempty" yaml:"caCerts,omitempty"`

	// OpenStackAnsibleEERunnerImage image to use as the ansibleEE runner image
	// +kubebuilder:validation:Optional
	OpenStackAnsibleEERunnerImage string `json:"openStackAnsibleEERunnerImage,omitempty" yaml:"openStackAnsibleEERunnerImage,omitempty"`

	// CertsFrom - Service name used to obtain TLSCert and CACerts data. If both
	// CertsFrom and either TLSCert or CACerts is set, then those fields take
	// precedence.
	// +kubebuilder:validation:Optional
	CertsFrom string `json:"certsFrom,omitempty" yaml:"certsFrom,omitempty"`

	// AddCertMounts - Whether to add cert mounts
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	AddCertMounts bool `json:"addCertMounts" yaml:"addCertMounts"`

	// DeployOnAllNodeSets - should the service be deploy across all nodesets
	// This will override default target of a service play, setting it to 'all'.
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	DeployOnAllNodeSets bool `json:"deployOnAllNodeSets,omitempty" yaml:"deployOnAllNodeSets,omitempty"`

	// ContainerImageFields - list of container image fields names that this
	// service deploys. The field names should match the
	// ContainerImages struct field names from
	// github.com/openstack-k8s-operators/openstack-operator/apis/core/v1beta1
	ContainerImageFields []string `json:"containerImageFields,omitempty" yaml:"containerImageFields,omitempty"`

	// EDPMServiceType - service type, which typically corresponds to one of
	// the default service names (such as nova, ovn, etc). Also typically
	// corresponds to the ansible role name (without the "edpm_" prefix) used
	// to manage the service. If not set, will default to the
	// OpenStackDataPlaneService name.
	EDPMServiceType string `json:"edpmServiceType,omitempty" yaml:"edpmServiceType,omitempty"`
}

OpenStackDataPlaneServiceSpec defines the desired state of OpenStackDataPlaneService

func (*OpenStackDataPlaneServiceSpec) DeepCopy

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

func (*OpenStackDataPlaneServiceSpec) DeepCopyInto

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

func (*OpenStackDataPlaneServiceSpec) Default

func (spec *OpenStackDataPlaneServiceSpec) Default(name string)

Default - set defaults for this OpenStackDataPlaneService

func (*OpenStackDataPlaneServiceSpec) ValidateCreate

func (r *OpenStackDataPlaneServiceSpec) ValidateCreate() field.ErrorList

func (*OpenStackDataPlaneServiceSpec) ValidateDelete

func (r *OpenStackDataPlaneServiceSpec) ValidateDelete() field.ErrorList

func (*OpenStackDataPlaneServiceSpec) ValidateUpdate

func (r *OpenStackDataPlaneServiceSpec) ValidateUpdate() field.ErrorList

type OpenStackDataPlaneServiceStatus

type OpenStackDataPlaneServiceStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:io.kubernetes.conditions"}
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`
}

OpenStackDataPlaneServiceStatus defines the observed state of OpenStackDataPlaneService

func (*OpenStackDataPlaneServiceStatus) DeepCopy

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

func (*OpenStackDataPlaneServiceStatus) DeepCopyInto

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

type OpenstackDataPlaneServiceCert

type OpenstackDataPlaneServiceCert struct {
	// Contents of the certificate
	// This is a list of strings for properties that are needed in the cert
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems:=1
	Contents []string `json:"contents"`

	// Networks to include in SNI for the cert
	// +kubebuilder:validation:Optional
	Networks []infranetworkv1.NetNameStr `json:"networks,omitempty"`

	// Issuer is the label for the issuer to issue the cert
	// Only one issuer should have this label
	// +kubebuilder:validation:Optional
	Issuer string `json:"issuer,omitempty"`

	// KeyUsages to be added to the issued cert
	// +kubebuilder:validation:Optional
	KeyUsages []certmgrv1.KeyUsage `json:"keyUsages,omitempty" yaml:"keyUsages,omitempty"`

	// EDPMRoleServiceName is the value of the <role>_service_name variable from
	// the edpm-ansible role where this certificate is used. For example if the
	// certificate is for edpm_ovn from edpm-ansible, EDPMRoleServiceName must be
	// ovn, which matches the edpm_ovn_service_name variable from the role.  If
	// not set, OpenStackDataPlaneService.Spec.EDPMServiceType is used. If
	// OpenStackDataPlaneService.Spec.EDPMServiceType is not set, then
	// OpenStackDataPlaneService.Name is used.
	EDPMRoleServiceName string `json:"edpmRoleServiceName,omitempty"`
}

OpenstackDataPlaneServiceCert defines the property of a TLS cert issued for a dataplane service

func (*OpenstackDataPlaneServiceCert) DeepCopy

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

func (*OpenstackDataPlaneServiceCert) DeepCopyInto

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

type SecretEnvSource

type SecretEnvSource struct {
	// The Secret to select from.
	LocalObjectReference `json:",inline" yaml:",inline"`
	// Specify whether the Secret must be defined
	// +optional
	Optional *bool `json:"optional,omitempty" yaml:"optional,omitempty"`
}

SecretEnvSource selects a Secret to populate the environment variables with.

The contents of the target Secret's Data field will represent the key-value pairs as environment variables.

func (*SecretEnvSource) DeepCopy

func (in *SecretEnvSource) DeepCopy() *SecretEnvSource

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

func (*SecretEnvSource) DeepCopyInto

func (in *SecretEnvSource) DeepCopyInto(out *SecretEnvSource)

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