From 2c4fa4dc0c8e34c5273956d63b35f7003e1bc370 Mon Sep 17 00:00:00 2001 From: Francesco Giudici Date: Mon, 9 Oct 2023 12:00:46 +0200 Subject: [PATCH] make charts Signed-off-by: Francesco Giudici --- .../elemental-crd-103.0.0+up1.3.4.tgz | Bin 0 -> 13439 bytes .../elemental/elemental-103.0.0+up1.3.4.tgz | Bin 0 -> 3401 bytes .../elemental-crd/103.0.0+up1.3.4/Chart.yaml | 11 + .../103.0.0+up1.3.4/templates/crds.yaml | 2710 +++++++++++++++++ charts/elemental/103.0.0+up1.3.4/Chart.yaml | 20 + charts/elemental/103.0.0+up1.3.4/README.md | 5 + .../elemental/103.0.0+up1.3.4/app-readme.md | 5 + .../elemental/103.0.0+up1.3.4/questions.yaml | 27 + .../103.0.0+up1.3.4/templates/_helpers.tpl | 17 + .../103.0.0+up1.3.4/templates/apiservice.yaml | 9 + .../103.0.0+up1.3.4/templates/capi_rbac.yaml | 10 + .../103.0.0+up1.3.4/templates/channel.yaml | 11 + .../templates/cluster_role.yaml | 267 ++ .../templates/cluster_role_binding.yaml | 13 + .../103.0.0+up1.3.4/templates/deployment.yaml | 50 + .../103.0.0+up1.3.4/templates/globalrole.yaml | 16 + .../templates/serviceaccount.yaml | 4 + .../templates/validate-install-crd.yaml | 25 + charts/elemental/103.0.0+up1.3.4/values.yaml | 42 + index.yaml | 41 + 20 files changed, 3283 insertions(+) create mode 100644 assets/elemental-crd/elemental-crd-103.0.0+up1.3.4.tgz create mode 100644 assets/elemental/elemental-103.0.0+up1.3.4.tgz create mode 100644 charts/elemental-crd/103.0.0+up1.3.4/Chart.yaml create mode 100644 charts/elemental-crd/103.0.0+up1.3.4/templates/crds.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/Chart.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/README.md create mode 100644 charts/elemental/103.0.0+up1.3.4/app-readme.md create mode 100644 charts/elemental/103.0.0+up1.3.4/questions.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/templates/_helpers.tpl create mode 100644 charts/elemental/103.0.0+up1.3.4/templates/apiservice.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/templates/capi_rbac.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/templates/channel.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/templates/cluster_role.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/templates/cluster_role_binding.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/templates/deployment.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/templates/globalrole.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/templates/serviceaccount.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/templates/validate-install-crd.yaml create mode 100644 charts/elemental/103.0.0+up1.3.4/values.yaml diff --git a/assets/elemental-crd/elemental-crd-103.0.0+up1.3.4.tgz b/assets/elemental-crd/elemental-crd-103.0.0+up1.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..bca800e1c6a6e9028125f266549525595d4cc569 GIT binary patch literal 13439 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 literal 0 HcmV?d00001 diff --git a/charts/elemental-crd/103.0.0+up1.3.4/Chart.yaml b/charts/elemental-crd/103.0.0+up1.3.4/Chart.yaml new file mode 100644 index 000000000..ceeb773e8 --- /dev/null +++ b/charts/elemental-crd/103.0.0+up1.3.4/Chart.yaml @@ -0,0 +1,11 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/release-name: elemental-operator-crds +apiVersion: v2 +appVersion: 1.3.4 +description: A Helm chart for deploying Rancher Elemental Operator CRDs +name: elemental-crd +type: application +version: 103.0.0+up1.3.4 diff --git a/charts/elemental-crd/103.0.0+up1.3.4/templates/crds.yaml b/charts/elemental-crd/103.0.0+up1.3.4/templates/crds.yaml new file mode 100644 index 000000000..40946fbfc --- /dev/null +++ b/charts/elemental-crd/103.0.0+up1.3.4/templates/crds.yaml @@ -0,0 +1,2710 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: machineinventories.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: MachineInventory + listKind: MachineInventoryList + plural: machineinventories + singular: machineinventory + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + machineHash: + description: MachineHash the hash of the identifier used by the host + to identify to the operator. This is used when the host authenticates + without TPM. Both the authentication method and the identifier used + to derive the hash depend upon the MachineRegistration spec.config.elemental.registration.auth + value. + type: string + tpmHash: + description: TPMHash the hash of the TPM EK public key. This is used + if you are using TPM2 to identifiy nodes. You can obtain the TPM + by running `rancherd get-tpm-hash` on the node. Or nodes can report + their TPM hash by using the MachineRegister. + type: string + type: object + status: + properties: + conditions: + description: Conditions describe the state of the machine inventory + object. + items: + description: "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\"` \n // other fields }" + properties: + lastTransitionTime: + description: 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 + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: 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 + type: integer + reason: + description: 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. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: 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) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + plan: + description: PlanStatus reflect the status of the plan owned by the + machine inventory object. + properties: + checksum: + description: Checksum checksum of the created plan. + type: string + secretRef: + description: PlanSecretRef a reference to the created plan secret. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead + of an entire object, this string should contain a valid + JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part + of an object. TODO: this design is not final and this field + is subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + x-kubernetes-map-type: atomic + state: + description: State reflect state of the plan that belongs to the + machine inventory. + enum: + - Applied + - Failed + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: machineinventoryselectors.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: MachineInventorySelector + listKind: MachineInventorySelectorList + plural: machineinventoryselectors + singular: machineinventoryselector + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + providerID: + description: 'ProviderID the identifier for the elemental instance. + NOTE: Functionality not implemented yet.' + type: string + selector: + description: Selector selector to choose elemental machines. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the key + and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship to + a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: object + status: + properties: + addresses: + description: Addresses represent machine addresses. + items: + description: MachineAddress contains information for the node's + address. + properties: + address: + description: The machine address. + type: string + type: + description: Machine address type, one of Hostname, ExternalIP + or InternalIP. + type: string + required: + - address + - type + type: object + type: array + bootstrapPlanChecksum: + description: BootstrapPlanChecksum represent bootstrap plan checksum. + type: string + conditions: + description: Conditions describe the state of the machine selector + object. + items: + description: "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\"` \n // other fields }" + properties: + lastTransitionTime: + description: 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 + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: 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 + type: integer + reason: + description: 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. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: 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) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + machineInventoryRef: + description: MachineInventoryRef reference to the machine inventory + that belongs to the selector. + properties: + name: + description: '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?' + type: string + type: object + x-kubernetes-map-type: atomic + ready: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: machineinventoryselectortemplates.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: MachineInventorySelectorTemplate + listKind: MachineInventorySelectorTemplateList + plural: machineinventoryselectortemplates + singular: machineinventoryselectortemplate + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + template: + description: Template machine inventory selector template. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this + representation of an object. Servers should convert recognized + schemas to the latest internal value, and may reject unrecognized + values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint + the client submits requests to. Cannot be updated. In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + providerID: + description: 'ProviderID the identifier for the elemental + instance. NOTE: Functionality not implemented yet.' + type: string + selector: + description: Selector selector to choose elemental machines. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: object + status: + properties: + addresses: + description: Addresses represent machine addresses. + items: + description: MachineAddress contains information for the + node's address. + properties: + address: + description: The machine address. + type: string + type: + description: Machine address type, one of Hostname, + ExternalIP or InternalIP. + type: string + required: + - address + - type + type: object + type: array + bootstrapPlanChecksum: + description: BootstrapPlanChecksum represent bootstrap plan + checksum. + type: string + conditions: + description: Conditions describe the state of the machine + selector object. + items: + description: "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\"` + \n // other fields }" + properties: + lastTransitionTime: + description: 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 + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty + string. + maxLength: 32768 + type: string + observedGeneration: + description: 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 + type: integer + reason: + description: 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. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: 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) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + machineInventoryRef: + description: MachineInventoryRef reference to the machine + inventory that belongs to the selector. + properties: + name: + description: '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?' + type: string + type: object + x-kubernetes-map-type: atomic + ready: + type: boolean + type: object + type: object + required: + - template + type: object + type: object + served: true + storage: true +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: machineregistrations.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: MachineRegistration + listKind: MachineRegistrationList + plural: machineregistrations + singular: machineregistration + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + config: + description: Config the cloud config that will be used to provision + the node. + properties: + cloud-config: + x-kubernetes-preserve-unknown-fields: true + elemental: + properties: + install: + properties: + config-dir: + type: string + config-urls: + items: + type: string + type: array + debug: + type: boolean + device: + type: string + disable-boot-entry: + type: boolean + eject-cd: + type: boolean + firmware: + type: string + iso: + type: string + no-format: + type: boolean + poweroff: + type: boolean + reboot: + type: boolean + system-uri: + type: string + tty: + type: string + type: object + registration: + properties: + auth: + default: tpm + type: string + ca-cert: + type: string + emulate-tpm: + type: boolean + emulated-tpm-seed: + format: int64 + type: integer + no-smbios: + type: boolean + url: + type: string + type: object + reset: + default: + reboot: true + reset-oem: true + reset-persistent: true + properties: + config-urls: + items: + type: string + type: array + debug: + type: boolean + enabled: + type: boolean + poweroff: + type: boolean + reboot: + default: true + type: boolean + reset-oem: + default: true + type: boolean + reset-persistent: + default: true + type: boolean + system-uri: + type: string + type: object + system-agent: + properties: + secret-name: + type: string + secret-namespace: + type: string + token: + type: string + url: + type: string + type: object + type: object + type: object + machineInventoryAnnotations: + additionalProperties: + type: string + description: MachineInventoryAnnotations annotations to be added to + the created MachineInventory object. + type: object + machineInventoryLabels: + additionalProperties: + type: string + description: MachineInventoryLabels label to be added to the created + MachineInventory object. + type: object + machineName: + type: string + type: object + status: + properties: + conditions: + description: Conditions describe the state of the machine registration + object. + items: + description: "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\"` \n // other fields }" + properties: + lastTransitionTime: + description: 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 + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: 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 + type: integer + reason: + description: 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. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: 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) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + registrationToken: + description: RegistrationToken a token for registering a machine. + type: string + registrationURL: + description: RegistrationURL is the URL for registering a new machine. + type: string + serviceAccountRef: + description: ServiceAccountRef a reference to the service account + created by the machine registration. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + x-kubernetes-map-type: atomic + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: managedosimages.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: ManagedOSImage + listKind: ManagedOSImageList + plural: managedosimages + singular: managedosimage + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + cloudConfig: + type: object + clusterRolloutStrategy: + properties: + autoPartitionSize: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailablePartitions: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + partitions: + items: + properties: + clusterGroup: + type: string + clusterGroupSelector: + description: A label selector is a label query over a set + of resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. + A null label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, + NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists + or DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field + is "key", the operator is "In", and the values array + contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + clusterName: + type: string + clusterSelector: + description: A label selector is a label query over a set + of resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. + A null label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, + NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists + or DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field + is "key", the operator is "In", and the values array + contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + type: object + type: array + type: object + clusterTargets: + items: + properties: + clusterGroup: + type: string + clusterGroupSelector: + description: A label selector is a label query over a set of + resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. A + null label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + clusterName: + type: string + clusterSelector: + description: A label selector is a label query over a set of + resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. A + null label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + defaultNamespace: + type: string + diff: + properties: + comparePatches: + items: + properties: + apiVersion: + type: string + jsonPointers: + items: + type: string + type: array + kind: + type: string + name: + type: string + namespace: + type: string + operations: + items: + properties: + op: + type: string + path: + type: string + value: + type: string + type: object + type: array + type: object + type: array + type: object + forceSyncGeneration: + format: int64 + type: integer + helm: + properties: + chart: + type: string + force: + type: boolean + maxHistory: + type: integer + releaseName: + type: string + repo: + type: string + takeOwnership: + type: boolean + timeoutSeconds: + type: integer + values: + type: object + valuesFiles: + items: + type: string + type: array + valuesFrom: + items: + description: 'Define helm values that can come from configmap, + secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with release + values. + properties: + key: + type: string + name: + type: string + namespace: + type: string + required: + - name + type: object + secretKeyRef: + description: The reference to a secret with release + values. + properties: + key: + type: string + name: + type: string + namespace: + type: string + required: + - name + type: object + type: object + type: array + version: + type: string + type: object + kustomize: + properties: + dir: + type: string + type: object + name: + type: string + namespace: + type: string + serviceAccount: + type: string + yaml: + properties: + overlays: + items: + type: string + type: array + type: object + type: object + type: array + concurrency: + format: int64 + type: integer + cordon: + type: boolean + drain: + description: DrainSpec encapsulates `kubectl drain` parameters minus + node/pod selectors. + properties: + deleteLocalData: + type: boolean + disableEviction: + type: boolean + force: + type: boolean + gracePeriod: + format: int32 + type: integer + ignoreDaemonSets: + type: boolean + skipWaitForDeleteTimeout: + type: integer + timeout: + description: A Duration represents the elapsed time between two + instants as an int64 nanosecond count. The representation limits + the largest representable duration to approximately 290 years. + format: int64 + type: integer + type: object + managedOSVersionName: + type: string + nodeSelector: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the key + and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship to + a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + osImage: + type: string + prepare: + description: ContainerSpec is a simplified container template. + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + envFrom: + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: '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?' + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: '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?' + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + envs: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: '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?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: '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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + type: string + type: object + upgradeContainer: + description: ContainerSpec is a simplified container template. + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + envFrom: + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: '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?' + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: '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?' + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + envs: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: '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?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: '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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + type: string + type: object + type: object + status: + properties: + conditions: + items: + description: "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\"` \n // other fields }" + properties: + lastTransitionTime: + description: 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 + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: 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 + type: integer + reason: + description: 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. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: 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) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: managedosversionchannels.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: ManagedOSVersionChannel + listKind: ManagedOSVersionChannelList + plural: managedosversionchannels + singular: managedosversionchannel + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + options: + x-kubernetes-preserve-unknown-fields: true + syncInterval: + type: string + type: + type: string + upgradeContainer: + description: ContainerSpec is a simplified container template. + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + envFrom: + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: '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?' + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: '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?' + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + envs: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: '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?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: '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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + type: string + type: object + type: object + status: + properties: + conditions: + description: Conditions describe the state of the managed OS version + object. + items: + description: "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\"` \n // other fields }" + properties: + lastTransitionTime: + description: 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 + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: 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 + type: integer + reason: + description: 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. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: 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) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + lastSyncedTime: + description: LastSyncedTime is the timestamp of the last synchronization + format: date-time + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: managedosversions.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: ManagedOSVersion + listKind: ManagedOSVersionList + plural: managedosversions + singular: managedosversion + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + metadata: + x-kubernetes-preserve-unknown-fields: true + minVersion: + type: string + type: + type: string + upgradeContainer: + description: ContainerSpec is a simplified container template. + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + envFrom: + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: '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?' + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: '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?' + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + envs: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: '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?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: '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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + type: string + type: object + version: + type: string + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + lastUpdateTime: + description: The last time this condition was updated. + type: string + message: + description: Human-readable message indicating details about + last transition + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type of cluster condition. + type: string + required: + - status + - type + type: object + type: array + display: + properties: + readyClusters: + type: string + state: + type: string + type: object + maxNew: + type: integer + maxUnavailable: + type: integer + maxUnavailablePartitions: + type: integer + newlyCreated: + type: integer + observedGeneration: + format: int64 + type: integer + partitions: + items: + properties: + count: + type: integer + maxUnavailable: + type: integer + name: + type: string + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + type: string + message: + type: string + modifiedStatus: + items: + properties: + apiVersion: + type: string + delete: + type: boolean + kind: + type: string + missing: + type: boolean + name: + type: string + namespace: + type: string + patch: + type: string + type: object + type: array + name: + type: string + nonReadyStatus: + items: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + summary: + properties: + error: + type: boolean + message: + items: + type: string + type: array + state: + type: string + transitioning: + type: boolean + type: object + uid: + description: UID is a type that holds unique + ID values, including UUIDs. Because we don't + ONLY use UUIDs, this is an alias to string. Being + a type captures intent and helps make sure + that UIDs and names do not get conflated. + type: string + type: object + type: array + type: object + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + required: + - desiredReady + - ready + type: object + unavailable: + type: integer + type: object + type: array + resourceKey: + items: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + type: object + type: array + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + type: string + message: + type: string + modifiedStatus: + items: + properties: + apiVersion: + type: string + delete: + type: boolean + kind: + type: string + missing: + type: boolean + name: + type: string + namespace: + type: string + patch: + type: string + type: object + type: array + name: + type: string + nonReadyStatus: + items: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + summary: + properties: + error: + type: boolean + message: + items: + type: string + type: array + state: + type: string + transitioning: + type: boolean + type: object + uid: + description: UID is a type that holds unique ID values, + including UUIDs. Because we don't ONLY use UUIDs, + this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do + not get conflated. + type: string + type: object + type: array + type: object + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + required: + - desiredReady + - ready + type: object + unavailable: + type: integer + unavailablePartitions: + type: integer + required: + - maxUnavailable + - maxUnavailablePartitions + - observedGeneration + - unavailable + - unavailablePartitions + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: seedimages.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: SeedImage + listKind: SeedImageList + plural: seedimages + singular: seedimage + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + baseImage: + description: BaseImg the base elemental image used to build the seed + image. + type: string + cleanupAfterMinutes: + default: 60 + description: LifetimeMinutes the time at which the built seed image + will be cleaned up. If when the lifetime elapses the built image + is being downloaded, the active download will be completed before + removing the built image. Default is 60 minutes, set to 0 to disable. + format: int32 + type: integer + cloud-config: + description: CloudConfig contains cloud-config data to be put in the + generated iso. + x-kubernetes-preserve-unknown-fields: true + registrationRef: + description: MachineRegistrationRef a reference to the related MachineRegistration. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + x-kubernetes-map-type: atomic + retriggerBuild: + description: RetriggerBuild triggers to build again a cleaned up seed + image. + type: boolean + required: + - registrationRef + type: object + status: + properties: + conditions: + description: Conditions describe the state of the machine registration + object. + items: + description: "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\"` \n // other fields }" + properties: + lastTransitionTime: + description: 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 + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: 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 + type: integer + reason: + description: 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. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: 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) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + downloadToken: + description: DownloadToken a token to identify the seed image to download. + type: string + downloadURL: + description: DownloadURL the URL from which the SeedImage can be downloaded + once built. + type: string + state: + description: State reflect the state of the seed image build process. + enum: + - Initialized + - Started + - Completed + - Failed + - NotStarted + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/elemental/103.0.0+up1.3.4/Chart.yaml b/charts/elemental/103.0.0+up1.3.4/Chart.yaml new file mode 100644 index 000000000..d40c30bd9 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/Chart.yaml @@ -0,0 +1,20 @@ +annotations: + catalog.cattle.io/auto-install: elemental-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Elemental + catalog.cattle.io/kube-version: '>= 1.23.0-0' + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux + catalog.cattle.io/provides-gvr: elemental.cattle.io/v1beta1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: elemental-operator + catalog.cattle.io/scope: management + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/upstream-version: 1.3.4 +apiVersion: v2 +appVersion: 1.3.4 +description: Elemental provides Cloud Native OS Management for Cluster Nodes. +icon: https://raw.githubusercontent.com/rancher/elemental/main/logo/icon-elemental.svg +name: elemental +version: 103.0.0+up1.3.4 diff --git a/charts/elemental/103.0.0+up1.3.4/README.md b/charts/elemental/103.0.0+up1.3.4/README.md new file mode 100644 index 000000000..bf7b83ea6 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/README.md @@ -0,0 +1,5 @@ +# Elemental Operator Helm Chart + +This chart bootstraps an elemental-operator deployment on a [Rancher Manager](https://rancher.com/docs/rancher/) cluster using the [Helm](https://helm.sh) package manager. + +Check out the [Elemental Operator Helm Chart documentation](https://elemental.docs.rancher.com/elementaloperatorchart-reference/) in the official [Elemental guide](https://elemental.docs.rancher.com/). diff --git a/charts/elemental/103.0.0+up1.3.4/app-readme.md b/charts/elemental/103.0.0+up1.3.4/app-readme.md new file mode 100644 index 000000000..c66b1bbb0 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/app-readme.md @@ -0,0 +1,5 @@ +# Elemental + +Elemental brings to Rancher the ability to install and manage the OS of bare metal and virtualized machines. + +For more information on how to deploy an Elemental Cluster, follow the [official documentation](https://elemental.docs.rancher.com/). diff --git a/charts/elemental/103.0.0+up1.3.4/questions.yaml b/charts/elemental/103.0.0+up1.3.4/questions.yaml new file mode 100644 index 000000000..7aa97a85c --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/questions.yaml @@ -0,0 +1,27 @@ +questions: +- variable: channel.defaultChannel + default: "true" + description: "Provide an Elemental OS Channel container image" + label: Elemental OS Channel + type: boolean + show_subquestion_if: true + group: "Elemental OS Channel" + subquestions: + - variable: channel.repository + default: registry.suse.com/rancher/elemental-teal-channel + description: "Specify Elemental OS channel repository" + type: string + label: Elemental OS Channel Repository + group: "Elemental OS Channel" + - variable: channel.tag + default: "1.3.4" + description: "Specify Elemental OS channel tag" + type: string + label: "Elemental OS Channel Tag" + group: "Elemental OS Channel" +- variable: debug + default: "false" + description: "Enable debug logging in the Elemental operator" + type: boolean + label: "Enable Debug Logging" + group: "Logging" diff --git a/charts/elemental/103.0.0+up1.3.4/templates/_helpers.tpl b/charts/elemental/103.0.0+up1.3.4/templates/_helpers.tpl new file mode 100644 index 000000000..ee1e6fe7d --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/templates/_helpers.tpl @@ -0,0 +1,17 @@ +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} + +{{- define "registry_url" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{ include "system_default_registry" . }} +{{- else if .Values.registryUrl -}} +{{- printf "%s/" .Values.registryUrl -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/charts/elemental/103.0.0+up1.3.4/templates/apiservice.yaml b/charts/elemental/103.0.0+up1.3.4/templates/apiservice.yaml new file mode 100644 index 000000000..73ae2e505 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/templates/apiservice.yaml @@ -0,0 +1,9 @@ +kind: APIService +apiVersion: management.cattle.io/v3 +metadata: + name: {{ .Release.Name }} +spec: + secretName: elemental-operator + secretNamespace: {{ .Release.Namespace }} + pathPrefixes: + - /elemental/ diff --git a/charts/elemental/103.0.0+up1.3.4/templates/capi_rbac.yaml b/charts/elemental/103.0.0+up1.3.4/templates/capi_rbac.yaml new file mode 100644 index 000000000..8692f7526 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/templates/capi_rbac.yaml @@ -0,0 +1,10 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: elemental-capi-role + labels: + cluster.x-k8s.io/aggregate-to-manager: "true" +rules: + - apiGroups: ["elemental.cattle.io"] + resources: ["*"] + verbs: ["*"] diff --git a/charts/elemental/103.0.0+up1.3.4/templates/channel.yaml b/charts/elemental/103.0.0+up1.3.4/templates/channel.yaml new file mode 100644 index 000000000..b85c0c085 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/templates/channel.yaml @@ -0,0 +1,11 @@ +{{ if and .Values.channel .Values.channel.repository .Values.channel.tag }} +apiVersion: elemental.cattle.io/v1beta1 +kind: ManagedOSVersionChannel +metadata: + name: elemental-os-channel + namespace: fleet-default +spec: + options: + image: {{ .Values.channel.repository }}:{{ .Values.channel.tag }} + type: custom +{{ end }} diff --git a/charts/elemental/103.0.0+up1.3.4/templates/cluster_role.yaml b/charts/elemental/103.0.0+up1.3.4/templates/cluster_role.yaml new file mode 100644 index 000000000..718f90a05 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/templates/cluster_role.yaml @@ -0,0 +1,267 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: '{{ .Release.Name }}' +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch +- apiGroups: + - "" + resources: + - pods + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - pods/log + verbs: + - get +- apiGroups: + - "" + resources: + - pods/status + verbs: + - get +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - delete + - get + - list + - watch +- apiGroups: + - "" + resources: + - services + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - services/status + verbs: + - get +- apiGroups: + - cluster.x-k8s.io + resources: + - machines + verbs: + - get + - list + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineinventories + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineinventories/status + verbs: + - get + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - machineinventoryselectors + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineinventoryselectors/status + verbs: + - get + - list + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - machineregistrations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineregistrations/status + verbs: + - get + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - managedosimages + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - managedosimages/status + verbs: + - get + - list + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - managedosversionchannels + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - managedosversionchannels/status + verbs: + - get + - list + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - managedosversions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - managedosversions/status + verbs: + - get + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - seedimages + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - seedimages/status + verbs: + - get + - patch + - update +- apiGroups: + - fleet.cattle.io + resources: + - bundles + verbs: + - create + - get + - list + - watch +- apiGroups: + - management.cattle.io + resources: + - settings + verbs: + - get + - list + - watch +- apiGroups: + - rbac.authorization.k8s.io + resources: + - rolebindings + - roles + verbs: + - create + - delete + - list + - watch diff --git a/charts/elemental/103.0.0+up1.3.4/templates/cluster_role_binding.yaml b/charts/elemental/103.0.0+up1.3.4/templates/cluster_role_binding.yaml new file mode 100644 index 000000000..e68c7bc96 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/templates/cluster_role_binding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Release.Name }} +subjects: +- kind: ServiceAccount + name: {{ .Release.Name }} + namespace: {{.Release.Namespace}} + diff --git a/charts/elemental/103.0.0+up1.3.4/templates/deployment.yaml b/charts/elemental/103.0.0+up1.3.4/templates/deployment.yaml new file mode 100644 index 000000000..576d58d59 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/templates/deployment.yaml @@ -0,0 +1,50 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }} +spec: + replicas: {{ .Values.replicas }} + selector: + matchLabels: + app: elemental-operator + template: + metadata: + labels: + app: elemental-operator + spec: + containers: + - env: + - name: NO_PROXY + value: {{ .Values.noProxy }} + {{- if .Values.proxy }} + - name: HTTP_PROXY + value: {{ .Values.proxy }} + - name: HTTPS_PROXY + value: {{ .Values.proxy }} + {{- end }} + name: {{ .Release.Name }} + imagePullPolicy: "{{ .Values.image.imagePullPolicy }}" + image: {{ template "registry_url" . }}{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + args: + - operator + {{- if .Values.debug }} + - --v=5 + - --debug + {{- end }} + - --namespace + - {{ .Release.Namespace }} + - --operator-image + - {{ template "registry_url" . }}{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + - --seedimage-image + - {{ template "registry_url" . }}{{ .Values.seedImage.repository }}:{{ .Values.seedImage.tag | default .Chart.AppVersion }} + - --seedimage-image-pullpolicy + - {{ .Values.seedImage.imagePullPolicy}} + serviceAccountName: {{ .Release.Name }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/elemental/103.0.0+up1.3.4/templates/globalrole.yaml b/charts/elemental/103.0.0+up1.3.4/templates/globalrole.yaml new file mode 100644 index 000000000..323cf2ead --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/templates/globalrole.yaml @@ -0,0 +1,16 @@ +apiVersion: management.cattle.io/v3 +builtin: false +description: "Elemental Administrator Role" +displayName: Elemental Administrator +kind: GlobalRole +metadata: + labels: + cattle.io/creator: norman + name: {{ .Release.Name }} +rules: +- apiGroups: + - elemental.cattle.io + resources: + - '*' + verbs: + - '*' diff --git a/charts/elemental/103.0.0+up1.3.4/templates/serviceaccount.yaml b/charts/elemental/103.0.0+up1.3.4/templates/serviceaccount.yaml new file mode 100644 index 000000000..cb203d6f6 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/templates/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Release.Name }} diff --git a/charts/elemental/103.0.0+up1.3.4/templates/validate-install-crd.yaml b/charts/elemental/103.0.0+up1.3.4/templates/validate-install-crd.yaml new file mode 100644 index 000000000..c5c4aded4 --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/templates/validate-install-crd.yaml @@ -0,0 +1,25 @@ +{{ if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 }} + {{ $apis := dict + "elemental.cattle.io/v1beta1/MachineInventory" "machineinventories" + "elemental.cattle.io/v1beta1/MachineInventorySelector" "machineinventoryselectors" + "elemental.cattle.io/v1beta1/MachineInventorySelectorTemplate" "machineinventoryselectortemplates" + "elemental.cattle.io/v1beta1/MachineRegistration" "machineregistrations" + "elemental.cattle.io/v1beta1/ManagedOSImage" "managedosimages" + "elemental.cattle.io/v1beta1/ManagedOSVersionChannel" "managedosversionchannels" + "elemental.cattle.io/v1beta1/ManagedOSVersion" "managedosversions" + "elemental.cattle.io/v1beta1/SeedImage" "seedimages" + }} + {{- range $api, $crd := $apis -}} + {{- if not ($.Capabilities.APIVersions.Has $api) -}} + {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}} + {{- end -}} + {{- $crdobj := lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" "" (print $crd ".elemental.cattle.io") -}} + {{- if not $crdobj -}} + {{- print "Cannot lookup " $crd ".elemental.cattle.io crd object" | fail -}} + {{- end -}} + {{- $crdrelease := index $crdobj.metadata.annotations "meta.helm.sh/release-name" -}} + {{- if eq $crdrelease $.Release.Name -}} + {{- required "Elemental CRDs should be moved to the new elemental-operator-crds chart before upgrading this operator." "" -}} + {{- end -}} + {{- end -}} +{{- end -}} diff --git a/charts/elemental/103.0.0+up1.3.4/values.yaml b/charts/elemental/103.0.0+up1.3.4/values.yaml new file mode 100644 index 000000000..6051eb3de --- /dev/null +++ b/charts/elemental/103.0.0+up1.3.4/values.yaml @@ -0,0 +1,42 @@ +image: + empty: rancher/pause:3.1 + repository: "rancher/mirrored-elemental-operator" + tag: "1.3.4" + imagePullPolicy: IfNotPresent + +seedImage: + repository: "rancher/mirrored-elemental-seedimage-builder" + tag: "1.3.4" + imagePullPolicy: IfNotPresent + +channel: + repository: "" + tag: "" + +# number of operator replicas to deploy +replicas: 1 + +# http[s] proxy server +# proxy: http://@:: + +# comma separated list of domains or ip addresses that will not use the proxy +noProxy: 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local + +global: + cattle: + systemDefaultRegistry: "" + +# used only if systemDefaultRegistry is empty +registryUrl: "" + +# enable debug output for operator +debug: false + +nodeSelector: + kubernetes.io/os: linux + +tolerations: + - key: cattle.io/os + operator: "Equal" + value: "linux" + effect: NoSchedule diff --git a/index.yaml b/index.yaml index ab88c4c8b..be2f06770 100755 --- a/index.yaml +++ b/index.yaml @@ -1,5 +1,46 @@ apiVersion: v1 entries: + elemental: + - annotations: + catalog.cattle.io/auto-install: elemental-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Elemental + catalog.cattle.io/kube-version: '>= 1.23.0-0' + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux + catalog.cattle.io/provides-gvr: elemental.cattle.io/v1beta1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: elemental-operator + catalog.cattle.io/scope: management + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/upstream-version: 1.3.4 + apiVersion: v2 + appVersion: 1.3.4 + created: "2023-10-09T11:59:28.169826066+02:00" + description: Elemental provides Cloud Native OS Management for Cluster Nodes. + digest: 96de208abc03a5506206325ed4f80de06abd1dd8520a98ac48d5673bd780c673 + icon: https://raw.githubusercontent.com/rancher/elemental/main/logo/icon-elemental.svg + name: elemental + urls: + - assets/elemental/elemental-103.0.0+up1.3.4.tgz + version: 103.0.0+up1.3.4 + elemental-crd: + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/release-name: elemental-operator-crds + apiVersion: v2 + appVersion: 1.3.4 + created: "2023-10-09T11:59:29.728109125+02:00" + description: A Helm chart for deploying Rancher Elemental Operator CRDs + digest: 832419128610fa1055f23b5b4791c9e6ed5c6178f249435ea0671359a6327e5e + name: elemental-crd + type: application + urls: + - assets/elemental-crd/elemental-crd-103.0.0+up1.3.4.tgz + version: 103.0.0+up1.3.4 epinio: - annotations: artifacthub.io/license: Apache-2.0