From 1893fb904e153ceb22aa47a2d427499c7c98ff0b Mon Sep 17 00:00:00 2001 From: Francesco Giudici Date: Fri, 26 Apr 2024 12:48:31 +0200 Subject: [PATCH 1/4] update elemental-crd package to 1.4.3 Signed-off-by: Francesco Giudici --- .../elemental-crd/generated-changes/patch/Chart.yaml.patch | 4 ++-- packages/elemental/elemental-crd/package.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/elemental/elemental-crd/generated-changes/patch/Chart.yaml.patch b/packages/elemental/elemental-crd/generated-changes/patch/Chart.yaml.patch index 351f5f60cf..d4467bc45f 100644 --- a/packages/elemental/elemental-crd/generated-changes/patch/Chart.yaml.patch +++ b/packages/elemental/elemental-crd/generated-changes/patch/Chart.yaml.patch @@ -2,9 +2,9 @@ +++ charts/Chart.yaml @@ -6,5 +6,6 @@ apiVersion: v2 - appVersion: 1.4.2 + appVersion: 1.4.3 description: A Helm chart for deploying Rancher Elemental Operator CRDs -name: elemental-operator-crds +name: elemental-crd +type: application - version: 1.4.2 + version: 1.4.3 diff --git a/packages/elemental/elemental-crd/package.yaml b/packages/elemental/elemental-crd/package.yaml index a7f4c9103b..0f972cd5b4 100644 --- a/packages/elemental/elemental-crd/package.yaml +++ b/packages/elemental/elemental-crd/package.yaml @@ -1,2 +1,2 @@ -url: https://github.com/rancher/elemental-operator/releases/download/v1.4.2/elemental-operator-crds-chart-1.4.2.tgz -version: 103.1.0 +url: https://github.com/rancher/elemental-operator/releases/download/v1.4.3/elemental-operator-crds-chart-1.4.3.tgz +version: 103.2.0 From 4e5aef419c912a162b12ecef7dbe2c2377ad03f7 Mon Sep 17 00:00:00 2001 From: Francesco Giudici Date: Fri, 26 Apr 2024 13:01:37 +0200 Subject: [PATCH 2/4] update elemental package to 1.4.3 Signed-off-by: Francesco Giudici --- .../elemental/generated-changes/patch/Chart.yaml.patch | 6 +++--- .../elemental/generated-changes/patch/questions.yaml.patch | 2 +- .../elemental/generated-changes/patch/values.yaml.patch | 6 +++--- packages/elemental/elemental/package.yaml | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/elemental/elemental/generated-changes/patch/Chart.yaml.patch b/packages/elemental/elemental/generated-changes/patch/Chart.yaml.patch index 3b9e72a860..2f5cf2b3fb 100644 --- a/packages/elemental/elemental/generated-changes/patch/Chart.yaml.patch +++ b/packages/elemental/elemental/generated-changes/patch/Chart.yaml.patch @@ -16,12 +16,12 @@ catalog.cattle.io/release-name: elemental-operator catalog.cattle.io/scope: management catalog.cattle.io/type: cluster-tool -+ catalog.cattle.io/upstream-version: 1.4.2 ++ catalog.cattle.io/upstream-version: 1.4.3 apiVersion: v2 - appVersion: 1.4.2 + appVersion: 1.4.3 -description: Rancher Elemental Operator +description: Elemental provides Cloud Native OS Management for Cluster Nodes. icon: https://raw.githubusercontent.com/rancher/elemental/main/logo/icon-elemental.svg -name: elemental-operator +name: elemental - version: 1.4.2 + version: 1.4.3 diff --git a/packages/elemental/elemental/generated-changes/patch/questions.yaml.patch b/packages/elemental/elemental/generated-changes/patch/questions.yaml.patch index f29ffa391e..3a32219d52 100644 --- a/packages/elemental/elemental/generated-changes/patch/questions.yaml.patch +++ b/packages/elemental/elemental/generated-changes/patch/questions.yaml.patch @@ -17,7 +17,7 @@ - variable: channel.tag - default: "%VERSION%" - description: "Specify Elemental OS channel tag" -+ default: "1.4.2" ++ default: "1.4.3" + description: "Specify Elemental OS channel image tag" type: string label: "Elemental OS Channel Tag" diff --git a/packages/elemental/elemental/generated-changes/patch/values.yaml.patch b/packages/elemental/elemental/generated-changes/patch/values.yaml.patch index 9966d47f1c..a23ba8a5d5 100644 --- a/packages/elemental/elemental/generated-changes/patch/values.yaml.patch +++ b/packages/elemental/elemental/generated-changes/patch/values.yaml.patch @@ -5,19 +5,19 @@ empty: rancher/pause:3.1 - repository: "rancher/elemental-operator" + repository: "rancher/mirrored-elemental-operator" - tag: "1.4.2" + tag: "1.4.3" imagePullPolicy: IfNotPresent seedImage: - repository: "rancher/seedimage-builder" + repository: "rancher/mirrored-elemental-seedimage-builder" - tag: "1.4.2" + tag: "1.4.3" imagePullPolicy: IfNotPresent channel: - repository: "rancher/elemental-channel" + image: "registry.suse.com/rancher/elemental-channel" - tag: "1.4.2" + tag: "1.4.3" + # number of operator replicas to deploy diff --git a/packages/elemental/elemental/package.yaml b/packages/elemental/elemental/package.yaml index 4c4280ae9c..dac7aaa0a3 100644 --- a/packages/elemental/elemental/package.yaml +++ b/packages/elemental/elemental/package.yaml @@ -1,2 +1,2 @@ -url: https://github.com/rancher/elemental-operator/releases/download/v1.4.2/elemental-operator-chart-1.4.2.tgz -version: 103.1.0 +url: https://github.com/rancher/elemental-operator/releases/download/v1.4.3/elemental-operator-chart-1.4.3.tgz +version: 103.2.0 From 0ddc0f7cc309fb13398d0618bbf3cee38a9d844c Mon Sep 17 00:00:00 2001 From: Francesco Giudici Date: Fri, 26 Apr 2024 13:04:27 +0200 Subject: [PATCH 3/4] make charts Signed-off-by: Francesco Giudici --- .../elemental-crd-103.2.0+up1.4.3.tgz | Bin 0 -> 13780 bytes .../elemental/elemental-103.2.0+up1.4.3.tgz | Bin 0 -> 3472 bytes .../elemental-crd/103.2.0+up1.4.3/Chart.yaml | 11 + .../103.2.0+up1.4.3/templates/crds.yaml | 2737 +++++++++++++++++ .../validate-no-pending-deletions.yaml | 6 + charts/elemental/103.2.0+up1.4.3/Chart.yaml | 20 + charts/elemental/103.2.0+up1.4.3/README.md | 5 + .../elemental/103.2.0+up1.4.3/app-readme.md | 5 + .../elemental/103.2.0+up1.4.3/questions.yaml | 27 + .../103.2.0+up1.4.3/templates/_helpers.tpl | 17 + .../103.2.0+up1.4.3/templates/apiservice.yaml | 9 + .../103.2.0+up1.4.3/templates/capi_rbac.yaml | 10 + .../103.2.0+up1.4.3/templates/channel.yaml | 11 + .../templates/cluster_role.yaml | 267 ++ .../templates/cluster_role_binding.yaml | 13 + .../103.2.0+up1.4.3/templates/deployment.yaml | 50 + .../103.2.0+up1.4.3/templates/globalrole.yaml | 16 + .../templates/serviceaccount.yaml | 4 + .../templates/validate-install-crd.yaml | 25 + charts/elemental/103.2.0+up1.4.3/values.yaml | 43 + index.yaml | 39 + 21 files changed, 3315 insertions(+) create mode 100644 assets/elemental-crd/elemental-crd-103.2.0+up1.4.3.tgz create mode 100644 assets/elemental/elemental-103.2.0+up1.4.3.tgz create mode 100644 charts/elemental-crd/103.2.0+up1.4.3/Chart.yaml create mode 100644 charts/elemental-crd/103.2.0+up1.4.3/templates/crds.yaml create mode 100644 charts/elemental-crd/103.2.0+up1.4.3/templates/validate-no-pending-deletions.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/Chart.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/README.md create mode 100644 charts/elemental/103.2.0+up1.4.3/app-readme.md create mode 100644 charts/elemental/103.2.0+up1.4.3/questions.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/templates/_helpers.tpl create mode 100644 charts/elemental/103.2.0+up1.4.3/templates/apiservice.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/templates/capi_rbac.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/templates/channel.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/templates/cluster_role.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/templates/cluster_role_binding.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/templates/deployment.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/templates/globalrole.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/templates/serviceaccount.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/templates/validate-install-crd.yaml create mode 100644 charts/elemental/103.2.0+up1.4.3/values.yaml diff --git a/assets/elemental-crd/elemental-crd-103.2.0+up1.4.3.tgz b/assets/elemental-crd/elemental-crd-103.2.0+up1.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a79be55189f9c8c43496e3f0c388efcf2ce70c9c GIT binary patch literal 13780 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 CVEyL+ literal 0 HcmV?d00001 diff --git a/assets/elemental/elemental-103.2.0+up1.4.3.tgz b/assets/elemental/elemental-103.2.0+up1.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e63074f6108ac43af30f4e235147b4292bd3e543 GIT binary patch literal 3472 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 literal 0 HcmV?d00001 diff --git a/charts/elemental-crd/103.2.0+up1.4.3/Chart.yaml b/charts/elemental-crd/103.2.0+up1.4.3/Chart.yaml new file mode 100644 index 0000000000..5c28c799ac --- /dev/null +++ b/charts/elemental-crd/103.2.0+up1.4.3/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.4.3 +description: A Helm chart for deploying Rancher Elemental Operator CRDs +name: elemental-crd +type: application +version: 103.2.0+up1.4.3 diff --git a/charts/elemental-crd/103.2.0+up1.4.3/templates/crds.yaml b/charts/elemental-crd/103.2.0+up1.4.3/templates/crds.yaml new file mode 100644 index 0000000000..5e1c793c93 --- /dev/null +++ b/charts/elemental-crd/103.2.0+up1.4.3/templates/crds.yaml @@ -0,0 +1,2737 @@ +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 + device-selector: + items: + properties: + key: + enum: + - Name + - Size + type: string + operator: + enum: + - In + - NotIn + - Gt + - Lt + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + 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 + no-toolkit: + type: boolean + url: + type: string + type: object + reset: + default: + reboot: true + reset-oem: true + reset-persistent: true + properties: + config-urls: + items: + type: string + type: array + debug: + type: boolean + enabled: + type: boolean + poweroff: + type: boolean + reboot: + default: true + type: boolean + reset-oem: + default: true + type: boolean + reset-persistent: + default: true + type: boolean + system-uri: + type: string + type: object + system-agent: + properties: + secret-name: + type: string + secret-namespace: + type: string + token: + type: string + url: + type: string + type: object + type: object + type: object + machineInventoryAnnotations: + additionalProperties: + type: string + description: MachineInventoryAnnotations annotations to be added to + the created MachineInventory object. + type: object + machineInventoryLabels: + additionalProperties: + type: string + description: MachineInventoryLabels label to be added to the created + MachineInventory object. + type: object + machineName: + type: string + type: object + status: + properties: + conditions: + description: Conditions describe the state of the machine registration + object. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a foo's + current state. // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge + // +listType=map // +listMapKey=type Conditions []metav1.Condition + `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" + protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + registrationToken: + description: RegistrationToken a token for registering a machine. + type: string + registrationURL: + description: RegistrationURL is the URL for registering a new machine. + type: string + serviceAccountRef: + description: ServiceAccountRef a reference to the service account + created by the machine registration. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + x-kubernetes-map-type: atomic + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: managedosimages.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: ManagedOSImage + listKind: ManagedOSImageList + plural: managedosimages + singular: managedosimage + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + cloudConfig: + type: object + clusterRolloutStrategy: + properties: + autoPartitionSize: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailablePartitions: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + partitions: + items: + properties: + clusterGroup: + type: string + clusterGroupSelector: + description: A label selector is a label query over a set + of resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. + A null label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, + NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists + or DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field + is "key", the operator is "In", and the values array + contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + clusterName: + type: string + clusterSelector: + description: A label selector is a label query over a set + of resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. + A null label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, + NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists + or DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field + is "key", the operator is "In", and the values array + contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + type: object + type: array + type: object + clusterTargets: + items: + properties: + clusterGroup: + type: string + clusterGroupSelector: + description: A label selector is a label query over a set of + resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. A + null label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + clusterName: + type: string + clusterSelector: + description: A label selector is a label query over a set of + resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. A + null label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + defaultNamespace: + type: string + diff: + properties: + comparePatches: + items: + properties: + apiVersion: + type: string + jsonPointers: + items: + type: string + type: array + kind: + type: string + name: + type: string + namespace: + type: string + operations: + items: + properties: + op: + type: string + path: + type: string + value: + type: string + type: object + type: array + type: object + type: array + type: object + forceSyncGeneration: + format: int64 + type: integer + helm: + properties: + chart: + type: string + force: + type: boolean + maxHistory: + type: integer + releaseName: + type: string + repo: + type: string + takeOwnership: + type: boolean + timeoutSeconds: + type: integer + values: + type: object + valuesFiles: + items: + type: string + type: array + valuesFrom: + items: + description: 'Define helm values that can come from configmap, + secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with release + values. + properties: + key: + type: string + name: + type: string + namespace: + type: string + required: + - name + type: object + secretKeyRef: + description: The reference to a secret with release + values. + properties: + key: + type: string + name: + type: string + namespace: + type: string + required: + - name + type: object + type: object + type: array + version: + type: string + type: object + kustomize: + properties: + dir: + type: string + type: object + name: + type: string + namespace: + type: string + serviceAccount: + type: string + yaml: + properties: + overlays: + items: + type: string + type: array + type: object + type: object + type: array + concurrency: + format: int64 + type: integer + cordon: + type: boolean + drain: + description: DrainSpec encapsulates `kubectl drain` parameters minus + node/pod selectors. + properties: + deleteLocalData: + type: boolean + disableEviction: + type: boolean + force: + type: boolean + gracePeriod: + format: int32 + type: integer + ignoreDaemonSets: + type: boolean + skipWaitForDeleteTimeout: + type: integer + timeout: + description: A Duration represents the elapsed time between two + instants as an int64 nanosecond count. The representation limits + the largest representable duration to approximately 290 years. + format: int64 + type: integer + type: object + managedOSVersionName: + type: string + nodeSelector: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the key + and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship to + a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + osImage: + type: string + prepare: + description: ContainerSpec is a simplified container template. + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + envFrom: + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + envs: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + type: string + type: object + upgradeContainer: + description: ContainerSpec is a simplified container template. + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + envFrom: + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + envs: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + type: string + type: object + type: object + status: + properties: + conditions: + items: + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a foo's + current state. // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge + // +listType=map // +listMapKey=type Conditions []metav1.Condition + `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" + protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: managedosversionchannels.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: ManagedOSVersionChannel + listKind: ManagedOSVersionChannelList + plural: managedosversionchannels + singular: managedosversionchannel + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + options: + x-kubernetes-preserve-unknown-fields: true + syncInterval: + default: 1h + 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-crd/103.2.0+up1.4.3/templates/validate-no-pending-deletions.yaml b/charts/elemental-crd/103.2.0+up1.4.3/templates/validate-no-pending-deletions.yaml new file mode 100644 index 0000000000..bf92107168 --- /dev/null +++ b/charts/elemental-crd/103.2.0+up1.4.3/templates/validate-no-pending-deletions.yaml @@ -0,0 +1,6 @@ +{{- $inventoryCRD := lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" .Release.Namespace "machineinventories.elemental.cattle.io" -}} +{{- if $inventoryCRD -}} + {{- if $inventoryCRD.metadata.deletionTimestamp -}} + {{- required "CRDs from previous installations are pending to be removed (deletionTimestamp is set). Fully deleting them before (re-)installing is required" "" -}} + {{- end -}} +{{- end -}} diff --git a/charts/elemental/103.2.0+up1.4.3/Chart.yaml b/charts/elemental/103.2.0+up1.4.3/Chart.yaml new file mode 100644 index 0000000000..1f3c63bca9 --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/Chart.yaml @@ -0,0 +1,20 @@ +annotations: + catalog.cattle.io/auto-install: elemental-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Elemental + catalog.cattle.io/kube-version: '>= 1.23.0-0' + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux + catalog.cattle.io/provides-gvr: elemental.cattle.io/v1beta1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: elemental-operator + catalog.cattle.io/scope: management + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/upstream-version: 1.4.3 +apiVersion: v2 +appVersion: 1.4.3 +description: Elemental provides Cloud Native OS Management for Cluster Nodes. +icon: https://raw.githubusercontent.com/rancher/elemental/main/logo/icon-elemental.svg +name: elemental +version: 103.2.0+up1.4.3 diff --git a/charts/elemental/103.2.0+up1.4.3/README.md b/charts/elemental/103.2.0+up1.4.3/README.md new file mode 100644 index 0000000000..bf7b83ea6c --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/README.md @@ -0,0 +1,5 @@ +# Elemental Operator Helm Chart + +This chart bootstraps an elemental-operator deployment on a [Rancher Manager](https://rancher.com/docs/rancher/) cluster using the [Helm](https://helm.sh) package manager. + +Check out the [Elemental Operator Helm Chart documentation](https://elemental.docs.rancher.com/elementaloperatorchart-reference/) in the official [Elemental guide](https://elemental.docs.rancher.com/). diff --git a/charts/elemental/103.2.0+up1.4.3/app-readme.md b/charts/elemental/103.2.0+up1.4.3/app-readme.md new file mode 100644 index 0000000000..3d694ac5f6 --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/app-readme.md @@ -0,0 +1,5 @@ +# Elemental + +Elemental brings to Rancher the ability to install and manage the OS of bare metal and virtualized machines. + +For more information on how to deploy an Elemental Cluster, follow the [official documentation](https://elemental.docs.rancher.com/). \ No newline at end of file diff --git a/charts/elemental/103.2.0+up1.4.3/questions.yaml b/charts/elemental/103.2.0+up1.4.3/questions.yaml new file mode 100644 index 0000000000..ffc9089bd6 --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/questions.yaml @@ -0,0 +1,27 @@ +questions: +- variable: channel.defaultChannel + default: "true" + description: "Provide an Elemental OS Channel container image" + label: Elemental OS Channel + type: boolean + show_subquestion_if: true + group: "Elemental OS Channel" + subquestions: + - variable: channel.image + default: registry.suse.com/rancher/elemental-channel + description: "Specify the Elemental OS channel: for air-gapped scenarios you need to provide your own OS channel image (see https://elemental.docs.rancher.com/airgap for detailed instructions)" + type: string + label: Elemental OS Channel Image + group: "Elemental OS Channel" + - variable: channel.tag + default: "1.4.3" + description: "Specify Elemental OS channel image tag" + type: string + label: "Elemental OS Channel Tag" + group: "Elemental OS Channel" +- variable: debug + default: "false" + description: "Enable debug logging in the Elemental operator" + type: boolean + label: "Enable Debug Logging" + group: "Logging" diff --git a/charts/elemental/103.2.0+up1.4.3/templates/_helpers.tpl b/charts/elemental/103.2.0+up1.4.3/templates/_helpers.tpl new file mode 100644 index 0000000000..ee1e6fe7d8 --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/templates/_helpers.tpl @@ -0,0 +1,17 @@ +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} + +{{- define "registry_url" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{ include "system_default_registry" . }} +{{- else if .Values.registryUrl -}} +{{- printf "%s/" .Values.registryUrl -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/charts/elemental/103.2.0+up1.4.3/templates/apiservice.yaml b/charts/elemental/103.2.0+up1.4.3/templates/apiservice.yaml new file mode 100644 index 0000000000..73ae2e505f --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/templates/apiservice.yaml @@ -0,0 +1,9 @@ +kind: APIService +apiVersion: management.cattle.io/v3 +metadata: + name: {{ .Release.Name }} +spec: + secretName: elemental-operator + secretNamespace: {{ .Release.Namespace }} + pathPrefixes: + - /elemental/ diff --git a/charts/elemental/103.2.0+up1.4.3/templates/capi_rbac.yaml b/charts/elemental/103.2.0+up1.4.3/templates/capi_rbac.yaml new file mode 100644 index 0000000000..8692f75269 --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/templates/capi_rbac.yaml @@ -0,0 +1,10 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: elemental-capi-role + labels: + cluster.x-k8s.io/aggregate-to-manager: "true" +rules: + - apiGroups: ["elemental.cattle.io"] + resources: ["*"] + verbs: ["*"] diff --git a/charts/elemental/103.2.0+up1.4.3/templates/channel.yaml b/charts/elemental/103.2.0+up1.4.3/templates/channel.yaml new file mode 100644 index 0000000000..ccb6e4d3c6 --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/templates/channel.yaml @@ -0,0 +1,11 @@ +{{ if and .Values.channel .Values.channel.image .Values.channel.tag }} +apiVersion: elemental.cattle.io/v1beta1 +kind: ManagedOSVersionChannel +metadata: + name: elemental-channel + namespace: fleet-default +spec: + options: + image: {{ .Values.channel.image }}:{{ .Values.channel.tag }} + type: custom +{{ end }} diff --git a/charts/elemental/103.2.0+up1.4.3/templates/cluster_role.yaml b/charts/elemental/103.2.0+up1.4.3/templates/cluster_role.yaml new file mode 100644 index 0000000000..718f90a055 --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/templates/cluster_role.yaml @@ -0,0 +1,267 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: '{{ .Release.Name }}' +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch +- apiGroups: + - "" + resources: + - pods + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - pods/log + verbs: + - get +- apiGroups: + - "" + resources: + - pods/status + verbs: + - get +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - delete + - get + - list + - watch +- apiGroups: + - "" + resources: + - services + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - services/status + verbs: + - get +- apiGroups: + - cluster.x-k8s.io + resources: + - machines + verbs: + - get + - list + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineinventories + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineinventories/status + verbs: + - get + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - machineinventoryselectors + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineinventoryselectors/status + verbs: + - get + - list + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - machineregistrations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineregistrations/status + verbs: + - get + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - managedosimages + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - managedosimages/status + verbs: + - get + - list + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - managedosversionchannels + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - managedosversionchannels/status + verbs: + - get + - list + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - managedosversions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - managedosversions/status + verbs: + - get + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - seedimages + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - seedimages/status + verbs: + - get + - patch + - update +- apiGroups: + - fleet.cattle.io + resources: + - bundles + verbs: + - create + - get + - list + - watch +- apiGroups: + - management.cattle.io + resources: + - settings + verbs: + - get + - list + - watch +- apiGroups: + - rbac.authorization.k8s.io + resources: + - rolebindings + - roles + verbs: + - create + - delete + - list + - watch diff --git a/charts/elemental/103.2.0+up1.4.3/templates/cluster_role_binding.yaml b/charts/elemental/103.2.0+up1.4.3/templates/cluster_role_binding.yaml new file mode 100644 index 0000000000..e68c7bc96b --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/templates/cluster_role_binding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Release.Name }} +subjects: +- kind: ServiceAccount + name: {{ .Release.Name }} + namespace: {{.Release.Namespace}} + diff --git a/charts/elemental/103.2.0+up1.4.3/templates/deployment.yaml b/charts/elemental/103.2.0+up1.4.3/templates/deployment.yaml new file mode 100644 index 0000000000..576d58d596 --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/templates/deployment.yaml @@ -0,0 +1,50 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }} +spec: + replicas: {{ .Values.replicas }} + selector: + matchLabels: + app: elemental-operator + template: + metadata: + labels: + app: elemental-operator + spec: + containers: + - env: + - name: NO_PROXY + value: {{ .Values.noProxy }} + {{- if .Values.proxy }} + - name: HTTP_PROXY + value: {{ .Values.proxy }} + - name: HTTPS_PROXY + value: {{ .Values.proxy }} + {{- end }} + name: {{ .Release.Name }} + imagePullPolicy: "{{ .Values.image.imagePullPolicy }}" + image: {{ template "registry_url" . }}{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + args: + - operator + {{- if .Values.debug }} + - --v=5 + - --debug + {{- end }} + - --namespace + - {{ .Release.Namespace }} + - --operator-image + - {{ template "registry_url" . }}{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + - --seedimage-image + - {{ template "registry_url" . }}{{ .Values.seedImage.repository }}:{{ .Values.seedImage.tag | default .Chart.AppVersion }} + - --seedimage-image-pullpolicy + - {{ .Values.seedImage.imagePullPolicy}} + serviceAccountName: {{ .Release.Name }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/elemental/103.2.0+up1.4.3/templates/globalrole.yaml b/charts/elemental/103.2.0+up1.4.3/templates/globalrole.yaml new file mode 100644 index 0000000000..323cf2ead8 --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/templates/globalrole.yaml @@ -0,0 +1,16 @@ +apiVersion: management.cattle.io/v3 +builtin: false +description: "Elemental Administrator Role" +displayName: Elemental Administrator +kind: GlobalRole +metadata: + labels: + cattle.io/creator: norman + name: {{ .Release.Name }} +rules: +- apiGroups: + - elemental.cattle.io + resources: + - '*' + verbs: + - '*' diff --git a/charts/elemental/103.2.0+up1.4.3/templates/serviceaccount.yaml b/charts/elemental/103.2.0+up1.4.3/templates/serviceaccount.yaml new file mode 100644 index 0000000000..cb203d6f6c --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/templates/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Release.Name }} diff --git a/charts/elemental/103.2.0+up1.4.3/templates/validate-install-crd.yaml b/charts/elemental/103.2.0+up1.4.3/templates/validate-install-crd.yaml new file mode 100644 index 0000000000..c5c4aded4f --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/templates/validate-install-crd.yaml @@ -0,0 +1,25 @@ +{{ if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 }} + {{ $apis := dict + "elemental.cattle.io/v1beta1/MachineInventory" "machineinventories" + "elemental.cattle.io/v1beta1/MachineInventorySelector" "machineinventoryselectors" + "elemental.cattle.io/v1beta1/MachineInventorySelectorTemplate" "machineinventoryselectortemplates" + "elemental.cattle.io/v1beta1/MachineRegistration" "machineregistrations" + "elemental.cattle.io/v1beta1/ManagedOSImage" "managedosimages" + "elemental.cattle.io/v1beta1/ManagedOSVersionChannel" "managedosversionchannels" + "elemental.cattle.io/v1beta1/ManagedOSVersion" "managedosversions" + "elemental.cattle.io/v1beta1/SeedImage" "seedimages" + }} + {{- range $api, $crd := $apis -}} + {{- if not ($.Capabilities.APIVersions.Has $api) -}} + {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}} + {{- end -}} + {{- $crdobj := lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" "" (print $crd ".elemental.cattle.io") -}} + {{- if not $crdobj -}} + {{- print "Cannot lookup " $crd ".elemental.cattle.io crd object" | fail -}} + {{- end -}} + {{- $crdrelease := index $crdobj.metadata.annotations "meta.helm.sh/release-name" -}} + {{- if eq $crdrelease $.Release.Name -}} + {{- required "Elemental CRDs should be moved to the new elemental-operator-crds chart before upgrading this operator." "" -}} + {{- end -}} + {{- end -}} +{{- end -}} diff --git a/charts/elemental/103.2.0+up1.4.3/values.yaml b/charts/elemental/103.2.0+up1.4.3/values.yaml new file mode 100644 index 0000000000..2648f564bc --- /dev/null +++ b/charts/elemental/103.2.0+up1.4.3/values.yaml @@ -0,0 +1,43 @@ +image: + empty: rancher/pause:3.1 + repository: "rancher/mirrored-elemental-operator" + tag: "1.4.3" + imagePullPolicy: IfNotPresent + +seedImage: + repository: "rancher/mirrored-elemental-seedimage-builder" + tag: "1.4.3" + imagePullPolicy: IfNotPresent + +channel: + image: "registry.suse.com/rancher/elemental-channel" + tag: "1.4.3" + + +# number of operator replicas to deploy +replicas: 1 + +# http[s] proxy server +# proxy: http://@:: + +# comma separated list of domains or ip addresses that will not use the proxy +noProxy: 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local + +global: + cattle: + systemDefaultRegistry: "" + +# used only if systemDefaultRegistry is empty +registryUrl: "" + +# enable debug output for operator +debug: false + +nodeSelector: + kubernetes.io/os: linux + +tolerations: + - key: cattle.io/os + operator: "Equal" + value: "linux" + effect: NoSchedule diff --git a/index.yaml b/index.yaml index a3328823e2..195d057f14 100755 --- a/index.yaml +++ b/index.yaml @@ -1,6 +1,30 @@ apiVersion: v1 entries: elemental: + - annotations: + catalog.cattle.io/auto-install: elemental-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Elemental + catalog.cattle.io/kube-version: '>= 1.23.0-0' + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux + catalog.cattle.io/provides-gvr: elemental.cattle.io/v1beta1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: elemental-operator + catalog.cattle.io/scope: management + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/upstream-version: 1.4.3 + apiVersion: v2 + appVersion: 1.4.3 + created: "2024-04-26T13:02:28.533435862+02:00" + description: Elemental provides Cloud Native OS Management for Cluster Nodes. + digest: 326defe0a34608e78a970dda7fe324290c79d12be5df0c34f4b516abdce4c28e + icon: https://raw.githubusercontent.com/rancher/elemental/main/logo/icon-elemental.svg + name: elemental + urls: + - assets/elemental/elemental-103.2.0+up1.4.3.tgz + version: 103.2.0+up1.4.3 - annotations: catalog.cattle.io/auto-install: elemental-crd=match catalog.cattle.io/certified: rancher @@ -50,6 +74,21 @@ entries: - assets/elemental/elemental-103.0.0+up1.3.4.tgz version: 103.0.0+up1.3.4 elemental-crd: + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/release-name: elemental-operator-crds + apiVersion: v2 + appVersion: 1.4.3 + created: "2024-04-26T13:02:30.474952673+02:00" + description: A Helm chart for deploying Rancher Elemental Operator CRDs + digest: c2311575a5d9190e7a94e6ad8255728bdd127ada9881038c7002fab75b7dba6a + name: elemental-crd + type: application + urls: + - assets/elemental-crd/elemental-crd-103.2.0+up1.4.3.tgz + version: 103.2.0+up1.4.3 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" From 806cdfbf5a19af682fc70215fd8e0c5dd9f68530 Mon Sep 17 00:00:00 2001 From: Francesco Giudici Date: Fri, 26 Apr 2024 13:18:22 +0200 Subject: [PATCH 4/4] release.yaml update Signed-off-by: Francesco Giudici --- release.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/release.yaml b/release.yaml index 9c8be9d245..65cf0a598b 100644 --- a/release.yaml +++ b/release.yaml @@ -1,3 +1,7 @@ +elemental: + - 103.2.0+up1.4.3 +elemental-crd: + - 103.2.0+up1.4.3 fleet: - 103.1.4+up0.9.4-rc.2 fleet-agent: