Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the dataplane v1beta1 API group +kubebuilder:object:generate=true +groupName=dataplane.openstack.org
Index ¶
- Constants
- Variables
- func NodeHostNameIsFQDN(hostname string) bool
- func SetupDefaults()
- type AnsibleEESpec
- type AnsibleOpts
- type ConfigMapEnvSource
- type DataSource
- type LocalObjectReference
- type NodeSection
- type NodeTemplate
- type OpenStackDataPlaneDeployment
- func (in *OpenStackDataPlaneDeployment) DeepCopy() *OpenStackDataPlaneDeployment
- func (in *OpenStackDataPlaneDeployment) DeepCopyInto(out *OpenStackDataPlaneDeployment)
- func (in *OpenStackDataPlaneDeployment) DeepCopyObject() runtime.Object
- func (r *OpenStackDataPlaneDeployment) Default()
- func (instance *OpenStackDataPlaneDeployment) InitConditions()
- func (instance *OpenStackDataPlaneDeployment) InitHashesAndImages()
- func (instance OpenStackDataPlaneDeployment) IsReady() bool
- func (r *OpenStackDataPlaneDeployment) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *OpenStackDataPlaneDeployment) ValidateCreate() (admission.Warnings, error)
- func (r *OpenStackDataPlaneDeployment) ValidateDelete() (admission.Warnings, error)
- func (r *OpenStackDataPlaneDeployment) ValidateUpdate(original runtime.Object) (admission.Warnings, error)
- type OpenStackDataPlaneDeploymentList
- type OpenStackDataPlaneDeploymentSpec
- func (in *OpenStackDataPlaneDeploymentSpec) DeepCopy() *OpenStackDataPlaneDeploymentSpec
- func (in *OpenStackDataPlaneDeploymentSpec) DeepCopyInto(out *OpenStackDataPlaneDeploymentSpec)
- func (spec *OpenStackDataPlaneDeploymentSpec) Default()
- func (r *OpenStackDataPlaneDeploymentSpec) ValidateCreate() field.ErrorList
- func (r *OpenStackDataPlaneDeploymentSpec) ValidateDelete() field.ErrorList
- func (r *OpenStackDataPlaneDeploymentSpec) ValidateUpdate() field.ErrorList
- type OpenStackDataPlaneDeploymentStatus
- type OpenStackDataPlaneNodeSet
- func (in *OpenStackDataPlaneNodeSet) DeepCopy() *OpenStackDataPlaneNodeSet
- func (in *OpenStackDataPlaneNodeSet) DeepCopyInto(out *OpenStackDataPlaneNodeSet)
- func (in *OpenStackDataPlaneNodeSet) DeepCopyObject() runtime.Object
- func (r *OpenStackDataPlaneNodeSet) Default()
- func (instance OpenStackDataPlaneNodeSet) GetAnsibleEESpec() AnsibleEESpec
- func (instance *OpenStackDataPlaneNodeSet) InitConditions()
- func (instance OpenStackDataPlaneNodeSet) IsReady() bool
- func (r *OpenStackDataPlaneNodeSet) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *OpenStackDataPlaneNodeSet) ValidateCreate() (admission.Warnings, error)
- func (r *OpenStackDataPlaneNodeSet) ValidateDelete() (admission.Warnings, error)
- func (r *OpenStackDataPlaneNodeSet) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type OpenStackDataPlaneNodeSetList
- type OpenStackDataPlaneNodeSetSpec
- func (in *OpenStackDataPlaneNodeSetSpec) DeepCopy() *OpenStackDataPlaneNodeSetSpec
- func (in *OpenStackDataPlaneNodeSetSpec) DeepCopyInto(out *OpenStackDataPlaneNodeSetSpec)
- func (spec *OpenStackDataPlaneNodeSetSpec) Default()
- func (r *OpenStackDataPlaneNodeSetSpec) TLSMatch(controlPlane openstackv1.OpenStackControlPlane) *field.Error
- func (r *OpenStackDataPlaneNodeSetSpec) ValidateDelete() field.ErrorList
- func (r *OpenStackDataPlaneNodeSetSpec) ValidateTLS(namespace string, reconcilerClient client.Client, ctx context.Context) error
- func (r *OpenStackDataPlaneNodeSetSpec) ValidateUpdate(oldSpec *OpenStackDataPlaneNodeSetSpec) field.ErrorList
- type OpenStackDataPlaneNodeSetStatus
- type OpenStackDataPlaneService
- func (in *OpenStackDataPlaneService) DeepCopy() *OpenStackDataPlaneService
- func (in *OpenStackDataPlaneService) DeepCopyInto(out *OpenStackDataPlaneService)
- func (in *OpenStackDataPlaneService) DeepCopyObject() runtime.Object
- func (r *OpenStackDataPlaneService) Default()
- func (r *OpenStackDataPlaneService) DefaultLabels()
- func (r *OpenStackDataPlaneService) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *OpenStackDataPlaneService) ValidateCreate() (admission.Warnings, error)
- func (r *OpenStackDataPlaneService) ValidateDelete() (admission.Warnings, error)
- func (r *OpenStackDataPlaneService) ValidateUpdate(original runtime.Object) (admission.Warnings, error)
- type OpenStackDataPlaneServiceList
- type OpenStackDataPlaneServiceSpec
- func (in *OpenStackDataPlaneServiceSpec) DeepCopy() *OpenStackDataPlaneServiceSpec
- func (in *OpenStackDataPlaneServiceSpec) DeepCopyInto(out *OpenStackDataPlaneServiceSpec)
- func (spec *OpenStackDataPlaneServiceSpec) Default(name string)
- func (r *OpenStackDataPlaneServiceSpec) ValidateCreate() field.ErrorList
- func (r *OpenStackDataPlaneServiceSpec) ValidateDelete() field.ErrorList
- func (r *OpenStackDataPlaneServiceSpec) ValidateUpdate() field.ErrorList
- type OpenStackDataPlaneServiceStatus
- type OpenstackDataPlaneServiceCert
- type SecretEnvSource
Constants ¶
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" )
const (
// CtlPlaneNetwork - default ctlplane Network Name in NetConfig
CtlPlaneNetwork = "ctlplane"
)
Variables ¶
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 )
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.
var ContainerImages openstackv1.ContainerImages
ContainerImages - the values if no OpenStackVersion is used
Functions ¶
func NodeHostNameIsFQDN ¶
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 ¶
func (in *LocalObjectReference) DeepCopy() *LocalObjectReference
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 ¶
func (in *OpenStackDataPlaneDeployment) DeepCopy() *OpenStackDataPlaneDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneDeployment.
func (*OpenStackDataPlaneDeployment) DeepCopyInto ¶
func (in *OpenStackDataPlaneDeployment) DeepCopyInto(out *OpenStackDataPlaneDeployment)
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 ¶
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 ¶
func (in *OpenStackDataPlaneDeploymentList) DeepCopy() *OpenStackDataPlaneDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneDeploymentList.
func (*OpenStackDataPlaneDeploymentList) DeepCopyInto ¶
func (in *OpenStackDataPlaneDeploymentList) DeepCopyInto(out *OpenStackDataPlaneDeploymentList)
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 ¶
func (in *OpenStackDataPlaneDeploymentSpec) DeepCopy() *OpenStackDataPlaneDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneDeploymentSpec.
func (*OpenStackDataPlaneDeploymentSpec) DeepCopyInto ¶
func (in *OpenStackDataPlaneDeploymentSpec) DeepCopyInto(out *OpenStackDataPlaneDeploymentSpec)
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 ¶
func (in *OpenStackDataPlaneDeploymentStatus) DeepCopy() *OpenStackDataPlaneDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneDeploymentStatus.
func (*OpenStackDataPlaneDeploymentStatus) DeepCopyInto ¶
func (in *OpenStackDataPlaneDeploymentStatus) DeepCopyInto(out *OpenStackDataPlaneDeploymentStatus)
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 ¶
func (in *OpenStackDataPlaneNodeSet) DeepCopy() *OpenStackDataPlaneNodeSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneNodeSet.
func (*OpenStackDataPlaneNodeSet) DeepCopyInto ¶
func (in *OpenStackDataPlaneNodeSet) DeepCopyInto(out *OpenStackDataPlaneNodeSet)
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 ¶
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 ¶
func (in *OpenStackDataPlaneNodeSetList) DeepCopy() *OpenStackDataPlaneNodeSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneNodeSetList.
func (*OpenStackDataPlaneNodeSetList) DeepCopyInto ¶
func (in *OpenStackDataPlaneNodeSetList) DeepCopyInto(out *OpenStackDataPlaneNodeSetList)
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 ¶
func (in *OpenStackDataPlaneNodeSetSpec) DeepCopy() *OpenStackDataPlaneNodeSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneNodeSetSpec.
func (*OpenStackDataPlaneNodeSetSpec) DeepCopyInto ¶
func (in *OpenStackDataPlaneNodeSetSpec) DeepCopyInto(out *OpenStackDataPlaneNodeSetSpec)
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
func (r *OpenStackDataPlaneNodeSetSpec) TLSMatch(controlPlane openstackv1.OpenStackControlPlane) *field.Error
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 ¶
func (r *OpenStackDataPlaneNodeSetSpec) ValidateUpdate(oldSpec *OpenStackDataPlaneNodeSetSpec) field.ErrorList
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 ¶
func (in *OpenStackDataPlaneNodeSetStatus) DeepCopy() *OpenStackDataPlaneNodeSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneNodeSetStatus.
func (*OpenStackDataPlaneNodeSetStatus) DeepCopyInto ¶
func (in *OpenStackDataPlaneNodeSetStatus) DeepCopyInto(out *OpenStackDataPlaneNodeSetStatus)
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 ¶
func (in *OpenStackDataPlaneService) DeepCopy() *OpenStackDataPlaneService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneService.
func (*OpenStackDataPlaneService) DeepCopyInto ¶
func (in *OpenStackDataPlaneService) DeepCopyInto(out *OpenStackDataPlaneService)
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 ¶
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 ¶
func (in *OpenStackDataPlaneServiceList) DeepCopy() *OpenStackDataPlaneServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneServiceList.
func (*OpenStackDataPlaneServiceList) DeepCopyInto ¶
func (in *OpenStackDataPlaneServiceList) DeepCopyInto(out *OpenStackDataPlaneServiceList)
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 ¶
func (in *OpenStackDataPlaneServiceSpec) DeepCopy() *OpenStackDataPlaneServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneServiceSpec.
func (*OpenStackDataPlaneServiceSpec) DeepCopyInto ¶
func (in *OpenStackDataPlaneServiceSpec) DeepCopyInto(out *OpenStackDataPlaneServiceSpec)
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 ¶
func (in *OpenStackDataPlaneServiceStatus) DeepCopy() *OpenStackDataPlaneServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackDataPlaneServiceStatus.
func (*OpenStackDataPlaneServiceStatus) DeepCopyInto ¶
func (in *OpenStackDataPlaneServiceStatus) DeepCopyInto(out *OpenStackDataPlaneServiceStatus)
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 ¶
func (in *OpenstackDataPlaneServiceCert) DeepCopy() *OpenstackDataPlaneServiceCert
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenstackDataPlaneServiceCert.
func (*OpenstackDataPlaneServiceCert) DeepCopyInto ¶
func (in *OpenstackDataPlaneServiceCert) DeepCopyInto(out *OpenstackDataPlaneServiceCert)
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.
Source Files ¶
- common.go
- conditions.go
- const.go
- groupversion_info.go
- openstackdataplanedeployment_types.go
- openstackdataplanedeployment_webhook.go
- openstackdataplanenodeset.go
- openstackdataplanenodeset_types.go
- openstackdataplanenodeset_webhook.go
- openstackdataplaneservice_types.go
- openstackdataplaneservice_webhook.go
- zz_generated.deepcopy.go