Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the v1beta1 API group +kubebuilder:object:generate=true +groupName=claudie.io
Index ¶
- Constants
- Variables
- type ClustersStatus
- type InputManifest
- func (in *InputManifest) DeepCopy() *InputManifest
- func (in *InputManifest) DeepCopyInto(out *InputManifest)
- func (in *InputManifest) DeepCopyObject() runtime.Object
- func (im *InputManifest) GetNamespacedName() string
- func (im *InputManifest) GetNamespacedNameDashed() string
- func (im *InputManifest) GetStatuses() InputManifestStatus
- func (im *InputManifest) SetDeletingStatus()
- func (im *InputManifest) SetNewResourceStatus()
- func (im *InputManifest) SetUpdateResourceStatus(newStatus InputManifestStatus)
- type InputManifestList
- type InputManifestSpec
- type InputManifestStatus
- type Provider
- type ProviderType
- type ProviderWithData
- type SecretField
Constants ¶
const ( SEPARATOR = "/" // Claudie cluster statuses // IN_PROGRESS is a helper status thatindicates that the cluster is currently being build. STATUS_IN_PROGRESS = "IN_PROGRESS" // DONE_WITH_ERROR is a helper status that indicates that // one of the clusters failed while building and the rest compleated successfully STATUS_DONE_ERROR = "DONE_WITH_ERROR" // ERROR indicates that an error occurred while building the cluster. STATUS_ERROR = "ERROR" // DONE indicates that the workflow has finished. STATUS_DONE = "DONE" // STATUS_NEW is a helper status that indicates that the resource was recently created STATUS_NEW = "NEW" // SCHEDULED_FOR_DELETION STATUS_SCHEDULED_FOR_DELETION = "SCHEDULED_FOR_DELETION" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "claudie.io", 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 ¶
This section is empty.
Types ¶
type ClustersStatus ¶
type InputManifest ¶
type InputManifest struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec InputManifestSpec `json:"spec,omitempty"` Status InputManifestStatus `json:"status,omitempty"` }
InputManifest is a definition of the user's infrastructure. It contains cloud provider specification, nodepool specification, Kubernetes and loadbalancer clusters.
func (*InputManifest) DeepCopy ¶
func (in *InputManifest) DeepCopy() *InputManifest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputManifest.
func (*InputManifest) DeepCopyInto ¶
func (in *InputManifest) DeepCopyInto(out *InputManifest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InputManifest) DeepCopyObject ¶
func (in *InputManifest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*InputManifest) GetNamespacedName ¶
func (im *InputManifest) GetNamespacedName() string
GetNamespacedName returns a string in Namespace/Name format
func (*InputManifest) GetNamespacedNameDashed ¶
func (im *InputManifest) GetNamespacedNameDashed() string
GetNamespacedNameDashed returns a string in Namespace-Name format
func (*InputManifest) GetStatuses ¶
func (im *InputManifest) GetStatuses() InputManifestStatus
GetStatuses returns the inputmanifest.Status field
func (*InputManifest) SetDeletingStatus ¶
func (im *InputManifest) SetDeletingStatus()
func (*InputManifest) SetNewResourceStatus ¶
func (im *InputManifest) SetNewResourceStatus()
func (*InputManifest) SetUpdateResourceStatus ¶
func (im *InputManifest) SetUpdateResourceStatus(newStatus InputManifestStatus)
type InputManifestList ¶
type InputManifestList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []InputManifest `json:"items"` }
InputManifestList contains a list of InputManifest
func (*InputManifestList) DeepCopy ¶
func (in *InputManifestList) DeepCopy() *InputManifestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputManifestList.
func (*InputManifestList) DeepCopyInto ¶
func (in *InputManifestList) DeepCopyInto(out *InputManifestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InputManifestList) DeepCopyObject ¶
func (in *InputManifestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InputManifestSpec ¶
type InputManifestSpec struct { // Providers list of defined cloud provider configuration // that will be used while infrastructure provisioning. // +optional Providers []Provider `json:"providers,omitempty"` // +optional NodePools manifest.NodePool `json:"nodePools,omitempty"` // +optional Kubernetes manifest.Kubernetes `json:"kubernetes,omitempty"` // +optional LoadBalancer manifest.LoadBalancer `json:"loadBalancers,omitempty"` }
Specification of the desired behavior of the InputManifest
func (*InputManifestSpec) DeepCopy ¶
func (in *InputManifestSpec) DeepCopy() *InputManifestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputManifestSpec.
func (*InputManifestSpec) DeepCopyInto ¶
func (in *InputManifestSpec) DeepCopyInto(out *InputManifestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InputManifestStatus ¶
type InputManifestStatus struct { State string `json:"state,omitempty"` Clusters map[string]ClustersStatus `json:"clusters,omitempty"` }
Most recently observed status of the InputManifest
func (*InputManifestStatus) DeepCopy ¶
func (in *InputManifestStatus) DeepCopy() *InputManifestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputManifestStatus.
func (*InputManifestStatus) DeepCopyInto ¶
func (in *InputManifestStatus) DeepCopyInto(out *InputManifestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Provider ¶
type Provider struct { // Name is the name of the provider specyfication. It has to be unique across all providers. // +kubebuilder:validation:MaxLength=32 // +kubebuilder:validation:MinLength=1 ProviderName string `json:"name"` // +kubebuilder:validation:Enum=gcp;hetzner;aws;oci;azure;cloudflare;hetznerdns; ProviderType ProviderType `json:"providerType"` SecretRef corev1.SecretReference `json:"secretRef"` }
Providers list of defined cloud provider configuration that will be used while infrastructure provisioning.
type ProviderType ¶
type ProviderType string
ProviderType type of a provider. A list of available providers can be found at https://docs.claudie.io/v0.3.2/input-manifest/providers/aws/
const ( AWS ProviderType = "aws" AZURE ProviderType = "azure" CLOUDFLARE ProviderType = "cloudflare" GCP ProviderType = "gcp" HETZNER ProviderType = "hetzner" HETZNER_DNS ProviderType = "hetznerdns" OCI ProviderType = "oci" )
type ProviderWithData ¶
type ProviderWithData struct { ProviderName string ProviderType ProviderType Secret corev1.Secret }
ProviderWithData helper type that assist in conversion from SecretReference to Secret
func (*ProviderWithData) GetSecretField ¶
func (pwd *ProviderWithData) GetSecretField(name SecretField) (string, error)
GetSecretField takes an ENUM string type of SecretField, and returns the value of the that field from the ProviderWithData struct
type SecretField ¶
type SecretField string
const ( AWS_ACCESS_KEY SecretField = "accesskey" AWS_SECRET_KEY SecretField = "secretkey" AZURE_CLIENT_SECRET SecretField = "clientsecret" AZURE_SUBSCRIPTION_ID SecretField = "subscriptionid" AZURE_TENANT_ID SecretField = "tenantid" AZURE_CLIENT_ID SecretField = "clientid" CF_API_TOKEN SecretField = "apitoken" GCP_CREDENTIALS SecretField = "credentials" GCP_GCP_PROJECT SecretField = "gcpproject" HETZNER_CREDENTIALS SecretField = "credentials" HETZNER_DNS_API_TOKEN SecretField = "apitoken" OCI_PRIVATE_KEY SecretField = "privatekey" OCI_KEY_FINGERPRINT SecretField = "keyfingerprint" OCI_TENANCT_OCID SecretField = "tenancyocid" OCI_USER_OCID SecretField = "userocid" OCI_COMPARTMENT_OCID SecretField = "compartmentocid" )