Skip to content

Latest commit

 

History

History
1109 lines (925 loc) · 28.1 KB

api-reference.md

File metadata and controls

1109 lines (925 loc) · 28.1 KB

API Reference

Packages:

clustertemplate.openshift.io/v1alpha1

Resource Types:

ClusterTemplateInstance

↩ Parent

Represents instance of a cluster

Name Type Description Required
apiVersion string clustertemplate.openshift.io/v1alpha1 true
kind string ClusterTemplateInstance true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
false
status object
false

ClusterTemplateInstance.spec

↩ Parent

Name Type Description Required
clusterTemplateRef string A reference to ClusterTemplate which will be used for installing and setting up the cluster
true
kubeconfigSecretRef string A reference to a secret which contains kubeconfig of the cluster. If specified day1 operation won't be executed.
false
parameters []object Helm parameters to be passed to cluster installation or setup
false

ClusterTemplateInstance.spec.parameters[index]

↩ Parent

Name Type Description Required
name string Name of the Helm parameter
true
value string Value of the Helm parameter
true
clusterSetup string Name of the application set to which parameter is applied
false

ClusterTemplateInstance.status

↩ Parent

Name Type Description Required
conditions []object Resource conditions
true
message string Additional message for Phase
true
phase string Represents instance installaton & setup phase
true
adminPassword object A reference for secret which contains username and password under keys "username" and "password"
false
apiServerURL string API server URL of the new cluster
false
clusterSetup []object Status of each cluster setup
false
clusterSetupSecrets []object Secrets create by cluster setup which provide crenderntials for applications created by cluster setup
false
kubeconfig object A reference for secret which contains kubeconfig under key "kubeconfig"
false

ClusterTemplateInstance.status.conditions[index]

↩ Parent

Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" // other fields }

Name Type Description Required
lastTransitionTime string lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

Format: date-time
true
message string message is a human readable message indicating details about the transition. This may be an empty string.
true
reason string reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
true
status enum status of the condition, one of True, False, Unknown.

Enum: True, False, Unknown
true
type string type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
true
observedGeneration integer observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.

Format: int64
Minimum: 0
false

ClusterTemplateInstance.status.adminPassword

↩ Parent

A reference for secret which contains username and password under keys "username" and "password"

Name Type Description Required
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false

ClusterTemplateInstance.status.clusterSetup[index]

↩ Parent

Name Type Description Required
message string Description of the cluster setup status
true
name string Name of the cluster setup
true
status string Status of the cluster setup
true

ClusterTemplateInstance.status.clusterSetupSecrets[index]

↩ Parent

LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.

Name Type Description Required
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false

ClusterTemplateInstance.status.kubeconfig

↩ Parent

A reference for secret which contains kubeconfig under key "kubeconfig"

Name Type Description Required
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false

ClusterTemplateQuota

↩ Parent

Defines which ClusterTemplates can be used in a given namespace

Name Type Description Required
apiVersion string clustertemplate.openshift.io/v1alpha1 true
kind string ClusterTemplateQuota true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
false
status object ClusterTemplateQuotaStatus defines the observed state of ClusterTemplateQuota
false

ClusterTemplateQuota.spec

↩ Parent

Name Type Description Required
allowedTemplates []object Represents all ClusterTemplates which can be used in given namespace
true
budget integer Total budget for all clusters within given namespace

Minimum: 1
false

ClusterTemplateQuota.spec.allowedTemplates[index]

↩ Parent

Name Type Description Required
name string Name of the ClusterTemplate
true
count integer Defines how many instances of the ClusterTemplate can exist

Minimum: 1
false
deleteAfter string Template instance will be removed after specified time This is a Duration value; see https://pkg.go.dev/time#ParseDuration for accepted formats. Note: due to discrepancies in validation vs parsing, we use a Pattern instead of `Format=duration`. See https://bugzilla.redhat.com/show_bug.cgi?id=2050332 kubernetes/apimachinery#131 kubernetes/apiextensions-apiserver#56
false

ClusterTemplateQuota.status

↩ Parent

ClusterTemplateQuotaStatus defines the observed state of ClusterTemplateQuota

Name Type Description Required
budgetSpent integer How much budget is currenly spent
true
templateInstances []object Which instances are in use
true

ClusterTemplateQuota.status.templateInstances[index]

↩ Parent

Name Type Description Required
name string Name of the ClusterTemplate
true
count integer Defines how many instances of the ClusterTemplate can exist

Minimum: 1
false
deleteAfter string Template instance will be removed after specified time This is a Duration value; see https://pkg.go.dev/time#ParseDuration for accepted formats. Note: due to discrepancies in validation vs parsing, we use a Pattern instead of `Format=duration`. See https://bugzilla.redhat.com/show_bug.cgi?id=2050332 kubernetes/apimachinery#131 kubernetes/apiextensions-apiserver#56
false

ClusterTemplate

↩ Parent

Template of a cluster - both installation and post-install setup are defined as ArgoCD application spec. Any application source is supported - typically a Helm chart

Name Type Description Required
apiVersion string clustertemplate.openshift.io/v1alpha1 true
kind string ClusterTemplate true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
true
status object ClusterTemplateStatus defines the observed state of ClusterTemplate
false

ClusterTemplate.spec

↩ Parent

Name Type Description Required
clusterDefinition string ArgoCD applicationset name which is used for installation of the cluster
true
clusterSetup []string Array of ArgoCD applicationset names which are used for post installation setup of the cluster
false
cost integer Cost of the cluster, used for quotas

Minimum: 0
false
skipClusterRegistration boolean Skip the registeration of the cluster to the hub cluster
false

ClusterTemplate.status

↩ Parent

ClusterTemplateStatus defines the observed state of ClusterTemplate

Name Type Description Required
clusterDefinition object Describes helm chart properties and their schema
false
clusterSetup []object Describes helm chart properties and schema for every cluster setup step
false

ClusterTemplate.status.clusterDefinition

↩ Parent

Describes helm chart properties and their schema

Name Type Description Required
error string Contain information about failure during fetching helm chart
false
schema string Content of helm chart values.schema.json
false
values string Content of helm chart values.yaml
false

ClusterTemplate.status.clusterSetup[index]

↩ Parent

Name Type Description Required
name string Name of the cluster setup step
true
error string Contain information about failure during fetching helm chart
false
schema string Content of helm chart values.schema.json
false
values string Content of helm chart values.yaml
false

ClusterTemplateSetup

↩ Parent

Template of a cluster - post-install setup are defined as ArgoCD application set refs.

Name Type Description Required
apiVersion string clustertemplate.openshift.io/v1alpha1 true
kind string ClusterTemplateSetup true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
true
status object ClusterTemplateStatus defines the observed state of ClusterTemplateSetup
false

ClusterTemplateSetup.spec

↩ Parent

Name Type Description Required
clusterSetup []string Array of ArgoCD applicationset names which are used for post installation setup of the cluster
false
skipClusterRegistration boolean Skip the registeration of the cluster to the hub cluster
false

ClusterTemplateSetup.status

↩ Parent

ClusterTemplateStatus defines the observed state of ClusterTemplateSetup

Name Type Description Required
clusterSetup []object Describes helm chart properties and schema for every cluster setup step
false

ClusterTemplateSetup.status.clusterSetup[index]

↩ Parent

Name Type Description Required
name string Name of the cluster setup step
true
error string Contain information about failure during fetching helm chart
false
schema string Content of helm chart values.schema.json
false
values string Content of helm chart values.yaml
false

Config

↩ Parent

Configuration of the cluster operator

Name Type Description Required
apiVersion string clustertemplate.openshift.io/v1alpha1 true
kind string Config true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
true

Config.spec

↩ Parent

Name Type Description Required
argoCDNamespace string ArgoCd namespace where the ArgoCD instance is running
false
uiEnabled boolean Flag that indicate if UI console plugin should be deployed
false
uiImage string Custom UI image
false