v1alpha1

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the gitops v1 API group +kubebuilder:object:generate=true +groupName=gitops.kanod.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "gitops.kanod.io", Version: "v1alpha1"}

	// 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 ClusterDef

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

	Spec   ClusterDefSpec   `json:"spec,omitempty"`
	Status ClusterDefStatus `json:"status,omitempty"`
}

func (*ClusterDef) DeepCopy

func (in *ClusterDef) DeepCopy() *ClusterDef

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

func (*ClusterDef) DeepCopyInto

func (in *ClusterDef) DeepCopyInto(out *ClusterDef)

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

func (*ClusterDef) DeepCopyObject

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

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

func (*ClusterDef) Default added in v0.8.0

func (r *ClusterDef) Default()

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

func (*ClusterDef) SetupWebhookWithManager added in v0.8.0

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

func (*ClusterDef) ValidateCreate added in v0.8.0

func (r *ClusterDef) ValidateCreate() error

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

func (*ClusterDef) ValidateDelete added in v0.8.0

func (r *ClusterDef) ValidateDelete() error

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

func (*ClusterDef) ValidateUpdate added in v0.8.0

func (r *ClusterDef) ValidateUpdate(old runtime.Object) error

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

type ClusterDefList

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

ClusterDefList contains a list of ClusterDef +kubebuilder:object:root=true

func (*ClusterDefList) DeepCopy

func (in *ClusterDefList) DeepCopy() *ClusterDefList

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

func (*ClusterDefList) DeepCopyInto

func (in *ClusterDefList) DeepCopyInto(out *ClusterDefList)

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

func (*ClusterDefList) DeepCopyObject

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

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

type ClusterDefSpec

type ClusterDefSpec struct {

	// Source is the location of the cluster definition.
	Source GitLocation `json:"source"`
	// CredentialName is the user credentials for accessing git repository
	// It must be in a secret in the same namespace
	CredentialName string `json:"credentialName"`
	// ConfigurationName is the configuration supplied by the infrastructure
	// administrator to render the specification of the cluster definition
	// It is a configmap in the same namespace
	ConfigurationName string `json:"configurationName"`
	// CidataName is the name of the configmap that customize the cluster
	// cloud-init datas. This has precedence over all other sources of
	// cloud-init data.
	CidataName string `json:"cidataName,omitempty"`
	// PivotInfo indicates if the argocd application of the targer cluster .
	// must be deployed on the target cluster
	PivotInfo PivotInformation `json:"pivotInfo,omitempty"`
}

ClusterDefSpec defines the desired state of ClusterDef

func (*ClusterDefSpec) DeepCopy

func (in *ClusterDefSpec) DeepCopy() *ClusterDefSpec

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

func (*ClusterDefSpec) DeepCopyInto

func (in *ClusterDefSpec) DeepCopyInto(out *ClusterDefSpec)

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

type ClusterDefState

type ClusterDefState string

ClusterDefState describes the possible phase of the cluster definition +kubebuilder:validation:Enum=ApplicationCreated;ApplicationSynced;ClusterProvisionned;Ready;Failed

const (
	// ApplicationCreated means the resources have been created
	ApplicationCreated ClusterDefState = "ApplicationCreated"
	// ApplicationSynced means the application is synced
	ApplicationSynced ClusterDefState = "ApplicationSynced"
	// ClusterProvisionned means that it is possible to connect to the cluster
	ClusterProvisionned ClusterDefState = "ClusterProvisionned"
	// Ready means that nodes are ready.
	Ready ClusterDefState = "Ready"
	// Failed means that the application failed to deploy
	Failed ClusterDefState = "Failed"
)

type ClusterDefStatus

type ClusterDefStatus struct {
	// Status of pivot
	// +optional
	PivotStatus PivotState `json:"pivotstatus"`
	// Status of deployment
	// +optional
	Phase ClusterDefState `json:"phase"`
	// ControlPlaneVersion is the version supported by control plane
	// +optional
	ControlPlaneVersion string `json:"controlPlaneVersion"`
	// +optional
	// MachineVersions is a sorted array of different versions of the kubelet
	// deployed on machines
	MachineVersions []string `json:"machineVersions"`
}

ClusterDefStatus defines the observed state of ClusterDef

func (*ClusterDefStatus) DeepCopy

func (in *ClusterDefStatus) DeepCopy() *ClusterDefStatus

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

func (*ClusterDefStatus) DeepCopyInto

func (in *ClusterDefStatus) DeepCopyInto(out *ClusterDefStatus)

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

type GitLocation

type GitLocation struct {
	// Repository is the URL of the project hosting the files
	Repository string `json:"repository"`
	// Branch is the git branch followed by ClusterDef
	Branch string `json:"branch,omitempty"`
	// Path is the subpath of the folder hosting the configuration file.
	Path string `json:"path,omitempty"`
}

GitLocation defines a complete path to a version of a folder on a git repository

func (*GitLocation) DeepCopy

func (in *GitLocation) DeepCopy() *GitLocation

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

func (*GitLocation) DeepCopyInto

func (in *GitLocation) DeepCopyInto(out *GitLocation)

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

type PivotInformation added in v0.8.0

type PivotInformation struct {
	// Pivot indicates if the cluster pivoting process should be launched
	Pivot bool `json:"pivot"`
	// BaremetalpoolList contains the list of Baremetalpool
	// to be moved on the target cluster
	BaremetalpoolList []string `json:"baremetalpoolList,omitempty"`
	// NetworkList contains the list of Network
	// to be moved on the target cluster
	NetworkList []string `json:"networkList,omitempty"`
	// kanod custom resource name
	KanodName string `json:"kanodName"`
	// namespace of the kanod custom resource
	KanodNamespace string `json:"kanodNamespace"`
}

Pivot defines informations nedded for pivoting

func (*PivotInformation) DeepCopy added in v0.8.0

func (in *PivotInformation) DeepCopy() *PivotInformation

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

func (*PivotInformation) DeepCopyInto added in v0.8.0

func (in *PivotInformation) DeepCopyInto(out *PivotInformation)

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

type PivotState added in v0.8.0

type PivotState string

PivotState describes the possible phase of the cluster pivoting process +kubebuilder:validation:Enum=NotPivoted;TargetClusterInfoStored;KanodOperatorInstalled;KanodOperatorReady;KanodResourcesMoved;StackDeployed;ArgoAppDeleted;ResourcesLabeled;BaremetalpoolPaused;NetworkPaused;ResourcesPivoted;ResourcesUnlabeled;BmpResourcesPivoted;NetworkResourcesPivoted;BaremetalpoolUnPaused;NetworkUnPaused;IronicOnLocalClusterScaledToZero;IronicOnLocalClusterUndeployed;IronicOnLocalClusterScaledToOne;IronicOnLocalClusterRedeployed;ClusterPivoted

const (
	// NotPivoted
	NotPivoted PivotState = "NotPivoted"
	// TargetClusterInfoStored
	TargetClusterInfoStored PivotState = "TargetClusterInfoStored"
	// KanodOperatorInstalled
	KanodOperatorInstalled PivotState = "KanodOperatorInstalled"
	// KanodOperatorReady
	KanodOperatorReady PivotState = "KanodOperatorReady"
	// KanodResourcesMoved
	KanodResourcesMoved PivotState = "KanodResourcesMoved"
	// StackDeployed
	StackDeployed PivotState = "StackDeployed"
	// ArgoAppDeleted
	ArgoAppDeleted PivotState = "ArgoAppDeleted"
	// ResourcesLabeled
	ResourcesLabeled PivotState = "ResourcesLabeled"
	// BaremetalpoolPaused
	BaremetalpoolPaused PivotState = "BaremetalpoolPaused"
	// BaremetalpoolPaused
	NetworkPaused PivotState = "NetworkPaused"
	// ResourcesPivoted
	ResourcesPivoted PivotState = "ResourcesPivoted"
	// ResourcesUnlabeled
	ResourcesUnlabeled PivotState = "ResourcesUnlabeled"
	// BmpResourcesPivoted
	BmpResourcesPivoted PivotState = "BmpResourcesPivoted"
	// NetworkResourcesPivoted
	NetworkResourcesPivoted PivotState = "NetworkResourcesPivoted"
	// BaremetalpoolUnPaused
	BaremetalpoolUnPaused PivotState = "BaremetalpoolUnPaused"
	// BaremetalpoolUnPaused
	NetworkUnPaused PivotState = "NetworkUnPaused"
	// IronicOnLocalClusterScaledToZero
	IronicOnLocalClusterScaledToZero PivotState = "IronicOnLocalClusterScaledToZero"
	// IronicOnLocalClusterUndeployed
	IronicOnLocalClusterUndeployed PivotState = "IronicOnLocalClusterUndeployed"
	// IronicOnLocalClusterScaledToOne
	IronicOnLocalClusterScaledToOne PivotState = "IronicOnLocalClusterScaledToOne"
	// IronicOnLocalClusterRedeployed
	IronicOnLocalClusterRedeployed PivotState = "IronicOnLocalClusterRedeployed"
	// ClusterPivoted
	ClusterPivoted PivotState = "ClusterPivoted"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL