v1beta1

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2025 License: Apache-2.0 Imports: 26 Imported by: 14

Documentation

Overview

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

Index

Constants

View Source
const (
	// NetConfigErrorMessage
	NetConfigErrorMessage = "NetConfig error occured %s"

	// NetConfigMissingMessage
	NetConfigMissingMessage = "NetConfig missing in namespace %s"

	// ReservationListErrorMessage
	ReservationListErrorMessage = "Getting Reservations error occured %s"

	// ReservationInitMessage
	ReservationInitMessage = "Reservation create not started"

	// ReservationErrorMessage
	ReservationErrorMessage = "Reservation error occured %s"

	// ReservationMisMatchErrorMessage
	ReservationMisMatchErrorMessage = "Reservation reservations (%d) do not match requested (%d)"

	// ReservationReadyMessage
	ReservationReadyMessage = "Reservation successful"
)

Common Messages used by API objects.

View Source
const (
	// AnnotationHostnameKey -
	AnnotationHostnameKey = "dnsmasq.network.openstack.org/hostname"

	// DNSDataLabelSelectorKey - label selector to identify config maps with hosts data
	DNSDataLabelSelectorKey = "dnsmasqhosts"

	// DNSMasqContainerImage is the fall-back container image for DNSMasq
	DNSMasqContainerImage = "quay.io/podified-antelope-centos9/openstack-neutron-server:current-podified"
)
View Source
const (
	// ReservationReadyCondition indicates if the IP reservation was successful
	ReservationReadyCondition condition.Type = "ReservationReady"
)

Condition Types used by API objects.

Variables

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

func SetupDNSMasqDefaults(defaults DNSMasqDefaults)

SetupDNSMasqDefaults - initialize DNSMasq spec defaults for use with either internal or external webhooks

func SetupDefaults

func SetupDefaults()

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

Types

type AllocationRange

type AllocationRange struct {
	// +kubebuilder:validation:Required
	// Start IP for the AllocationRange
	Start string `json:"start"`

	// +kubebuilder:validation:Required
	// End IP for the AllocationRange
	End string `json:"end"`
}

AllocationRange definition

func (*AllocationRange) DeepCopy

func (in *AllocationRange) DeepCopy() *AllocationRange

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

func (*AllocationRange) DeepCopyInto

func (in *AllocationRange) DeepCopyInto(out *AllocationRange)

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

type BGPConfiguration added in v0.6.0

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

	Spec   BGPConfigurationSpec   `json:"spec,omitempty"`
	Status BGPConfigurationStatus `json:"status,omitempty"`
}

BGPConfiguration is the Schema for the bgpconfigurations API

func (*BGPConfiguration) DeepCopy added in v0.6.0

func (in *BGPConfiguration) DeepCopy() *BGPConfiguration

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

func (*BGPConfiguration) DeepCopyInto added in v0.6.0

func (in *BGPConfiguration) DeepCopyInto(out *BGPConfiguration)

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

func (*BGPConfiguration) DeepCopyObject added in v0.6.0

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

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

type BGPConfigurationList added in v0.6.0

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

BGPConfigurationList contains a list of BGPConfiguration

func (*BGPConfigurationList) DeepCopy added in v0.6.0

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

func (*BGPConfigurationList) DeepCopyInto added in v0.6.0

func (in *BGPConfigurationList) DeepCopyInto(out *BGPConfigurationList)

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

func (*BGPConfigurationList) DeepCopyObject added in v0.6.0

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

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

type BGPConfigurationSpec added in v0.6.0

type BGPConfigurationSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="metallb-system"
	// FRRConfigurationNamespace - namespace where to create the FRRConfiguration. Defaults to metallb-system.
	FRRConfigurationNamespace string `json:"frrConfigurationNamespace"`

	// +kubebuilder:validation:Optional
	// FRRNodeConfigurationSelector - per default the FRRConfiguration per node within the FRRConfigurationNamespace
	// gets queried using the FRRConfiguration.spec.NodeSelector `kubernetes.io/hostname: worker-0`. In case a more
	// specific
	FRRNodeConfigurationSelector []FRRNodeConfigurationSelectorType `json:"frrNodeConfigurationSelector,omitempty"`
}

BGPConfigurationSpec defines the desired state of BGPConfiguration

func (*BGPConfigurationSpec) DeepCopy added in v0.6.0

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

func (*BGPConfigurationSpec) DeepCopyInto added in v0.6.0

func (in *BGPConfigurationSpec) DeepCopyInto(out *BGPConfigurationSpec)

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

type BGPConfigurationStatus added in v0.6.0

type BGPConfigurationStatus struct {
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`
}

BGPConfigurationStatus defines the observed state of BGPConfiguration

func (*BGPConfigurationStatus) DeepCopy added in v0.6.0

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

func (*BGPConfigurationStatus) DeepCopyInto added in v0.6.0

func (in *BGPConfigurationStatus) DeepCopyInto(out *BGPConfigurationStatus)

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

type DNSData

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

	Spec   DNSDataSpec   `json:"spec,omitempty"`
	Status DNSDataStatus `json:"status,omitempty"`
}

DNSData is the Schema for the dnsdata API

func (*DNSData) DeepCopy

func (in *DNSData) DeepCopy() *DNSData

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

func (*DNSData) DeepCopyInto

func (in *DNSData) DeepCopyInto(out *DNSData)

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

func (*DNSData) DeepCopyObject

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

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

func (DNSData) IsReady

func (instance DNSData) IsReady() bool

IsReady returns true if DNSMasq reconciled successfully

type DNSDataList

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

DNSDataList contains a list of DNSData

func (*DNSDataList) DeepCopy

func (in *DNSDataList) DeepCopy() *DNSDataList

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

func (*DNSDataList) DeepCopyInto

func (in *DNSDataList) DeepCopyInto(out *DNSDataList)

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

func (*DNSDataList) DeepCopyObject

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

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

type DNSDataSpec

type DNSDataSpec struct {
	// +kubebuilder:validation:Optional
	Hosts []DNSHost `json:"hosts,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="dnsdata"
	// Value of the DNSDataLabelSelector to set on the created configmaps containing hosts information
	DNSDataLabelSelectorValue string `json:"dnsDataLabelSelectorValue"`
}

DNSDataSpec defines the desired state of DNSData

func (*DNSDataSpec) DeepCopy

func (in *DNSDataSpec) DeepCopy() *DNSDataSpec

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

func (*DNSDataSpec) DeepCopyInto

func (in *DNSDataSpec) DeepCopyInto(out *DNSDataSpec)

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

type DNSDataStatus

type DNSDataStatus struct {
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// Map of the dns data configmap
	Hash string `json:"hash,omitempty"`

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the opentack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

DNSDataStatus defines the observed state of DNSData

func (*DNSDataStatus) DeepCopy

func (in *DNSDataStatus) DeepCopy() *DNSDataStatus

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

func (*DNSDataStatus) DeepCopyInto

func (in *DNSDataStatus) DeepCopyInto(out *DNSDataStatus)

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

type DNSHost

type DNSHost struct {
	// +kubebuilder:validation:Required
	// IP address of the host file entry.
	IP string `json:"ip"`

	// +kubebuilder:validation:Required
	// Hostnames for the IP address.
	Hostnames []string `json:"hostnames"`
}

DNSHost holds the mapping between IP and hostnames that will be added to dnsmasq hosts file.

func (*DNSHost) DeepCopy

func (in *DNSHost) DeepCopy() *DNSHost

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

func (*DNSHost) DeepCopyInto

func (in *DNSHost) DeepCopyInto(out *DNSHost)

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

type DNSMasq

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

	Spec   DNSMasqSpec   `json:"spec,omitempty"`
	Status DNSMasqStatus `json:"status,omitempty"`
}

DNSMasq is the Schema for the dnsmasqs API

func (*DNSMasq) DeepCopy

func (in *DNSMasq) DeepCopy() *DNSMasq

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

func (*DNSMasq) DeepCopyInto

func (in *DNSMasq) DeepCopyInto(out *DNSMasq)

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

func (*DNSMasq) DeepCopyObject

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

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

func (*DNSMasq) Default

func (r *DNSMasq) Default()

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

func (DNSMasq) GetLastAppliedTopologyRef added in v0.6.0

func (instance DNSMasq) GetLastAppliedTopologyRef() *topologyv1.TopoRef

GetLastAppliedTopologyRef - Returns the lastAppliedTopologyName that can be processed by the handle topology logic

func (DNSMasq) IsReady

func (instance DNSMasq) IsReady() bool

IsReady returns true if DNSMasq reconciled successfully

func (DNSMasq) RbacConditionsSet

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

RbacConditionsSet - set the conditions for the rbac object

func (DNSMasq) RbacNamespace

func (instance DNSMasq) RbacNamespace() string

RbacNamespace - return the namespace

func (DNSMasq) RbacResourceName

func (instance DNSMasq) RbacResourceName() string

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

func (*DNSMasq) SetupWebhookWithManager

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

SetupWebhookWithManager sets up the webhook with the Manager

func (*DNSMasq) ValidateCreate

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

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

func (*DNSMasq) ValidateDelete

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

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

func (*DNSMasq) ValidateUpdate

func (r *DNSMasq) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

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

type DNSMasqDefaults

type DNSMasqDefaults struct {
	ContainerImageURL string
}

DNSMasqDefaults -

func (*DNSMasqDefaults) DeepCopy

func (in *DNSMasqDefaults) DeepCopy() *DNSMasqDefaults

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

func (*DNSMasqDefaults) DeepCopyInto

func (in *DNSMasqDefaults) DeepCopyInto(out *DNSMasqDefaults)

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

type DNSMasqList

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

DNSMasqList contains a list of DNSMasq

func (*DNSMasqList) DeepCopy

func (in *DNSMasqList) DeepCopy() *DNSMasqList

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

func (*DNSMasqList) DeepCopyInto

func (in *DNSMasqList) DeepCopyInto(out *DNSMasqList)

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

func (*DNSMasqList) DeepCopyObject

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

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

type DNSMasqOption

type DNSMasqOption struct {
	// +kubebuilder:validation:Enum=server;rev-server;srv-host;txt-record;ptr-record;rebind-domain-ok;naptr-record;cname;host-record;caa-record;dns-rr;auth-zone;synth-domain;no-negcache;local
	Key    string   `json:"key"`
	Values []string `json:"values"`
}

DNSMasqOption defines allowed options for dnsmasq

func (*DNSMasqOption) DeepCopy

func (in *DNSMasqOption) DeepCopy() *DNSMasqOption

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

func (*DNSMasqOption) DeepCopyInto

func (in *DNSMasqOption) DeepCopyInto(out *DNSMasqOption)

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

type DNSMasqOverrideSpec added in v0.2.0

type DNSMasqOverrideSpec struct {
	// Override configuration for the Service created to serve traffic to the cluster.
	Service *service.OverrideSpec `json:"service,omitempty"`
}

DNSMasqOverrideSpec to override the generated manifest of several child resources.

func (*DNSMasqOverrideSpec) DeepCopy added in v0.2.0

func (in *DNSMasqOverrideSpec) DeepCopy() *DNSMasqOverrideSpec

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

func (*DNSMasqOverrideSpec) DeepCopyInto added in v0.2.0

func (in *DNSMasqOverrideSpec) DeepCopyInto(out *DNSMasqOverrideSpec)

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

type DNSMasqSpec

type DNSMasqSpec struct {
	DNSMasqSpecCore `json:",inline"`

	// +kubebuilder:validation:Optional
	// DNSMasq Container Image URL
	ContainerImage string `json:"containerImage"`
}

DNSMasqSpec defines the desired state of DNSMasq

func (*DNSMasqSpec) DeepCopy

func (in *DNSMasqSpec) DeepCopy() *DNSMasqSpec

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

func (*DNSMasqSpec) DeepCopyInto

func (in *DNSMasqSpec) DeepCopyInto(out *DNSMasqSpec)

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

func (*DNSMasqSpec) Default

func (spec *DNSMasqSpec) Default()

Default - set defaults for this DNSMasq spec

type DNSMasqSpecCore added in v0.4.0

type DNSMasqSpecCore struct {

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	// Replicas - DNSMasq Replicas
	Replicas *int32 `json:"replicas"`

	// +kubebuilder:validation:Optional
	// Options allows to customize the dnsmasq instance
	Options []DNSMasqOption `json:"options,omitempty"`

	// +kubebuilder:validation:Optional
	// NodeSelector to target subset of worker nodes running this service. Setting
	// NodeSelector here acts as a default value and can be overridden by service
	// specific NodeSelector Settings.
	NodeSelector *map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="dnsdata"
	// Value of the DNSDataLabelSelectorKey which was set on the configmaps containing hosts information
	DNSDataLabelSelectorValue string `json:"dnsDataLabelSelectorValue"`

	// +kubebuilder:validation:Optional
	// Override, provides the ability to override the generated manifest of several child resources.
	Override DNSMasqOverrideSpec `json:"override,omitempty"`

	// +kubebuilder:validation:Optional
	// TopologyRef to apply the Topology defined by the associated CR referenced
	// by name
	TopologyRef *topologyv1.TopoRef `json:"topologyRef,omitempty"`
}

DNSMasqSpecCore - this version is used by the OpenStackControlplane CR (no container images)

func (*DNSMasqSpecCore) DeepCopy added in v0.4.0

func (in *DNSMasqSpecCore) DeepCopy() *DNSMasqSpecCore

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

func (*DNSMasqSpecCore) DeepCopyInto added in v0.4.0

func (in *DNSMasqSpecCore) DeepCopyInto(out *DNSMasqSpecCore)

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

func (*DNSMasqSpecCore) Default added in v0.4.0

func (spec *DNSMasqSpecCore) Default()

Default - common validations go here (for the OpenStackControlplane which uses this one)

type DNSMasqStatus

type DNSMasqStatus struct {
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

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

	// ReadyCount of dnsmasq deployment
	ReadyCount int32 `json:"readyCount,omitempty"`

	// DNSServer Addresses
	DNSAddresses []string `json:"dnsAddresses,omitempty"`

	// DNSServer Cluster Addresses
	DNSClusterAddresses []string `json:"dnsClusterAddresses,omitempty"`

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the opentack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// LastAppliedTopology - the last applied Topology
	LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`
}

DNSMasqStatus defines the observed state of DNSMasq

func (*DNSMasqStatus) DeepCopy

func (in *DNSMasqStatus) DeepCopy() *DNSMasqStatus

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

func (*DNSMasqStatus) DeepCopyInto

func (in *DNSMasqStatus) DeepCopyInto(out *DNSMasqStatus)

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

func (DNSMasqStatus) GetConditions

func (s DNSMasqStatus) GetConditions() condition.Conditions

GetConditions returns the list of conditions from the status

type FRRNodeConfigurationSelectorType added in v0.6.0

type FRRNodeConfigurationSelectorType struct {
	// +kubebuilder:validation:Optional
	// NodeName -  name of the node object as seen by running the `oc get nodes` command
	NodeName string `json:"frrConfigurationNamespace,omitempty"`

	// +kubebuilder:validation:Optional
	// NodeSelector  to identify the correct FRRConfiguration from spec.nodeSelector
	NodeSelector metav1.LabelSelector `json:"nodeSelector,omitempty"`
}

FRRNodeConfigurationSelectorType -

func (*FRRNodeConfigurationSelectorType) DeepCopy added in v0.6.0

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

func (*FRRNodeConfigurationSelectorType) DeepCopyInto added in v0.6.0

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

type IPAddress

type IPAddress struct {
	// Network name
	Network NetNameStr `json:"network"`

	// Subnet name
	Subnet NetNameStr `json:"subnet"`

	// Address contains the IP address
	Address string `json:"address"`
}

IPAddress -

func (*IPAddress) DeepCopy

func (in *IPAddress) DeepCopy() *IPAddress

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

func (*IPAddress) DeepCopyInto

func (in *IPAddress) DeepCopyInto(out *IPAddress)

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

type IPSet

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

	Spec   IPSetSpec   `json:"spec,omitempty"`
	Status IPSetStatus `json:"status,omitempty"`
}

IPSet is the Schema for the ipsets API

func (*IPSet) DeepCopy

func (in *IPSet) DeepCopy() *IPSet

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

func (*IPSet) DeepCopyInto

func (in *IPSet) DeepCopyInto(out *IPSet)

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

func (*IPSet) DeepCopyObject

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

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

func (*IPSet) Default

func (r *IPSet) Default()

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

func (*IPSet) SetupWebhookWithManager

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

SetupWebhookWithManager sets up the webhook with the Manager

func (*IPSet) ValidateCreate

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

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

func (*IPSet) ValidateDelete

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

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

func (*IPSet) ValidateUpdate

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

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

type IPSetList

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

IPSetList contains a list of IPSet

func (*IPSetList) DeepCopy

func (in *IPSetList) DeepCopy() *IPSetList

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

func (*IPSetList) DeepCopyInto

func (in *IPSetList) DeepCopyInto(out *IPSetList)

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

func (*IPSetList) DeepCopyObject

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

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

type IPSetNetwork

type IPSetNetwork struct {
	// +kubebuilder:validation:Required
	// Network Name
	Name NetNameStr `json:"name"`

	// +kubebuilder:validation:Required
	// Subnet Name
	SubnetName NetNameStr `json:"subnetName"`

	// +kubebuilder:validation:Optional
	// Fixed Ip
	FixedIP *string `json:"fixedIP,omitempty"`

	// +kubebuilder:validation:Optional
	// Use gateway from subnet as default route. There can only be one default route defined per IPSet.
	DefaultRoute *bool `json:"defaultRoute,omitempty"`
}

IPSetNetwork Type

func (*IPSetNetwork) DeepCopy

func (in *IPSetNetwork) DeepCopy() *IPSetNetwork

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

func (*IPSetNetwork) DeepCopyInto

func (in *IPSetNetwork) DeepCopyInto(out *IPSetNetwork)

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

type IPSetReservation

type IPSetReservation struct {
	// Network name
	Network NetNameStr `json:"network"`

	// Subnet name
	Subnet NetNameStr `json:"subnet"`

	// Address contains the IP address
	Address string `json:"address"`

	// MTU of the network
	MTU int `json:"mtu,omitempty" optional:"true"`

	// Cidr the cidr to use for this network
	Cidr string `json:"cidr,omitempty" optional:"true"`

	// Vlan ID
	Vlan *int `json:"vlan,omitempty" optional:"true"`

	// Gateway optional gateway for the network
	Gateway *string `json:"gateway,omitempty" optional:"true"`

	// Routes, list of networks that should be routed via network gateway.
	Routes []Route `json:"routes,omitempty" optional:"true"`

	// DNSDomain of the subnet
	DNSDomain string `json:"dnsDomain"`

	// +kubebuilder:validation:Optional
	// ServiceNetwork mapping
	ServiceNetwork ServiceNetNameStr `json:"serviceNetwork"`
}

IPSetReservation defines reservation status per requested network

func (*IPSetReservation) DeepCopy

func (in *IPSetReservation) DeepCopy() *IPSetReservation

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

func (*IPSetReservation) DeepCopyInto

func (in *IPSetReservation) DeepCopyInto(out *IPSetReservation)

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

type IPSetSpec

type IPSetSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Immutable, if `true` the validation webhook will block any update to the Spec, except of Spec.Immutable.
	// This allows the caller to add safety mechanism to the object. If a change is required to the object,
	// an extra update needs to be done to make updates possible.
	Immutable bool `json:"immutable"`

	// Networks used to request IPs for
	Networks []IPSetNetwork `json:"networks"`
}

IPSetSpec defines the desired state of IPSet

func (*IPSetSpec) DeepCopy

func (in *IPSetSpec) DeepCopy() *IPSetSpec

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

func (*IPSetSpec) DeepCopyInto

func (in *IPSetSpec) DeepCopyInto(out *IPSetSpec)

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

type IPSetStatus

type IPSetStatus struct {
	// Reservation
	Reservation []IPSetReservation `json:"reservations,omitempty" optional:"true"`

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

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the opentack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

IPSetStatus defines the observed state of IPSet

func (*IPSetStatus) DeepCopy

func (in *IPSetStatus) DeepCopy() *IPSetStatus

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

func (*IPSetStatus) DeepCopyInto

func (in *IPSetStatus) DeepCopyInto(out *IPSetStatus)

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

func (IPSetStatus) GetConditions

func (s IPSetStatus) GetConditions() condition.Conditions

GetConditions returns the list of conditions from the status

type NetConfig

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

	Spec   NetConfigSpec   `json:"spec,omitempty"`
	Status NetConfigStatus `json:"status,omitempty"`
}

NetConfig is the Schema for the netconfigs API

func (*NetConfig) DeepCopy

func (in *NetConfig) DeepCopy() *NetConfig

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

func (*NetConfig) DeepCopyInto

func (in *NetConfig) DeepCopyInto(out *NetConfig)

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

func (*NetConfig) DeepCopyObject

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

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

func (*NetConfig) Default

func (r *NetConfig) Default()

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

func (NetConfig) GetNet

func (instance NetConfig) GetNet(name NetNameStr) (*Network, error)

GetNet returns the network with name

func (NetConfig) GetNetAndSubnet

func (instance NetConfig) GetNetAndSubnet(name NetNameStr, subnetName NetNameStr) (*Network, *Subnet, error)

GetNetAndSubnet returns the network and subnet with name

func (*NetConfig) SetupWebhookWithManager

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

SetupWebhookWithManager -

func (*NetConfig) ValidateCreate

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

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

func (*NetConfig) ValidateDelete

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

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

func (*NetConfig) ValidateUpdate

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

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

type NetConfigList

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

NetConfigList contains a list of NetConfig

func (*NetConfigList) DeepCopy

func (in *NetConfigList) DeepCopy() *NetConfigList

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

func (*NetConfigList) DeepCopyInto

func (in *NetConfigList) DeepCopyInto(out *NetConfigList)

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

func (*NetConfigList) DeepCopyObject

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

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

type NetConfigSpec

type NetConfigSpec struct {
	// +kubebuilder:validation:Required
	// Networks, list of all networks of the deployment
	Networks []Network `json:"networks"`
}

NetConfigSpec defines the desired state of NetConfig

func (*NetConfigSpec) DeepCopy

func (in *NetConfigSpec) DeepCopy() *NetConfigSpec

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

func (*NetConfigSpec) DeepCopyInto

func (in *NetConfigSpec) DeepCopyInto(out *NetConfigSpec)

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

type NetConfigStatus

type NetConfigStatus struct {
}

NetConfigStatus defines the observed state of NetConfig

func (*NetConfigStatus) DeepCopy

func (in *NetConfigStatus) DeepCopy() *NetConfigStatus

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

func (*NetConfigStatus) DeepCopyInto

func (in *NetConfigStatus) DeepCopyInto(out *NetConfigStatus)

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

type NetNameStr

type NetNameStr string

NetNameStr is used for validation of a net name.

type Network

type Network struct {
	// +kubebuilder:validation:Required
	// Name of the network, e.g. External, InternalApi, ...
	Name NetNameStr `json:"name"`

	// +kubebuilder:validation:Required
	// DNSDomain name of the Network
	DNSDomain string `json:"dnsDomain"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1500
	// MTU of the network
	MTU int `json:"mtu"`

	// +kubebuilder:validation:Required
	// Subnets of the network
	Subnets []Subnet `json:"subnets"`

	// +kubebuilder:validation:optional
	// Service network mapping
	ServiceNetwork ServiceNetNameStr `json:"serviceNetwork,omitempty"`
}

Network definition

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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

type Reservation

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

	Spec   ReservationSpec   `json:"spec,omitempty"`
	Status ReservationStatus `json:"status,omitempty"`
}

Reservation is the Schema for the reservations API

func (*Reservation) DeepCopy

func (in *Reservation) DeepCopy() *Reservation

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

func (*Reservation) DeepCopyInto

func (in *Reservation) DeepCopyInto(out *Reservation)

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

func (*Reservation) DeepCopyObject

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

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

func (*Reservation) Default

func (r *Reservation) Default()

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

func (*Reservation) SetupWebhookWithManager

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

SetupWebhookWithManager sets up the webhook with the Manager

func (*Reservation) ValidateCreate

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

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

func (*Reservation) ValidateDelete

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

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

func (*Reservation) ValidateUpdate

func (r *Reservation) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

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

type ReservationList

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

ReservationList contains a list of Reservation

func (*ReservationList) DeepCopy

func (in *ReservationList) DeepCopy() *ReservationList

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

func (*ReservationList) DeepCopyInto

func (in *ReservationList) DeepCopyInto(out *ReservationList)

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

func (*ReservationList) DeepCopyObject

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

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

type ReservationSpec

type ReservationSpec struct {
	// IPSetRef points to the IPSet object the IPs were created for.
	IPSetRef corev1.ObjectReference `json:"ipSetRef"`

	// +kubebuilder:validation:Required
	// Reservation, map (index network name) with reservation
	Reservation map[string]IPAddress `json:"reservation"`
}

ReservationSpec defines the desired state of Reservation

func (*ReservationSpec) DeepCopy

func (in *ReservationSpec) DeepCopy() *ReservationSpec

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

func (*ReservationSpec) DeepCopyInto

func (in *ReservationSpec) DeepCopyInto(out *ReservationSpec)

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

type ReservationStatus

type ReservationStatus struct {
}

ReservationStatus defines the observed state of Reservation

func (*ReservationStatus) DeepCopy

func (in *ReservationStatus) DeepCopy() *ReservationStatus

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

func (*ReservationStatus) DeepCopyInto

func (in *ReservationStatus) DeepCopyInto(out *ReservationStatus)

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

type Route

type Route struct {
	// +kubebuilder:validation:Required
	// Destination, network CIDR
	Destination string `json:"destination"`

	// +kubebuilder:validation:Required
	// Nexthop, gateway for the destination
	Nexthop string `json:"nexthop"`
}

Route definition

func (*Route) DeepCopy

func (in *Route) DeepCopy() *Route

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

func (*Route) DeepCopyInto

func (in *Route) DeepCopyInto(out *Route)

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

type ServiceNetNameStr added in v0.5.0

type ServiceNetNameStr string

+kubebuilder:validation:Pattern="^[a-z0-9][a-z0-9\\-_]*[a-z0-9]$"

func ToDefaultServiceNetwork added in v0.5.0

func ToDefaultServiceNetwork(n NetNameStr) ServiceNetNameStr

type Subnet

type Subnet struct {
	// +kubebuilder:validation:Required
	// Name of the subnet
	Name NetNameStr `json:"name"`

	// +kubebuilder:validation:Required
	// Cidr the cidr to use for this network
	Cidr string `json:"cidr"`

	// +kubebuilder:validation:Optional
	// DNSDomain name of the subnet, allows to overwrite the DNSDomain of the Network
	DNSDomain *string `json:"dnsDomain,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=4094
	// Vlan ID
	Vlan *int `json:"vlan,omitempty"`

	// +kubebuilder:validation:Required
	// AllocationRanges a list of AllocationRange for assignment. Allocation will start
	// from first range, first address.
	AllocationRanges []AllocationRange `json:"allocationRanges"`

	// +kubebuilder:validation:Optional
	// ExcludeAddresses a set of IPs that should be excluded from used as reservation, for both dynamic
	// and static via IPSet FixedIP parameter
	ExcludeAddresses []string `json:"excludeAddresses,omitempty"`

	// +kubebuilder:validation:Optional
	// Gateway optional gateway for the network
	Gateway *string `json:"gateway,omitempty"`

	// +kubebuilder:validation:Optional
	// Routes, list of networks that should be routed via network gateway.
	Routes []Route `json:"routes,omitempty"`
}

Subnet definition

func (*Subnet) DeepCopy

func (in *Subnet) DeepCopy() *Subnet

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

func (*Subnet) DeepCopyInto

func (in *Subnet) DeepCopyInto(out *Subnet)

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