v1

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the infra v1 API group. +kubebuilder:object:generate=true +groupName=infra.exalsius.ai

Index

Constants

This section is empty.

Variables

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

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

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

Functions

This section is empty.

Types

type ClusterNetBirdStatus added in v0.4.0

type ClusterNetBirdStatus struct {
	// ControlPlaneResourceID is the NetBird Network Resource ID for the control plane.
	ControlPlaneResourceID string `json:"controlPlaneResourceID,omitempty"`
	// ControlPlaneResourceAddress is the last known address of the resource (for migration/debugging).
	ControlPlaneResourceAddress string `json:"controlPlaneResourceAddress,omitempty"`
	// ExposedEndpoint is the address workers use to join the cluster.
	// Format: "<ip>:<port>" or "<hostname>:<port>"
	ExposedEndpoint string `json:"exposedEndpoint,omitempty"`
	// ServiceName is the control plane service name.
	ServiceName string `json:"serviceName,omitempty"`
	// ServiceNamespace is the control plane service namespace.
	ServiceNamespace string `json:"serviceNamespace,omitempty"`
	// ServiceType is either "LoadBalancer" or "NodePort".
	ServiceType string `json:"serviceType,omitempty"`
	// ExternalAddress is the LoadBalancer external address (if applicable)
	ExternalAddress string `json:"externalAddress,omitempty"`
	// UseDirectConnection indicates if workers connect directly (true for LB)
	// or via NetBird routing peer (false for NodePort)
	UseDirectConnection bool `json:"useDirectConnection,omitempty"`
	// Ready indicates whether this cluster's NetBird resources are ready.
	Ready bool `json:"ready,omitempty"`
}

ClusterNetBirdStatus tracks NetBird resources for a specific cluster.

func (*ClusterNetBirdStatus) DeepCopy added in v0.4.0

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

func (*ClusterNetBirdStatus) DeepCopyInto added in v0.4.0

func (in *ClusterNetBirdStatus) DeepCopyInto(out *ClusterNetBirdStatus)

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

type Colony

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

	Spec   ColonySpec   `json:"spec,omitempty"`
	Status ColonyStatus `json:"status,omitempty"`
}

Colony is the Schema for the colonies API.

func (*Colony) DeepCopy

func (in *Colony) DeepCopy() *Colony

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

func (*Colony) DeepCopyInto

func (in *Colony) DeepCopyInto(out *Colony)

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

func (*Colony) DeepCopyObject

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

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

type ColonyCluster

type ColonyCluster struct {
	// Name is the name of the cluster.
	ClusterName string `json:"clusterName"`
	// ClusterDeployment is the specification for the cluster deployment.
	// This is stored as RawExtension to avoid CRD validation issues with k0rdent types
	ClusterDeploymentSpec *runtime.RawExtension `json:"clusterDeploymentSpec,omitempty"`
	// ClusterLabels are the labels to be applied to the ClusterDeployment resource
	ClusterLabels map[string]string `json:"clusterLabels,omitempty"`
}

func (*ColonyCluster) DeepCopy

func (in *ColonyCluster) DeepCopy() *ColonyCluster

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

func (*ColonyCluster) DeepCopyInto

func (in *ColonyCluster) DeepCopyInto(out *ColonyCluster)

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

func (*ColonyCluster) GetClusterDeploymentSpec added in v0.3.4

func (cc *ColonyCluster) GetClusterDeploymentSpec() (*k0rdentv1beta1.ClusterDeploymentSpec, error)

GetClusterDeploymentSpec returns the ClusterDeploymentSpec as a typed object

func (*ColonyCluster) SetClusterDeploymentSpec added in v0.3.4

func (cc *ColonyCluster) SetClusterDeploymentSpec(spec *k0rdentv1beta1.ClusterDeploymentSpec) error

SetClusterDeploymentSpec sets the ClusterDeploymentSpec from a typed object

type ColonyList

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

ColonyList contains a list of Colony.

func (*ColonyList) DeepCopy

func (in *ColonyList) DeepCopy() *ColonyList

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

func (*ColonyList) DeepCopyInto

func (in *ColonyList) DeepCopyInto(out *ColonyList)

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

func (*ColonyList) DeepCopyObject

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

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

type ColonySpec

type ColonySpec struct {
	// ColonyClusters is the list of clusters to create.
	ColonyClusters []ColonyCluster `json:"colonyClusters,omitempty"`
	// NetBird configuration for VPN networking
	NetBird *NetBirdConfig `json:"netBird,omitempty"`
}

ColonySpec defines the desired state of Colony.

func (*ColonySpec) DeepCopy

func (in *ColonySpec) DeepCopy() *ColonySpec

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

func (*ColonySpec) DeepCopyInto

func (in *ColonySpec) DeepCopyInto(out *ColonySpec)

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

type ColonyStatus

type ColonyStatus struct {
	Phase                 string                    `json:"phase,omitempty"`
	Conditions            []metav1.Condition        `json:"conditions,omitempty"`
	ClusterDeploymentRefs []*corev1.ObjectReference `json:"clusterDeploymentRefs,omitempty"`
	TotalClusters         int32                     `json:"totalClusters,omitempty"`
	ReadyClusters         int32                     `json:"readyClusters,omitempty"`
	// NetBird status for VPN networking
	NetBird *NetBirdStatus `json:"netBird,omitempty"`
}

ColonyStatus defines the observed state of Colony.

func (*ColonyStatus) DeepCopy

func (in *ColonyStatus) DeepCopy() *ColonyStatus

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

func (*ColonyStatus) DeepCopyInto

func (in *ColonyStatus) DeepCopyInto(out *ColonyStatus)

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

type NetBirdConfig added in v0.4.0

type NetBirdConfig struct {
	// Enabled enables NetBird integration for this Colony.
	Enabled bool `json:"enabled"`
	// Image is the NetBird container image to use (default: "netbirdio/netbird:v0.60.2").
	// +optional
	Image string `json:"image,omitempty"`
	// APIKeySecret is the name of the Secret containing the NetBird API key.
	// The secret must exist in the "exalsius-system" namespace.
	APIKeySecret string `json:"apiKeySecret"`
	// ManagementURL is the NetBird management API URL (default: "https://api.netbird.io").
	// +optional
	ManagementURL string `json:"managementURL,omitempty"`
}

NetBirdConfig defines the NetBird VPN configuration for the Colony.

func (*NetBirdConfig) DeepCopy added in v0.4.0

func (in *NetBirdConfig) DeepCopy() *NetBirdConfig

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

func (*NetBirdConfig) DeepCopyInto added in v0.4.0

func (in *NetBirdConfig) DeepCopyInto(out *NetBirdConfig)

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

type NetBirdStatus added in v0.4.0

type NetBirdStatus struct {
	// RouterReady indicates whether the routing peer Deployment is ready.
	RouterReady bool `json:"routerReady,omitempty"`
	// NetworkID is the NetBird network ID.
	NetworkID string `json:"networkID,omitempty"`
	// ColonyMeshPolicyID is the NetBird Policy ID for the shared colony-scoped mesh policy.
	ColonyMeshPolicyID string `json:"colonyMeshPolicyID,omitempty"`
	// ColonyNodesGroupID is the NetBird Group ID for the shared colony-scoped nodes group.
	ColonyNodesGroupID string `json:"colonyNodesGroupID,omitempty"`
	// ColonyRoutersGroupID is the NetBird Group ID for routing peers only.
	ColonyRoutersGroupID string `json:"colonyRoutersGroupID,omitempty"`
	// SetupKeySecretName is the name of the auto-generated Secret containing the setup key.
	SetupKeySecretName string `json:"setupKeySecretName,omitempty"`
	// SetupKeyID is the NetBird setup key ID for tracking/regeneration.
	SetupKeyID string `json:"setupKeyID,omitempty"`
	// RouterSetupKeySecretName is the name of the Secret containing the router-specific setup key.
	RouterSetupKeySecretName string `json:"routerSetupKeySecretName,omitempty"`
	// RouterSetupKeyID is the NetBird setup key ID for the routing peer.
	RouterSetupKeyID string `json:"routerSetupKeyID,omitempty"`
	// TrackedPeerIDs are peer IDs created by the operator that should be cleaned up on deletion.
	TrackedPeerIDs []string `json:"trackedPeerIDs,omitempty"`
	// ClusterResources tracks NetBird resources per cluster.
	ClusterResources map[string]ClusterNetBirdStatus `json:"clusterResources,omitempty"`
}

NetBirdStatus defines the observed state of NetBird integration.

func (*NetBirdStatus) DeepCopy added in v0.4.0

func (in *NetBirdStatus) DeepCopy() *NetBirdStatus

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

func (*NetBirdStatus) DeepCopyInto added in v0.4.0

func (in *NetBirdStatus) DeepCopyInto(out *NetBirdStatus)

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

type User added in v0.3.4

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

	Spec   UserSpec   `json:"spec,omitempty"`
	Status UserStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Name",type=string,JSONPath=`.spec.userName` +kubebuilder:printcolumn:name="Email",type=string,JSONPath=`.spec.userEmail` +kubebuilder:printcolumn:name="Namespace",type=string,JSONPath=`.spec.userNamespace` +kubebuilder:printcolumn:name="Role",type=string,JSONPath=`.spec.userRole` +kubebuilder:printcolumn:name="Ready",type=boolean,JSONPath=`.status.ready`

func (*User) DeepCopy added in v0.3.4

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto added in v0.3.4

func (in *User) DeepCopyInto(out *User)

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

func (*User) DeepCopyObject added in v0.3.4

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

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

type UserList added in v0.3.4

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

UserList contains a list of User.

func (*UserList) DeepCopy added in v0.3.4

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto added in v0.3.4

func (in *UserList) DeepCopyInto(out *UserList)

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

func (*UserList) DeepCopyObject added in v0.3.4

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

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

type UserSpec added in v0.3.4

type UserSpec struct {
	UserId        string   `json:"userId,omitempty"`
	UserName      string   `json:"userName,omitempty"`
	UserEmail     string   `json:"userEmail,omitempty"`
	UserNamespace string   `json:"userNamespace,omitempty"`
	UserRoles     []string `json:"userRoles,omitempty"`
}

UserSpec defines the desired state of User.

func (*UserSpec) DeepCopy added in v0.3.4

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto added in v0.3.4

func (in *UserSpec) DeepCopyInto(out *UserSpec)

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

type UserStatus added in v0.3.4

type UserStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Ready bool `json:"ready,omitempty"`
}

UserStatus defines the observed state of User.

func (*UserStatus) DeepCopy added in v0.3.4

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto added in v0.3.4

func (in *UserStatus) DeepCopyInto(out *UserStatus)

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