Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the infra v1 API group. +kubebuilder:object:generate=true +groupName=infra.exalsius.ai
Index ¶
- Variables
- type ClusterNetBirdStatus
- type Colony
- type ColonyCluster
- func (in *ColonyCluster) DeepCopy() *ColonyCluster
- func (in *ColonyCluster) DeepCopyInto(out *ColonyCluster)
- func (cc *ColonyCluster) GetClusterDeploymentSpec() (*k0rdentv1beta1.ClusterDeploymentSpec, error)
- func (cc *ColonyCluster) SetClusterDeploymentSpec(spec *k0rdentv1beta1.ClusterDeploymentSpec) error
- type ColonyList
- type ColonySpec
- type ColonyStatus
- type NetBirdConfig
- type NetBirdStatus
- type User
- type UserList
- type UserSpec
- type UserStatus
Constants ¶
This section is empty.
Variables ¶
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
func (in *ClusterNetBirdStatus) DeepCopy() *ClusterNetBirdStatus
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Colony.
func (*Colony) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Colony) DeepCopyObject ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶ added in v0.3.4
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.
func (*UserList) DeepCopyInto ¶ added in v0.3.4
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.
func (*UserSpec) DeepCopyInto ¶ added in v0.3.4
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.