Help us shape the future of Go! Take the 2026 Go Developer Survey

v1beta1

package
v0.0.0-...-2bf0c2f Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

View Source
const (
	// OpenStackClientReadyInitMessage
	OpenStackClientReadyInitMessage = "OpenStack Client not started, waiting on keystone API"

	// OpenStackClientKeystoneWaitingMessage
	OpenStackClientKeystoneWaitingMessage = "OpenStack Client keystone API not yet ready"

	// OpenStackClientConfigMapWaitingMessage
	OpenStackClientConfigMapWaitingMessage = "OpenStack Client waiting for keystone configmap"

	// OpenStackClientSecretWaitingMessage
	OpenStackClientSecretWaitingMessage = "OpenStack Client waiting for secret"

	// OpenStackClientInputReady
	OpenStackClientInputReady = "OpenStack Client input ready"

	// OpenStackClientReadyRunningMessage
	OpenStackClientReadyRunningMessage = "OpenStack Client in progress"

	// OpenStackClientReadyMessage
	OpenStackClientReadyMessage = "OpenStack Client created"

	// OpenStackClientReadyErrorMessage
	OpenStackClientReadyErrorMessage = "OpenStack Client error occured %s"
)

Common Messages used by API objects.

View Source
const (

	// OpenStackClientContainerImage is the fall-back container image for OpenStackClient
	OpenStackClientContainerImage = "quay.io/openstack-s2i-containers/openstack-openstackclient:master-latest"
)
View Source
const (
	// OpenStackClientReadyCondition Status=True condition which indicates if OpenStackClient is configured and operational
	OpenStackClientReadyCondition condition.Type = "OpenStackClientReady"
)

OpenStackClient Condition Types used by API objects.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "client.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
)

Functions

func SetupDefaults

func SetupDefaults()

SetupDefaults - initializes any CRD field defaults based on environment variables (the defaulting mechanism itself is implemented via webhooks)

func SetupOpenStackClientDefaults

func SetupOpenStackClientDefaults(defaults OpenStackClientDefaults)

SetupOpenStackClientDefaults - initialize OpenStackClient spec defaults for use with either internal or external webhooks

Types

type MCPConfig

type MCPConfig struct {
	// Enabled controls whether the MCP server sidecar is added to the pod.
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`
}

MCPConfig defines optional MCP server sidecar configuration

func (*MCPConfig) DeepCopy

func (in *MCPConfig) DeepCopy() *MCPConfig

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

func (*MCPConfig) DeepCopyInto

func (in *MCPConfig) DeepCopyInto(out *MCPConfig)

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

type OpenStackClient

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

	Spec   OpenStackClientSpec   `json:"spec,omitempty"`
	Status OpenStackClientStatus `json:"status,omitempty"`
}

OpenStackClient is the Schema for the openstackclients API

func (*OpenStackClient) DeepCopy

func (in *OpenStackClient) DeepCopy() *OpenStackClient

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

func (*OpenStackClient) DeepCopyInto

func (in *OpenStackClient) DeepCopyInto(out *OpenStackClient)

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

func (*OpenStackClient) DeepCopyObject

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

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

func (*OpenStackClient) Default

func (r *OpenStackClient) Default()

Default sets default values for the OpenStackClient

func (OpenStackClient) GetMCPEndpoint

func (instance OpenStackClient) GetMCPEndpoint() (string, error)

GetMCPEndpoint returns the MCP server URL.

func (OpenStackClient) IsReady

func (instance OpenStackClient) IsReady() bool

IsReady - returns true if OpenStackClient is reconciled successfully

func (*OpenStackClient) RbacConditionsSet

func (instance *OpenStackClient) RbacConditionsSet(c *condition.Condition)

RbacConditionsSet - set the conditions for the rbac object

func (OpenStackClient) RbacNamespace

func (instance OpenStackClient) RbacNamespace() string

RbacNamespace - return the namespace

func (OpenStackClient) RbacResourceName

func (instance OpenStackClient) RbacResourceName() string

RbacResourceName - return the name to be used for rbac objects (serviceaccount, role, rolebinding)

func (*OpenStackClient) ValidateCreate

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

ValidateCreate validates the OpenStackClient on creation

func (*OpenStackClient) ValidateDelete

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

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

func (*OpenStackClient) ValidateUpdate

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

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

type OpenStackClientDefaults

type OpenStackClientDefaults struct {
	ContainerImageURL string
}

OpenStackClientDefaults -

func (*OpenStackClientDefaults) DeepCopy

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

func (*OpenStackClientDefaults) DeepCopyInto

func (in *OpenStackClientDefaults) DeepCopyInto(out *OpenStackClientDefaults)

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

type OpenStackClientList

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

OpenStackClientList contains a list of OpenStackClient

func (*OpenStackClientList) DeepCopy

func (in *OpenStackClientList) DeepCopy() *OpenStackClientList

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

func (*OpenStackClientList) DeepCopyInto

func (in *OpenStackClientList) DeepCopyInto(out *OpenStackClientList)

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

func (*OpenStackClientList) DeepCopyObject

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

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

type OpenStackClientSpec

type OpenStackClientSpec struct {
	OpenStackClientSpecCore `json:",inline"`

	// +kubebuilder:validation:Required
	// ContainerImage for the OpenstackClient container (will be set to environmental default if empty)
	ContainerImage string `json:"containerImage"`

	// +kubebuilder:validation:Optional
	// MCPContainerImage for the MCP server sidecar container (set via OpenStackVersion)
	MCPContainerImage string `json:"mcpContainerImage,omitempty"`

	// +kubebuilder:validation:Optional
	// MCPCertSecretName is the name of the TLS certificate Secret for the MCP
	// server sidecar. It is populated by the OpenStackControlPlane, which owns
	// the cert lifecycle; the OpenStackClient controller only consumes it.
	MCPCertSecretName string `json:"mcpCertSecretName,omitempty"`
}

OpenStackClientSpec defines the desired state of OpenStackClient

func (*OpenStackClientSpec) DeepCopy

func (in *OpenStackClientSpec) DeepCopy() *OpenStackClientSpec

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

func (*OpenStackClientSpec) DeepCopyInto

func (in *OpenStackClientSpec) DeepCopyInto(out *OpenStackClientSpec)

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

func (*OpenStackClientSpec) Default

func (spec *OpenStackClientSpec) Default()

Default - set defaults for this OpenStackClient spec

type OpenStackClientSpecCore

type OpenStackClientSpecCore struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:default=openstack-config
	// OpenStackConfigMap is the name of the ConfigMap containing the clouds.yaml
	OpenStackConfigMap *string `json:"openStackConfigMap"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default=openstack-config-secret
	// OpenStackConfigSecret is the name of the Secret containing the secure.yaml
	OpenStackConfigSecret *string `json:"openStackConfigSecret"`

	// +kubebuilder:validation:Optional
	// NodeSelector to target subset of worker nodes
	NodeSelector *map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Secret containing any CA certificates which should be added to deployment pods
	tls.Ca `json:",inline"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=name
	// +optional
	// List of environment variables to set in the container.
	Env []corev1.EnvVar `json:"env,omitempty" patchMergeKey:"name" patchStrategy:"merge"`

	// MCP is the optional MCP server sidecar configuration.
	// When enabled, the rhos-mcps server runs alongside the openstackclient
	// container and is exposed via a k8s Service. Typically used by OpenStackAssistant.
	// +kubebuilder:validation:Optional
	MCP *MCPConfig `json:"mcp,omitempty"`
}

OpenStackClientSpecCore defines the desired state of OpenStackClient

func (*OpenStackClientSpecCore) DeepCopy

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

func (*OpenStackClientSpecCore) DeepCopyInto

func (in *OpenStackClientSpecCore) DeepCopyInto(out *OpenStackClientSpecCore)

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

type OpenStackClientStatus

type OpenStackClientStatus struct {
	// PodName
	PodName string `json:"podName,omitempty"`

	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	//ObservedGeneration - the most recent generation observed for this object.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Map of hashes to track e.g. pod spec
	Hash map[string]string `json:"hash,omitempty"`

	// MCPEndpoint is the URL of the MCP server when the sidecar is enabled.
	MCPEndpoint string `json:"mcpEndpoint,omitempty"`
}

OpenStackClientStatus defines the observed state of OpenStackClient

func (*OpenStackClientStatus) DeepCopy

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

func (*OpenStackClientStatus) DeepCopyInto

func (in *OpenStackClientStatus) DeepCopyInto(out *OpenStackClientStatus)

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