From c161eac0498ab1e3923e34c86464ec43e1f79b4a Mon Sep 17 00:00:00 2001 From: Francesco Giudici Date: Fri, 7 Jul 2023 14:53:58 +0200 Subject: [PATCH] make charts Signed-off-by: Francesco Giudici --- .../elemental-crd-102.0.0+up1.2.5.tgz | Bin 0 -> 13364 bytes .../elemental/elemental-102.0.0+up1.2.5.tgz | Bin 0 -> 3280 bytes .../elemental-crd/102.0.0+up1.2.5/Chart.yaml | 11 + .../102.0.0+up1.2.5/templates/crds.yaml | 2682 +++++++++++++++++ charts/elemental/102.0.0+up1.2.5/Chart.yaml | 20 + charts/elemental/102.0.0+up1.2.5/README.md | 5 + .../elemental/102.0.0+up1.2.5/app-readme.md | 7 + .../elemental/102.0.0+up1.2.5/questions.yaml | 27 + .../102.0.0+up1.2.5/templates/_helpers.tpl | 7 + .../102.0.0+up1.2.5/templates/apiservice.yaml | 9 + .../102.0.0+up1.2.5/templates/channel.yaml | 11 + .../templates/cluster_role.yaml | 267 ++ .../templates/cluster_role_binding.yaml | 13 + .../102.0.0+up1.2.5/templates/deployment.yaml | 50 + .../102.0.0+up1.2.5/templates/globalrole.yaml | 16 + .../templates/pre-upgrade-hook.yaml | 65 + .../templates/serviceaccount.yaml | 4 + charts/elemental/102.0.0+up1.2.5/values.yaml | 39 + index.yaml | 41 + 19 files changed, 3274 insertions(+) create mode 100644 assets/elemental-crd/elemental-crd-102.0.0+up1.2.5.tgz create mode 100644 assets/elemental/elemental-102.0.0+up1.2.5.tgz create mode 100644 charts/elemental-crd/102.0.0+up1.2.5/Chart.yaml create mode 100644 charts/elemental-crd/102.0.0+up1.2.5/templates/crds.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/Chart.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/README.md create mode 100644 charts/elemental/102.0.0+up1.2.5/app-readme.md create mode 100644 charts/elemental/102.0.0+up1.2.5/questions.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/templates/_helpers.tpl create mode 100644 charts/elemental/102.0.0+up1.2.5/templates/apiservice.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/templates/channel.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/templates/cluster_role.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/templates/cluster_role_binding.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/templates/deployment.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/templates/globalrole.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/templates/pre-upgrade-hook.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/templates/serviceaccount.yaml create mode 100644 charts/elemental/102.0.0+up1.2.5/values.yaml diff --git a/assets/elemental-crd/elemental-crd-102.0.0+up1.2.5.tgz b/assets/elemental-crd/elemental-crd-102.0.0+up1.2.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..5e5cd65697ad807668353721f91fd82204308643 GIT binary patch literal 13364 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 E3)DM7NB{r; literal 0 HcmV?d00001 diff --git a/assets/elemental/elemental-102.0.0+up1.2.5.tgz b/assets/elemental/elemental-102.0.0+up1.2.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..f12de58ef519817b43908568fbde0202e2bca2de GIT binary patch literal 3280 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 O0RR8Ph4<_LS^xkN&Uh{W literal 0 HcmV?d00001 diff --git a/charts/elemental-crd/102.0.0+up1.2.5/Chart.yaml b/charts/elemental-crd/102.0.0+up1.2.5/Chart.yaml new file mode 100644 index 00000000000..d4a18663a61 --- /dev/null +++ b/charts/elemental-crd/102.0.0+up1.2.5/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.2.5 +description: A Helm chart for deploying Rancher Elemental Operator CRDs +name: elemental-crd +type: application +version: 102.0.0+up1.2.5 diff --git a/charts/elemental-crd/102.0.0+up1.2.5/templates/crds.yaml b/charts/elemental-crd/102.0.0+up1.2.5/templates/crds.yaml new file mode 100644 index 00000000000..00e7ece74a5 --- /dev/null +++ b/charts/elemental-crd/102.0.0+up1.2.5/templates/crds.yaml @@ -0,0 +1,2682 @@ +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 + 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/102.0.0+up1.2.5/Chart.yaml b/charts/elemental/102.0.0+up1.2.5/Chart.yaml new file mode 100644 index 00000000000..c740d6091a9 --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/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 < 1.28.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.7.0-0 < 2.8.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.2.5 +apiVersion: v2 +appVersion: 1.2.5 +description: Elemental provides a Cloud Native OS for Cluster Nodes. +icon: https://raw.githubusercontent.com/rancher/elemental/main/logo/icon-elemental.svg +name: elemental +version: 102.0.0+up1.2.5 diff --git a/charts/elemental/102.0.0+up1.2.5/README.md b/charts/elemental/102.0.0+up1.2.5/README.md new file mode 100644 index 00000000000..bf7b83ea6cf --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/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/102.0.0+up1.2.5/app-readme.md b/charts/elemental/102.0.0+up1.2.5/app-readme.md new file mode 100644 index 00000000000..0ea096be8aa --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/app-readme.md @@ -0,0 +1,7 @@ +# Elemental + +Elemental brings to Rancher the ability to install and manage a minimal OS based on SUSE Linux Enterprise technology, delivered and managed in a fully cloud native way. + +The Elemental OS is maintained in container images and could be used to create bootable images and perform OS updates. + +For more information on how to deploy an Elemental Cluster, follow the [official documentation](https://elemental.docs.rancher.com/). diff --git a/charts/elemental/102.0.0+up1.2.5/questions.yaml b/charts/elemental/102.0.0+up1.2.5/questions.yaml new file mode 100644 index 00000000000..aefdf3b5640 --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/questions.yaml @@ -0,0 +1,27 @@ +questions: +- variable: channel.defaultChannel + default: "true" + description: "Use official Elemental OS update channel" + label: Use Elemental OS Channel + type: boolean + show_subquestion_if: false + group: "Elemental OS Channel" + subquestions: + - variable: channel.repository + default: registry.opensuse.org/isv/rancher/elemental/stable/teal53/15.4/rancher/elemental-teal-channel/5.3 + description: "Specify Elemental OS channel repository" + type: string + label: Elemental OS Channel Repository + group: "Elemental OS Channel" + - variable: channel.tag + default: "1.2.5" + 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" \ No newline at end of file diff --git a/charts/elemental/102.0.0+up1.2.5/templates/_helpers.tpl b/charts/elemental/102.0.0+up1.2.5/templates/_helpers.tpl new file mode 100644 index 00000000000..f652b5643de --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/templates/_helpers.tpl @@ -0,0 +1,7 @@ +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/charts/elemental/102.0.0+up1.2.5/templates/apiservice.yaml b/charts/elemental/102.0.0+up1.2.5/templates/apiservice.yaml new file mode 100644 index 00000000000..73ae2e505f5 --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/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/102.0.0+up1.2.5/templates/channel.yaml b/charts/elemental/102.0.0+up1.2.5/templates/channel.yaml new file mode 100644 index 00000000000..fc65fb83f86 --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/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-teal-channel + namespace: fleet-default +spec: + options: + image: {{ template "system_default_registry" . }}{{ .Values.channel.repository }}:{{ .Values.channel.tag }} + type: custom +{{ end }} diff --git a/charts/elemental/102.0.0+up1.2.5/templates/cluster_role.yaml b/charts/elemental/102.0.0+up1.2.5/templates/cluster_role.yaml new file mode 100644 index 00000000000..718f90a0551 --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/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/102.0.0+up1.2.5/templates/cluster_role_binding.yaml b/charts/elemental/102.0.0+up1.2.5/templates/cluster_role_binding.yaml new file mode 100644 index 00000000000..e68c7bc96b8 --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/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/102.0.0+up1.2.5/templates/deployment.yaml b/charts/elemental/102.0.0+up1.2.5/templates/deployment.yaml new file mode 100644 index 00000000000..8ca92b2dad8 --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/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 "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + args: + - operator + {{- if .Values.debug }} + - --v=5 + - --debug + {{- end }} + - --namespace + - {{ .Release.Namespace }} + - --operator-image + - {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + - --seedimage-image + - {{ template "system_default_registry" . }}{{ .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/102.0.0+up1.2.5/templates/globalrole.yaml b/charts/elemental/102.0.0+up1.2.5/templates/globalrole.yaml new file mode 100644 index 00000000000..323cf2ead84 --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/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/102.0.0+up1.2.5/templates/pre-upgrade-hook.yaml b/charts/elemental/102.0.0+up1.2.5/templates/pre-upgrade-hook.yaml new file mode 100644 index 00000000000..18c8e77a98c --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/templates/pre-upgrade-hook.yaml @@ -0,0 +1,65 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Release.Name }}-helm-hook + namespace: {{ .Release.Namespace }} + annotations: + "helm.sh/hook": pre-upgrade + "helm.sh/hook-weight": "0" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Release.Name }}-helm-hook + annotations: + "helm.sh/hook": pre-upgrade + "helm.sh/hook-weight": "0" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cattle-globalrole-admin +subjects: + - apiGroup: rbac.authorization.k8s.io + kind: User + name: system:serviceaccount:{{ .Release.Namespace }}:{{ .Release.Name }}-helm-hook +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ .Release.Name }}-helm-hook + namespace: {{ .Release.Namespace }} + annotations: + "helm.sh/hook": pre-upgrade + "helm.sh/hook-weight": "1" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded +spec: + template: + metadata: + name: {{ .Release.Name }}-helm-hook + spec: + serviceAccountName: {{ .Release.Name }}-helm-hook + containers: + - name: crd-keep-policy + image: rancher/kubectl:v1.24.13 + command: + - "kubectl" + - "annotate" + - "crds" + - "--selector=release-name={{ .Release.Name }}" + - "--namespace={{ .Release.Namespace }}" + - "helm.sh/resource-policy=keep" + - "--overwrite=true" + - name: crd-release-name + image: rancher/kubectl:v1.24.13 + command: + - "kubectl" + - "annotate" + - "crds" + - "--selector=release-name={{ .Release.Name }}" + - "--namespace={{ .Release.Namespace }}" + - "meta.helm.sh/release-name={{ .Release.Name }}-crds" + - "--overwrite=true" + restartPolicy: Never + backoffLimit: 2 diff --git a/charts/elemental/102.0.0+up1.2.5/templates/serviceaccount.yaml b/charts/elemental/102.0.0+up1.2.5/templates/serviceaccount.yaml new file mode 100644 index 00000000000..cb203d6f6c3 --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/templates/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Release.Name }} diff --git a/charts/elemental/102.0.0+up1.2.5/values.yaml b/charts/elemental/102.0.0+up1.2.5/values.yaml new file mode 100644 index 00000000000..c9e5a64ff6b --- /dev/null +++ b/charts/elemental/102.0.0+up1.2.5/values.yaml @@ -0,0 +1,39 @@ +image: + empty: rancher/pause:3.1 + repository: rancher/mirrored-elemental-operator + tag: 1.2.5 + imagePullPolicy: IfNotPresent + +seedImage: + repository: rancher/mirrored-elemental-seedimage-builder + tag: 1.2.5 + imagePullPolicy: IfNotPresent + +channel: + repository: rancher/mirrored-elemental-teal-channel + tag: 1.2.5 + +# 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: "" + +# 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 a259a690c39..82f82cadeb0 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 < 1.28.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.7.0-0 < 2.8.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.2.5 + apiVersion: v2 + appVersion: 1.2.5 + created: "2023-08-03T09:05:17.034100367+02:00" + description: Elemental provides a Cloud Native OS for Cluster Nodes. + digest: 0e9f4c9aca9c58675a682271d4989970def412fbb7caf1e7cddff49e855808ce + icon: https://raw.githubusercontent.com/rancher/elemental/main/logo/icon-elemental.svg + name: elemental + urls: + - assets/elemental/elemental-102.0.0+up1.2.5.tgz + version: 102.0.0+up1.2.5 + 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.2.5 + created: "2023-07-07T14:53:03.788674918+02:00" + description: A Helm chart for deploying Rancher Elemental Operator CRDs + digest: 6b03fa642ada9872f061b3c21f6fae635a390e64a30c76d5b5ad6c68762df84f + name: elemental-crd + type: application + urls: + - assets/elemental-crd/elemental-crd-102.0.0+up1.2.5.tgz + version: 102.0.0+up1.2.5 epinio: - annotations: artifacthub.io/license: Apache-2.0