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" )