Drop initial code
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
|
||||
Congratulations! You've successfully deployed a cluster using the Helm Chart for Rancher Cluster Templates by Rancher Government. Please be patient for the cluster to provision and deploy on your infrastructure.
|
||||
|
||||
View the Cluster -> https://{{ .Values.rancher.cattle.url | default "<rancher-url>" }}/dashboard/c/_/manager/provisioning.cattle.io.cluster/fleet-default/{{ .Values.cluster.name }}
|
||||
|
||||
View the Docs -> https://github.com/rancherfederal/rancher-cluster-templates
|
||||
@@ -0,0 +1,62 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "rancher-cluster-templates.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "rancher-cluster-templates.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "rancher-cluster-templates.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "rancher-cluster-templates.labels" -}}
|
||||
helm.sh/chart: {{ include "rancher-cluster-templates.chart" . }}
|
||||
{{ include "rancher-cluster-templates.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "rancher-cluster-templates.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "rancher-cluster-templates.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "rancher-cluster-templates.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccount.create }}
|
||||
{{- default (include "rancher-cluster-templates.fullname" .) .Values.serviceAccount.name }}
|
||||
{{- else }}
|
||||
{{- default "default" .Values.serviceAccount.name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,438 @@
|
||||
{{- $clustername := .Values.cluster.name -}}
|
||||
apiVersion: provisioning.cattle.io/v1
|
||||
kind: Cluster
|
||||
metadata:
|
||||
{{- if .Values.cluster.labels }}
|
||||
labels:
|
||||
{{ toYaml .Values.cluster.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.cluster.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
name: {{ .Values.cluster.name }}
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
{{- if .Values.cluster.config.agentEnvVars }}
|
||||
agentEnvVars:
|
||||
{{ toYaml .Values.cluster.config.agentEnvVars | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cloudCredentialSecretName }}
|
||||
cloudCredentialSecretName: cattle-global-data:{{ .Values.cloudCredentialSecretName }}
|
||||
{{- end }}
|
||||
# clusterAPIConfig:
|
||||
# clusterAgentDeploymentCustomization:
|
||||
{{- if .Values.cluster.config.defaultClusterRoleForProjectMembers }}
|
||||
defaultClusterRoleForProjectMembers: {{ .Values.cluster.config.defaultClusterRoleForProjectMembers }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.defaultPodSecurityAdmissionConfigurationTemplateName }}
|
||||
defaultPodSecurityAdmissionConfigurationTemplateName: {{ .Values.cluster.config.defaultPodSecurityAdmissionConfigurationTemplateName }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.defaultPodSecurityPolicyTemplateName }}
|
||||
defaultPodSecurityPolicyTemplateName: {{ .Values.cluster.config.defaultPodSecurityPolicyTemplateName }}
|
||||
{{- end }}
|
||||
enableNetworkPolicy: {{ .Values.cluster.config.enableNetworkPolicy }}
|
||||
# fleetAgentDeploymentCustomization:
|
||||
{{- if .Values.cluster.config.kubernetesVersion }}
|
||||
kubernetesVersion: {{ .Values.cluster.config.kubernetesVersion }}
|
||||
{{- end }}
|
||||
{{- if eq .Values.cluster.config.localClusterAuthEndpoint.enabled true }}
|
||||
localClusterAuthEndpoint:
|
||||
enabled: {{ .Values.cluster.config.localClusterAuthEndpoint.enabled }}
|
||||
fqdn: {{ .Values.cluster.config.localClusterAuthEndpoint.fqdn }}
|
||||
caCerts: {{ .Values.cluster.config.localClusterAuthEndpoint.caCerts }}
|
||||
{{- else }}
|
||||
localClusterAuthEndpoint:
|
||||
enabled: false
|
||||
{{- end }}
|
||||
# redeploySystemAgentGeneration:
|
||||
rkeConfig:
|
||||
{{- with $.Values.cluster.config.chartValues }}
|
||||
chartValues:
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- with $.Values.cluster.config.additionalManifests }}
|
||||
additionalManifest:
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.etcd }}
|
||||
etcd:
|
||||
disableSnapshots: {{ .Values.cluster.config.etcd.disableSnapshots }}
|
||||
snapshotRetention: {{ .Values.cluster.config.etcd.snapshotRetention }}
|
||||
snapshotScheduleCron: {{ .Values.cluster.config.etcd.snapshotScheduleCron }}
|
||||
{{- if .Values.cluster.config.etcd.s3 }}
|
||||
s3:
|
||||
bucket: {{ .Values.cluster.config.etcd.s3.bucket }}
|
||||
cloudCredentialName: cattle-global-data:{{ .Values.cluster.config.etcd.s3.cloudCredentialSecretName }}
|
||||
{{- if .Values.cluster.config.etcd.s3.folder }}
|
||||
folder: {{ .Values.cluster.config.etcd.s3.folder }}
|
||||
{{- end }}
|
||||
region: {{ .Values.cluster.config.etcd.s3.region }}
|
||||
skipSSLVerify: {{ .Values.cluster.config.etcd.s3.skipSSLVerify }}
|
||||
endpoint: {{ .Values.cluster.config.etcd.s3.endpoint }}
|
||||
{{- if .Values.cluster.config.etcd.s3.endpointCA }}
|
||||
endpointCA: |-
|
||||
{{ .Values.cluster.config.etcd.s3.endpointCA | indent 10 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
# etcdSnapshotCreate:
|
||||
# etcdSnapshotRestore:
|
||||
# infrastructureRef:
|
||||
{{- if .Values.cluster.config.globalConfig }}
|
||||
machineGlobalConfig:
|
||||
{{- if .Values.cluster.config.globalConfig.cni }}
|
||||
cni: {{ .Values.cluster.config.globalConfig.cni }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.cluster_cidr }}
|
||||
cluster-cidr: {{ .Values.cluster.config.globalConfig.cluster_cidr }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.service_cidr }}
|
||||
service-cidr: {{ .Values.cluster.config.globalConfig.service_cidr }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.docker }}
|
||||
docker: {{ .Values.cluster.config.globalConfig.docker }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.disable }}
|
||||
disable: {{ .Values.cluster.config.globalConfig.disable | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.disable_scheduler }}
|
||||
disable-scheduler: {{ .Values.cluster.config.globalConfig.disable_scheduler }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.disable_cloud_controller }}
|
||||
disable-cloud-controller: {{ .Values.cluster.config.globalConfig.disable_cloud_controller }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.disable_kube_proxy }}
|
||||
disable-kube-proxy: {{ .Values.cluster.config.globalConfig.disable_kube_proxy }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.etcd_expose_metrics }}
|
||||
etcd-expose-metrics: {{ .Values.cluster.config.globalConfig.etcd_expose_metrics }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.profile }}
|
||||
profile: {{ .Values.cluster.config.globalConfig.profile }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.selinux }}
|
||||
selinux: {{ .Values.cluster.config.globalConfig.selinux }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.tls_san }}
|
||||
tls-san: {{ .Values.cluster.config.globalConfig.tls_san | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.token }}
|
||||
token: {{ .Values.cluster.config.globalConfig.token }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.systemDefaultRegistry }}
|
||||
system-default-registry: {{ .Values.cluster.config.globalConfig.systemDefaultRegistry }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.secrets_encryption }}
|
||||
secrets-encryption: {{ .Values.cluster.config.globalConfig.secrets_encryption }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.write_kubeconfig_mode }}
|
||||
write-kubeconfig-mode: {{ .Values.cluster.config.globalConfig.write_kubeconfig_mode }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.use_service_account_credentials }}
|
||||
use-service-account-credentials: {{ .Values.cluster.config.globalConfig.use_service_account_credentials }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.protect_kernel_defaults }}
|
||||
protect-kernel-defaults: {{ .Values.cluster.config.globalConfig.protect_kernel_defaults }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.cloud_provider_name }}
|
||||
cloud-provider-name: {{ .Values.cluster.config.globalConfig.cloud_provider_name }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.cloud_provider_config }}
|
||||
cloud-provider-config: {{ .Values.cluster.config.globalConfig.cloud_provider_config }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.kube_controller_manager_arg }}
|
||||
kube-controller-manager-arg: {{ .Values.cluster.config.globalConfig.kube_controller_manager_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.kube_scheduler_arg }}
|
||||
kube-scheduler-arg: {{ .Values.cluster.config.globalConfig.kube_scheduler_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.kube_apiserver_arg }}
|
||||
kube-apiserver-arg: {{ .Values.cluster.config.globalConfig.kube_apiserver_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.kubelet_proxy_arg }}
|
||||
kubelet-proxy-arg: {{ .Values.cluster.config.globalConfig.kubelet_proxy_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.kubelet_arg }}
|
||||
kubelet-arg: {{ .Values.cluster.config.globalConfig.kubelet_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
# machinePoolDefaults:
|
||||
{{- if ne .Values.cloudprovider "custom" }}
|
||||
machinePools:
|
||||
{{- if .Values.nodepools }} {{ range $index, $nodepool := .Values.nodepools }}
|
||||
- name: {{ $nodepool.name }}
|
||||
quantity: {{ $nodepool.quantity }}
|
||||
controlPlaneRole: {{ $nodepool.controlplane }}
|
||||
etcdRole: {{ $nodepool.etcd }}
|
||||
workerRole: {{ $nodepool.worker }}
|
||||
{{- if $nodepool.labels }}
|
||||
labels:
|
||||
{{ toYaml $nodepool.labels | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.taints }}
|
||||
taints:
|
||||
{{ toYaml $nodepool.taints | indent 8 }}
|
||||
{{- end }}
|
||||
machineConfigRef:
|
||||
{{- if eq $.Values.cloudprovider "amazonec2" }}
|
||||
kind: Amazonec2Config
|
||||
{{- else if eq $.Values.cloudprovider "vsphere" }}
|
||||
kind: VmwarevsphereConfig
|
||||
{{- else if eq $.Values.cloudprovider "harvester" }}
|
||||
kind: HarvesterConfig
|
||||
{{- else if eq $.Values.cloudprovider "digitalocean" }}
|
||||
kind: DigitaloceanConfig
|
||||
{{- else if eq $.Values.cloudprovider "azure" }}
|
||||
kind: AzureConfig
|
||||
{{- else if eq $.Values.cloudprovider "elemental" }}
|
||||
apiVersion: elemental.cattle.io/v1beta1
|
||||
kind: MachineInventorySelectorTemplate
|
||||
{{- end}}
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
displayName: {{ $nodepool.displayName | default $nodepool.name }}
|
||||
{{- if $nodepool.drainBeforeDelete }}
|
||||
drainBeforeDelete: {{ $nodepool.drainBeforeDelete }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.drainBeforeDeleteTimeout }}
|
||||
drainBeforeDeleteTimeout: {{ $nodepool.drainBeforeDeleteTimeout }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.machineDeploymentLabels }}
|
||||
machineDeploymentLabels:
|
||||
{{ toYaml $nodepool.machineDeploymentLabels | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.machineDeploymentAnnotations }}
|
||||
machineDeploymentAnnotations:
|
||||
{{ toYaml $nodepool.machineDeploymentAnnotations | indent 8 }}
|
||||
{{- end }}
|
||||
paused: {{ $nodepool.paused }}
|
||||
{{- if $nodepool.rollingUpdate }}
|
||||
rollingUpdate:
|
||||
maxUnavailable: {{ $nodepool.rollingUpdate.maxUnavailable }}
|
||||
maxSurge: {{ $nodepool.rollingUpdate.maxSurge }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.unhealthyNodeTimeout }}
|
||||
unhealthyNodeTimeout: {{ $nodepool.unhealthyNodeTimeout }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if or .Values.cluster.config.controlPlaneConfig .Values.cluster.config.workerConfig}}
|
||||
machineSelectorConfig:
|
||||
{{- if .Values.cluster.config.controlPlaneConfig }}
|
||||
- config:
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.cni }}
|
||||
cni: {{ .Values.cluster.config.controlPlaneConfig.cni }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.docker }}
|
||||
docker: {{ .Values.cluster.config.controlPlaneConfig.docker }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.disable }}
|
||||
disable: {{ .Values.cluster.config.globalConfig.disable | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.disable_scheduler }}
|
||||
disable-scheduler: {{ .Values.cluster.config.globalConfig.disable_scheduler }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.disable_cloud_controller }}
|
||||
disable-cloud-controller: {{ .Values.cluster.config.globalConfig.disable_cloud_controller }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.disable_kube_proxy }}
|
||||
disable-kube-proxy: {{ .Values.cluster.config.controlPlaneConfig.disable_kube_proxy }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.etcd_expose_metrics }}
|
||||
etcd-expose-metrics: {{ .Values.cluster.config.controlPlaneConfig.etcd_expose_metrics }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.profile }}
|
||||
profile: {{ .Values.cluster.config.controlPlaneConfig.profile }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.selinux }}
|
||||
selinux: {{ .Values.cluster.config.controlPlaneConfig.selinux }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.tls_san }}
|
||||
tls-san: {{ .Values.cluster.config.controlPlaneConfig.tls_san | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.token }}
|
||||
token: {{ .Values.cluster.config.controlPlaneConfig.token }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.systemDefaultRegistry }}
|
||||
system-default-registry: {{ .Values.cluster.config.controlPlaneConfig.systemDefaultRegistry }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.secrets_encryption }}
|
||||
secrets-encryption: {{ .Values.cluster.config.controlPlaneConfig.secrets_encryption }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.write_kubeconfig_mode }}
|
||||
write-kubeconfig-mode: {{ .Values.cluster.config.controlPlaneConfig.write_kubeconfig_mode }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.use_service_account_credentials }}
|
||||
use-service-account-credentials: {{ .Values.cluster.config.controlPlaneConfig.use_service_account_credentials }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.protect_kernel_defaults }}
|
||||
protect-kernel-defaults: {{ .Values.cluster.config.controlPlaneConfig.protect_kernel_defaults }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.cloud_provider_name }}
|
||||
cloud-provider-name: {{ .Values.cluster.config.controlPlaneConfig.cloud_provider_name }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.cloud_provider_config }}
|
||||
cloud-provider-config: {{ .Values.cluster.config.controlPlaneConfig.cloud_provider_config }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.kube_controller_manager_arg }}
|
||||
kube-controller-manager-arg: {{ .Values.cluster.config.controlPlaneConfig.kube_controller_manager_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.kube_scheduler_arg }}
|
||||
kube-scheduler-arg: {{ .Values.cluster.config.controlPlaneConfig.kube_scheduler_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.kube_apiserver_arg }}
|
||||
kube-apiserver-arg: {{ .Values.cluster.config.controlPlaneConfig.kube_apiserver_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.kubelet_proxy_arg }}
|
||||
kubelet-proxy-arg: {{ .Values.cluster.config.controlPlaneConfig.kubelet_proxy_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.controlPlaneConfig.kubelet_arg }}
|
||||
kubelet-arg: {{ .Values.cluster.config.controlPlaneConfig.kubelet_arg | toRawJson }}
|
||||
{{- end }}
|
||||
machineLabelSelector:
|
||||
matchLabels:
|
||||
node-role.kubernetes.io/control-plane: "true"
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig }}
|
||||
- config:
|
||||
{{- if .Values.cluster.config.workerConfig.cni }}
|
||||
cni: {{ .Values.cluster.config.workerConfig.cni }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.docker }}
|
||||
docker: {{ .Values.cluster.config.workerConfig.docker }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.disable }}
|
||||
disable: {{ .Values.cluster.config.globalConfig.disable | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.disable_scheduler }}
|
||||
disable-scheduler: {{ .Values.cluster.config.globalConfig.disable_scheduler }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.globalConfig.disable_cloud_controller }}
|
||||
disable-cloud-controller: {{ .Values.cluster.config.globalConfig.disable_cloud_controller }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.disable_kube_proxy }}
|
||||
disable-kube-proxy: {{ .Values.cluster.config.workerConfig.disable_kube_proxy }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.etcd_expose_metrics }}
|
||||
etcd-expose-metrics: {{ .Values.cluster.config.workerConfig.etcd_expose_metrics }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.profile }}
|
||||
profile: {{ .Values.cluster.config.workerConfig.profile }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.selinux }}
|
||||
selinux: {{ .Values.cluster.config.workerConfig.selinux }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.tls_san }}
|
||||
tls-san: {{ .Values.cluster.config.workerConfig.tls_san | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.token }}
|
||||
token: {{ .Values.cluster.config.workerConfig.token }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.systemDefaultRegistry }}
|
||||
system-default-registry: {{ .Values.cluster.config.workerConfig.systemDefaultRegistry }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.secrets_encryption }}
|
||||
secrets-encryption: {{ .Values.cluster.config.workerConfig.secrets_encryption }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.write_kubeconfig_mode }}
|
||||
write-kubeconfig-mode: {{ .Values.cluster.config.workerConfig.write_kubeconfig_mode }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.use_service_account_credentials }}
|
||||
use-service-account-credentials: {{ .Values.cluster.config.workerConfig.use_service_account_credentials }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.protect_kernel_defaults }}
|
||||
protect-kernel-defaults: {{ .Values.cluster.config.workerConfig.protect_kernel_defaults }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.cloud_provider_name }}
|
||||
cloud-provider-name: {{ .Values.cluster.config.workerConfig.cloud_provider_name }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.cloud_provider_config }}
|
||||
cloud-provider-config: {{ .Values.cluster.config.workerConfig.cloud_provider_config }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.kube_controller_manager_arg }}
|
||||
kube-controller-manager-arg: {{ .Values.cluster.config.workerConfig.kube_controller_manager_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.kube_scheduler_arg }}
|
||||
kube-scheduler-arg: {{ .Values.cluster.config.workerConfig.kube_scheduler_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.kube_apiserver_arg }}
|
||||
kube-apiserver-arg: {{ .Values.cluster.config.workerConfig.kube_apiserver_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.kubelet_proxy_arg }}
|
||||
kubelet-proxy-arg: {{ .Values.cluster.config.workerConfig.kubelet_proxy_arg | toRawJson }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.workerConfig.kubelet_arg }}
|
||||
kubelet-arg: {{ .Values.cluster.config.workerConfig.kubelet_arg | toRawJson }}
|
||||
{{- end }}
|
||||
machineLabelSelector:
|
||||
matchLabels:
|
||||
rke.cattle.io/worker-role: "true"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
# machineSelectorFiles:
|
||||
# provisionGeneration:
|
||||
{{- if and .Values.cluster.config.registries (eq .Values.cluster.config.registries.enabled true) }}
|
||||
registries:
|
||||
configs:
|
||||
{{- range .Values.cluster.config.registries.configs }}
|
||||
{{ .name }}:
|
||||
authConfigSecretName: {{ .authConfigSecretName }}
|
||||
caBundle: {{ .caBundle }}
|
||||
insecureSkipVerify: {{ .insecureSkipVerify }}
|
||||
tlsSecretName: {{ .tlsSecretName }}
|
||||
{{- end }}
|
||||
{{- if .Values.cluster.config.registries.mirrors }}
|
||||
mirrors:
|
||||
{{- range .Values.cluster.config.registries.mirrors }}
|
||||
{{ .name | quote }}:
|
||||
endpoint:
|
||||
{{- range .endpoints }}
|
||||
- {{ . }}
|
||||
{{- end }}
|
||||
{{- if .rewrite }}
|
||||
rewrite:
|
||||
{{- range $key, $value := .rewrite }}
|
||||
"{{ $key }}": "{{ $value }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
# rotateCertificates:
|
||||
# rotateEncryptionKeys:
|
||||
{{- if .Values.cluster.config.upgradeStrategy }}
|
||||
upgradeStrategy:
|
||||
controlPlaneConcurrency: {{ .Values.cluster.config.upgradeStrategy.controlPlaneConcurrency }}
|
||||
{{- if eq .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.enabled true }}
|
||||
controlPlaneDrainOptions:
|
||||
enabled: {{ .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.enabled }}
|
||||
deleteEmptyDirData: {{ .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.deleteEmptyDirData }}
|
||||
disableEviction: {{ .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.disableEviction }}
|
||||
force: {{ .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.force }}
|
||||
gracePeriod: {{ .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.gracePeriod }}
|
||||
ignoreDaemonSets: {{ .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.ignoreDaemonSets }}
|
||||
ignoreErrors: {{ .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.ignoreErrors }}
|
||||
skipWaitForDeleteTimeoutSeconds: {{ .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.skipWaitForDeleteTimeoutSeconds }}
|
||||
timeout: {{ .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.timeout }}
|
||||
{{- else }}
|
||||
controlPlaneDrainOptions:
|
||||
enabled: {{ .Values.cluster.config.upgradeStrategy.controlPlaneDrainOptions.enabled }}
|
||||
{{- end }}
|
||||
workerConcurrency: {{ .Values.cluster.config.upgradeStrategy.workerConcurrency }}
|
||||
{{- if eq .Values.cluster.config.upgradeStrategy.workerDrainOptions.enabled true }}
|
||||
workerDrainOptions:
|
||||
enabled: {{ .Values.cluster.config.upgradeStrategy.workerDrainOptions.enabled }}
|
||||
deleteEmptyDirData: {{ .Values.cluster.config.upgradeStrategy.workerDrainOptions.deleteEmptyDirData }}
|
||||
disableEviction: {{ .Values.cluster.config.upgradeStrategy.workerDrainOptions.disableEviction }}
|
||||
force: {{ .Values.cluster.config.upgradeStrategy.workerDrainOptions.force }}
|
||||
gracePeriod: {{ .Values.cluster.config.upgradeStrategy.workerDrainOptions.gracePeriod }}
|
||||
ignoreDaemonSets: {{ .Values.cluster.config.upgradeStrategy.workerDrainOptions.ignoreDaemonSets }}
|
||||
ignoreErrors: {{ .Values.cluster.config.upgradeStrategy.workerDrainOptions.ignoreErrors }}
|
||||
skipWaitForDeleteTimeoutSeconds: {{ .Values.cluster.config.upgradeStrategy.workerDrainOptions.skipWaitForDeleteTimeoutSeconds }}
|
||||
timeout: {{ .Values.cluster.config.upgradeStrategy.workerDrainOptions.timeout }}
|
||||
{{- else }}
|
||||
workerDrainOptions:
|
||||
enabled: {{ .Values.cluster.config.upgradeStrategy.workerDrainOptions.enabled }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,11 @@
|
||||
{{ $root := . }}
|
||||
{{- range $index, $member := .Values.clusterMembers }}
|
||||
apiVersion: management.cattle.io/v3
|
||||
clusterName: c-m-{{ trunc 8 (sha256sum (printf "%s/%s" $root.Release.Namespace $root.Values.cluster.name)) }}
|
||||
kind: ClusterRoleTemplateBinding
|
||||
metadata:
|
||||
name: ctrb-{{ trunc 8 (sha256sum (printf "%s/%s" $root.Release.Namespace $member.principalName )) }}
|
||||
namespace: c-m-{{ trunc 8 (sha256sum (printf "%s/%s" $root.Release.Namespace $root.Values.cluster.name)) }}
|
||||
roleTemplateName: {{ $member.roleTemplateName }}
|
||||
userPrincipalName: {{ $member.principalName }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,33 @@
|
||||
{{- $clustername := .Values.cluster.name -}}
|
||||
{{- range .Values.nodepools }}
|
||||
{{- if eq .controlplane true }}
|
||||
---
|
||||
apiVersion: cluster.x-k8s.io/v1beta1
|
||||
kind: MachineHealthCheck
|
||||
metadata:
|
||||
name: {{ $clustername }}-controlplane-healthcheck
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
clusterName: {{ $clustername }}
|
||||
selector:
|
||||
matchLabels:
|
||||
cluster.x-k8s.io/control-plane: 'true'
|
||||
cluster.x-k8s.io/cluster-name: {{ $clustername }}
|
||||
# SAFETY FUSE:
|
||||
# "40%" prevents a 1-node CP from trying to self-heal (which would kill it).
|
||||
# If you have 3 nodes, this allows 1 to fail.
|
||||
maxUnhealthy: 40%
|
||||
|
||||
# TIMEOUTS (v1beta1 uses duration strings like "10m", not integers)
|
||||
nodeStartupTimeout: 600s
|
||||
unhealthyConditions:
|
||||
- type: Ready
|
||||
status: Unknown
|
||||
timeout: 300s
|
||||
- type: Ready
|
||||
status: "False"
|
||||
timeout: 300s
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
{{- $clustername := .Values.cluster.name -}}
|
||||
{{- range .Values.nodepools }}
|
||||
{{- if eq .worker true }}
|
||||
---
|
||||
apiVersion: cluster.x-k8s.io/v1beta1
|
||||
kind: MachineHealthCheck
|
||||
metadata:
|
||||
name: {{ $clustername }}-worker-healthcheck
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
clusterName: {{ $clustername }}
|
||||
selector:
|
||||
matchLabels:
|
||||
rke.cattle.io/worker-role: "true"
|
||||
# USE $ HERE TOO
|
||||
cluster.x-k8s.io/cluster-name: {{ $clustername }}
|
||||
maxUnhealthy: 100%
|
||||
|
||||
nodeStartupTimeout: 10m
|
||||
unhealthyConditions:
|
||||
- type: Ready
|
||||
status: "False"
|
||||
timeout: 300s
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,201 @@
|
||||
{{- if .Values.addons.monitoring }}
|
||||
{{- if .Values.addons.monitoring.enabled }}
|
||||
apiVersion: management.cattle.io/v3
|
||||
kind: ManagedChart
|
||||
metadata:
|
||||
name: monitoring-crd-{{ .Values.cluster.name }}
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
chart: "rancher-monitoring-crd"
|
||||
repoName: "rancher-charts"
|
||||
releaseName: "rancher-monitoring-crd"
|
||||
version: {{ .Values.addons.monitoring.version }}
|
||||
{{- if .Values.addons.monitoring.values }}
|
||||
values:
|
||||
{{ toYaml .Values.addons.monitoring.values | indent 4 }}
|
||||
{{- end }}
|
||||
defaultNamespace: "cattle-monitoring-system"
|
||||
targets:
|
||||
- clusterName: {{ .Values.cluster.name }}
|
||||
---
|
||||
apiVersion: management.cattle.io/v3
|
||||
kind: ManagedChart
|
||||
metadata:
|
||||
name: monitoring-{{ .Values.cluster.name }}
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
chart: "rancher-monitoring"
|
||||
repoName: "rancher-charts"
|
||||
releaseName: "rancher-monitoring"
|
||||
version: {{ .Values.addons.monitoring.version }}
|
||||
{{- if .Values.addons.monitoring.values }}
|
||||
values:
|
||||
{{ toYaml .Values.addons.monitoring.values | indent 4 }}
|
||||
{{- end }}
|
||||
defaultNamespace: "cattle-monitoring-system"
|
||||
targets:
|
||||
- clusterName: {{ .Values.cluster.name }}
|
||||
diff:
|
||||
comparePatches:
|
||||
- apiVersion: admissionregistration.k8s.io/v1beta1
|
||||
kind: MutatingWebhookConfiguration
|
||||
name: rancher-monitoring-admission
|
||||
jsonPointers:
|
||||
- /webhooks/0/failurePolicy
|
||||
- apiVersion: admissionregistration.k8s.io/v1beta1
|
||||
kind: ValidatingWebhookConfiguration
|
||||
name: rancher-monitoring-admission
|
||||
jsonPointers:
|
||||
- /webhooks/0/failurePolicy
|
||||
- apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
name: rancher-monitoring-kubelet
|
||||
namespace: kube-system
|
||||
jsonPointers:
|
||||
- /spec/endpoints
|
||||
---
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.addons.logging }}
|
||||
{{- if .Values.addons.logging.enabled }}
|
||||
apiVersion: management.cattle.io/v3
|
||||
kind: ManagedChart
|
||||
metadata:
|
||||
name: logging-crd-{{ .Values.cluster.name }}
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
chart: "rancher-logging-crd"
|
||||
repoName: "rancher-charts"
|
||||
releaseName: "rancher-logging-crd"
|
||||
version: {{ .Values.addons.logging.version }}
|
||||
{{- if .Values.addons.logging.values }}
|
||||
values:
|
||||
{{ toYaml .Values.addons.logging.values | indent 4 }}
|
||||
{{- end }}
|
||||
defaultNamespace: "cattle-logging-system"
|
||||
targets:
|
||||
- clusterName: {{ .Values.cluster.name }}
|
||||
---
|
||||
apiVersion: management.cattle.io/v3
|
||||
kind: ManagedChart
|
||||
metadata:
|
||||
name: logging-{{ .Values.cluster.name }}
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
chart: "rancher-logging"
|
||||
repoName: "rancher-charts"
|
||||
releaseName: "rancher-logging"
|
||||
version: {{ .Values.addons.logging.version }}
|
||||
{{- if .Values.addons.logging.values }}
|
||||
values:
|
||||
{{ toYaml .Values.addons.logging.values | indent 4 }}
|
||||
{{- end }}
|
||||
defaultNamespace: "cattle-logging-system"
|
||||
targets:
|
||||
- clusterName: {{ .Values.cluster.name }}
|
||||
---
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.addons.longhorn }}
|
||||
{{- if .Values.addons.longhorn.enabled }}
|
||||
apiVersion: management.cattle.io/v3
|
||||
kind: ManagedChart
|
||||
metadata:
|
||||
name: longhorn-crd-{{ .Values.cluster.name }}
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
chart: "longhorn-crd"
|
||||
repoName: "rancher-charts"
|
||||
releaseName: "longhorn-crd"
|
||||
version: {{ .Values.addons.longhorn.version }}
|
||||
{{- if .Values.addons.longhorn.values }}
|
||||
values:
|
||||
{{ toYaml .Values.addons.longhorn.values | indent 4 }}
|
||||
{{- end }}
|
||||
defaultNamespace: "longhorn-system"
|
||||
targets:
|
||||
- clusterName: {{ .Values.cluster.name }}
|
||||
diff:
|
||||
comparePatches:
|
||||
- apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
name: engineimages.longhorn.io
|
||||
jsonPointers:
|
||||
- /status/acceptedNames
|
||||
- /status/conditions
|
||||
- /status/storedVersions
|
||||
- apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
name: nodes.longhorn.io
|
||||
jsonPointers:
|
||||
- /status/acceptedNames
|
||||
- /status/conditions
|
||||
- /status/storedVersions
|
||||
- apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
name: volumes.longhorn.io
|
||||
jsonPointers:
|
||||
- /status/acceptedNames
|
||||
- /status/conditions
|
||||
- /status/storedVersions
|
||||
---
|
||||
apiVersion: management.cattle.io/v3
|
||||
kind: ManagedChart
|
||||
metadata:
|
||||
name: longhorn-{{ .Values.cluster.name }}
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
chart: "longhorn"
|
||||
repoName: "rancher-charts"
|
||||
releaseName: "longhorn"
|
||||
version: {{ .Values.addons.longhorn.version }}
|
||||
{{- if .Values.addons.longhorn.values }}
|
||||
values:
|
||||
{{ toYaml .Values.addons.longhorn.values | indent 4 }}
|
||||
{{- end }}
|
||||
defaultNamespace: "longhorn-system"
|
||||
targets:
|
||||
- clusterName: {{ .Values.cluster.name }}
|
||||
---
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.addons.neuvector }}
|
||||
{{- if .Values.addons.neuvector.enabled }}
|
||||
apiVersion: management.cattle.io/v3
|
||||
kind: ManagedChart
|
||||
metadata:
|
||||
name: neuvector-crd-{{ .Values.cluster.name }}
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
chart: "neuvector-crd"
|
||||
repoName: "rancher-charts"
|
||||
releaseName: "neuvector-crd"
|
||||
version: {{ .Values.addons.neuvector.version }}
|
||||
{{- if .Values.addons.neuvector.values }}
|
||||
values:
|
||||
{{ toYaml .Values.addons.neuvector.values | indent 4 }}
|
||||
{{- end }}
|
||||
defaultNamespace: "cattle-neuvector-system"
|
||||
targets:
|
||||
- clusterName: {{ .Values.cluster.name }}
|
||||
---
|
||||
apiVersion: management.cattle.io/v3
|
||||
kind: ManagedChart
|
||||
metadata:
|
||||
name: neuvector-{{ .Values.cluster.name }}
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
chart: "neuvector"
|
||||
repoName: "rancher-charts"
|
||||
releaseName: "neuvector"
|
||||
version: {{ .Values.addons.neuvector.version }}
|
||||
{{- if .Values.addons.neuvector.values }}
|
||||
values:
|
||||
{{ toYaml .Values.addons.neuvector.values | indent 4 }}
|
||||
{{- end }}
|
||||
defaultNamespace: "cattle-neuvector-system"
|
||||
targets:
|
||||
- clusterName: {{ .Values.cluster.name }}
|
||||
---
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,251 @@
|
||||
{{- $clustername := .Values.cluster.name -}}
|
||||
{{- if eq .Values.cloudprovider "amazonec2" }}
|
||||
{{- range $index, $nodepool := .Values.nodepools }}
|
||||
apiVersion: rke-machine-config.cattle.io/v1
|
||||
kind: Amazonec2Config
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
{{- if $nodepool.accessKey }}
|
||||
accessKey: {{ $nodepool.accessKey }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.ami }}
|
||||
ami: {{ $nodepool.ami }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.blockDurationMinutes }}
|
||||
blockDurationMinutes: {{ $nodepool.blockDurationMinutes }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.deviceName }}
|
||||
deviceName: {{ $nodepool.deviceName }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.encryptEbsVolume }}
|
||||
encryptEbsVolume: {{ $nodepool.encryptEbsVolume }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.endpoint }}
|
||||
endpoint: {{ $nodepool.endpoint }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.httpEndpoint }}
|
||||
httpEndpoint: {{ $nodepool.httpEndpoint }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.httpTokens }}
|
||||
httpTokens: {{ $nodepool.httpTokens }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.iamInstanceProfile }}
|
||||
iamInstanceProfile: {{ $nodepool.iamInstanceProfile }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.insecureTransport }}
|
||||
insecureTransport: {{ $nodepool.insecureTransport }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.instanceType }}
|
||||
instanceType: {{ $nodepool.instanceType }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.keypairName }}
|
||||
keypairName: {{ $nodepool.keypairName }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.kmsKey }}
|
||||
kmsKey: {{ $nodepool.kmsKey }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.monitoring }}
|
||||
monitoring: {{ $nodepool.monitoring }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.openPort}}
|
||||
openPort:
|
||||
{{- range $i, $port := $nodepool.openPort }}
|
||||
- {{ $port | squote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.privateAddressOnly }}
|
||||
privateAddressOnly: {{ $nodepool.privateAddressOnly }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.region }}
|
||||
region: {{ $nodepool.region }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.requestSpotInstance }}
|
||||
requestSpotInstance: {{ $nodepool.requestSpotInstance }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.retries }}
|
||||
retries: {{ $nodepool.retries | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.rootSize }}
|
||||
rootSize: {{ $nodepool.rootSize | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.secretKey }}
|
||||
secretKey: {{ $nodepool.secretKey }}
|
||||
{{- end }}
|
||||
securityGroup:
|
||||
{{- if $nodepool.createSecurityGroup }}
|
||||
- rancher-nodes
|
||||
{{- else }}
|
||||
{{ toYaml $nodepool.securityGroups }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.securityGroupReadonly }}
|
||||
securityGroupReadonly: {{ $nodepool.securityGroupReadonly }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sessionToken }}
|
||||
sessionToken: {{ $nodepool.sessionToken }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.spotPrice }}
|
||||
spotPrice: {{ $nodepool.spotPrice }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshKeyContents }}
|
||||
sshKeyContents: {{ $nodepool.sshKeyContents }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshUser }}
|
||||
sshUser: {{ $nodepool.sshUser }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.subnetId }}
|
||||
subnetId: {{ $nodepool.subnetId }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.tags }}
|
||||
tags: {{ $nodepool.tags }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.useEbsOptimizedInstance }}
|
||||
useEbsOptimizedInstance: {{ $nodepool.useEbsOptimizedInstance }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.usePrivateAddress }}
|
||||
usePrivateAddress: {{ $nodepool.usePrivateAddress }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.userData }}
|
||||
userdata: {{- $nodepool.userData | toYaml | indent 1 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.volumeType }}
|
||||
volumeType: {{ $nodepool.volumeType }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.vpcId }}
|
||||
vpcId: {{ $nodepool.vpcId }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.zone }}
|
||||
zone: {{ $nodepool.zone }}
|
||||
{{- end }}
|
||||
---
|
||||
{{- end }}
|
||||
{{ $nodepool := .Values.nodepool }}
|
||||
{{- if $nodepool }}
|
||||
apiVersion: rke-machine-config.cattle.io/v1
|
||||
kind: Amazonec2Config
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
common:
|
||||
{{- if $nodepool.labels }}
|
||||
labels:
|
||||
{{ toYaml $nodepool.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.taints }}
|
||||
taints:
|
||||
{{ toYaml $nodepool.taints | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.accessKey }}
|
||||
accessKey: {{ $nodepool.accessKey }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.ami }}
|
||||
ami: {{ $nodepool.ami }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.blockDurationMinutes }}
|
||||
blockDurationMinutes: {{ $nodepool.blockDurationMinutes }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.deviceName }}
|
||||
deviceName: {{ $nodepool.deviceName }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.encryptEbsVolume }}
|
||||
encryptEbsVolume: {{ $nodepool.encryptEbsVolume }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.endpoint }}
|
||||
endpoint: {{ $nodepool.endpoint }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.httpEndpoint }}
|
||||
httpEndpoint: {{ $nodepool.httpEndpoint }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.httpTokens }}
|
||||
httpTokens: {{ $nodepool.httpTokens }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.iamInstanceProfile }}
|
||||
iamInstanceProfile: {{ $nodepool.iamInstanceProfile }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.insecureTransport }}
|
||||
insecureTransport: {{ $nodepool.insecureTransport }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.instanceType }}
|
||||
instanceType: {{ $nodepool.instanceType }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.keypairName }}
|
||||
keypairName: {{ $nodepool.keypairName }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.kmsKey }}
|
||||
kmsKey: {{ $nodepool.kmsKey }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.monitoring }}
|
||||
monitoring: {{ $nodepool.monitoring }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.openPort}}
|
||||
openPort:
|
||||
{{- range $i, $port := $nodepool.openPort }}
|
||||
- {{ $port | squote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.privateAddressOnly }}
|
||||
privateAddressOnly: {{ $nodepool.privateAddressOnly }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.region }}
|
||||
region: {{ $nodepool.region }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.requestSpotInstance }}
|
||||
requestSpotInstance: {{ $nodepool.requestSpotInstance }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.retries }}
|
||||
retries: {{ $nodepool.retries | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.rootSize }}
|
||||
rootSize: {{ $nodepool.rootSize | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.secretKey }}
|
||||
secretKey: {{ $nodepool.secretKey }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.createSecurityGroup }}
|
||||
securityGroup:
|
||||
- rancher-nodes
|
||||
{{- else if $nodepool.securityGroups }}
|
||||
securityGroup:
|
||||
{{ toYaml $nodepool.securityGroups }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.securityGroupReadonly }}
|
||||
securityGroupReadonly: {{ $nodepool.securityGroupReadonly }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sessionToken }}
|
||||
sessionToken: {{ $nodepool.sessionToken }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.spotPrice }}
|
||||
spotPrice: {{ $nodepool.spotPrice }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshKeyContents }}
|
||||
sshKeyContents: {{ $nodepool.sshKeyContents }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshUser }}
|
||||
sshUser: {{ $nodepool.sshUser }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.subnetId }}
|
||||
subnetId: {{ $nodepool.subnetId }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.tags }}
|
||||
tags: {{ $nodepool.tags }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.useEbsOptimizedInstance }}
|
||||
useEbsOptimizedInstance: {{ $nodepool.useEbsOptimizedInstance }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.usePrivateAddress }}
|
||||
usePrivateAddress: {{ $nodepool.usePrivateAddress }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.userData }}
|
||||
userdata: {{- $nodepool.userData | toYaml | indent 1 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.volumeType }}
|
||||
volumeType: {{ $nodepool.volumeType }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.vpcId }}
|
||||
vpcId: {{ $nodepool.vpcId }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.zone }}
|
||||
zone: {{ $nodepool.zone }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,95 @@
|
||||
{{- $clustername := .Values.cluster.name -}}
|
||||
{{- if eq .Values.cloudprovider "azure" }}
|
||||
{{- range $index, $nodepool := .Values.nodepools }}
|
||||
apiVersion: rke-machine-config.cattle.io/v1
|
||||
kind: AzureConfig
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
common:
|
||||
{{- if $nodepool.labels }}
|
||||
labels:
|
||||
{{ toYaml $nodepool.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.taints }}
|
||||
taints:
|
||||
{{ toYaml $nodepool.taints | indent 4 }}
|
||||
{{- end }}
|
||||
availabilitySet: {{ $nodepool.availabilitySet }}
|
||||
clientId: {{ $nodepool.clientId }}
|
||||
customData: {{ $nodepool.customData }}
|
||||
diskSize: {{ $nodepool.diskSize }}
|
||||
dns: {{ $nodepool.dns }}
|
||||
environment: {{ $nodepool.environment }}
|
||||
faultDomainCount: {{ $nodepool.faultDomainCount }}
|
||||
image: {{ $nodepool.image }}
|
||||
location: {{ $nodepool.location }}
|
||||
managedDisks: {{ $nodepool.managedDisks }}
|
||||
noPublicIp: {{ $nodepool.noPublicIp }}
|
||||
{{- if $nodepool.openPort}}
|
||||
openPort:
|
||||
{{- range $i, $port := $nodepool.openPort }}
|
||||
- {{ $port }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
privateIpAddress: {{ $nodepool.privateIpAddress }}
|
||||
resourceGroup: {{ $nodepool.resourceGroup }}
|
||||
size: {{ $nodepool.size }}
|
||||
sshUser: {{ $nodepool.sshUser }}
|
||||
staticPublicIp: {{ $nodepool.staticPublicIp }}
|
||||
storageType: {{ $nodepool.storageType }}
|
||||
subnet: {{ $nodepool.subnet }}
|
||||
subnetPrefix: {{ $nodepool.subnetPrefix }}
|
||||
subscriptionId: {{ $nodepool.subscriptionId }}
|
||||
updateDomainCount: {{ $nodepool.updateDomainCount }}
|
||||
usePrivateIp: {{ $nodepool.usePrivateIp }}
|
||||
vnet: {{ $nodepool.vnet }}
|
||||
---
|
||||
{{- end }}
|
||||
{{ $nodepool := .Values.nodepool }}
|
||||
{{- if $nodepool }}
|
||||
apiVersion: rke-machine-config.cattle.io/v1
|
||||
kind: AzureConfig
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
common:
|
||||
{{- if $nodepool.labels }}
|
||||
labels:
|
||||
{{ toYaml $nodepool.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.taints }}
|
||||
taints:
|
||||
{{ toYaml $nodepool.taints | indent 4 }}
|
||||
{{- end }}
|
||||
availabilitySet: {{ $nodepool.availabilitySet }}
|
||||
clientId: {{ $nodepool.clientId }}
|
||||
customData: {{ $nodepool.customData }}
|
||||
diskSize: {{ $nodepool.diskSize }}
|
||||
dns: {{ $nodepool.dns }}
|
||||
environment: {{ $nodepool.environment }}
|
||||
faultDomainCount: {{ $nodepool.faultDomainCount }}
|
||||
image: {{ $nodepool.image }}
|
||||
location: {{ $nodepool.location }}
|
||||
managedDisks: {{ $nodepool.managedDisks }}
|
||||
noPublicIp: {{ $nodepool.noPublicIp }}
|
||||
{{- if $nodepool.openPort}}
|
||||
openPort:
|
||||
{{- range $i, $port := $nodepool.openPort }}
|
||||
- {{ $port }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
privateIpAddress: {{ $nodepool.privateIpAddress }}
|
||||
resourceGroup: {{ $nodepool.resourceGroup }}
|
||||
size: {{ $nodepool.size }}
|
||||
sshUser: {{ $nodepool.sshUser }}
|
||||
staticPublicIp: {{ $nodepool.staticPublicIp }}
|
||||
storageType: {{ $nodepool.storageType }}
|
||||
subnet: {{ $nodepool.subnet }}
|
||||
subnetPrefix: {{ $nodepool.subnetPrefix }}
|
||||
subscriptionId: {{ $nodepool.subscriptionId }}
|
||||
updateDomainCount: {{ $nodepool.updateDomainCount }}
|
||||
usePrivateIp: {{ $nodepool.usePrivateIp }}
|
||||
vnet: {{ $nodepool.vnet }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,103 @@
|
||||
{{- $clustername := .Values.cluster.name -}}
|
||||
{{- if eq .Values.cloudprovider "digitalocean" }}
|
||||
{{- range $index, $nodepool := .Values.nodepools }}
|
||||
apiVersion: rke-machine-config.cattle.io/v1
|
||||
kind: DigitaloceanConfig
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
{{- if $nodepool.accessToken }}
|
||||
accessToken: {{ $nodepool.accessToken }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.backups }}
|
||||
backups: {{ $nodepool.backups }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.image }}
|
||||
image: {{ $nodepool.image }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.ipv6 }}
|
||||
ipv6: {{ $nodepool.ipv6 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.monitoring }}
|
||||
monitoring: {{ $nodepool.monitoring }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.privateNetworking }}
|
||||
privateNetworking: {{ $nodepool.privateNetworking }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.region }}
|
||||
region: {{ $nodepool.region }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.size }}
|
||||
size: {{ $nodepool.size }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshKeyContents }}
|
||||
sshKeyContents: {{ $nodepool.sshKeyContents }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshKeyFingerprint }}
|
||||
sshKeyFingerprint: {{ $nodepool.sshKeyFingerprint }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshPort }}
|
||||
sshPort: {{ $nodepool.sshPort | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshUser }}
|
||||
sshUser: {{ $nodepool.sshUser }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.tags }}
|
||||
tags: {{ $nodepool.tags }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.userData }}
|
||||
userdata: {{- $nodepool.userData | toYaml | indent 1 }}
|
||||
{{- end }}
|
||||
---
|
||||
{{- end }}
|
||||
{{ $nodepool := .Values.nodepool }}
|
||||
{{- if $nodepool }}
|
||||
apiVersion: rke-machine-config.cattle.io/v1
|
||||
kind: DigitaloceanConfig
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
{{- if $nodepool.accessToken }}
|
||||
accessToken: {{ $nodepool.accessToken }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.backups }}
|
||||
backups: {{ $nodepool.backups }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.image }}
|
||||
image: {{ $nodepool.image }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.ipv6 }}
|
||||
ipv6: {{ $nodepool.ipv6 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.monitoring }}
|
||||
monitoring: {{ $nodepool.monitoring }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.privateNetworking }}
|
||||
privateNetworking: {{ $nodepool.privateNetworking }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.region }}
|
||||
region: {{ $nodepool.region }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.size }}
|
||||
size: {{ $nodepool.size }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshKeyContents }}
|
||||
sshKeyContents: {{ $nodepool.sshKeyContents }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshKeyFingerprint }}
|
||||
sshKeyFingerprint: {{ $nodepool.sshKeyFingerprint }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshPort }}
|
||||
sshPort: {{ $nodepool.sshPort | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshUser }}
|
||||
sshUser: {{ $nodepool.sshUser }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.tags }}
|
||||
tags: {{ $nodepool.tags }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.userData }}
|
||||
userdata: {{- $nodepool.userData | toYaml | indent 1 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,15 @@
|
||||
{{- $clustername := .Values.cluster.name -}}
|
||||
{{- if eq .Values.cloudprovider "elemental" }}
|
||||
{{- range $index, $nodepool := .Values.nodepools }}
|
||||
apiVersion: elemental.cattle.io/v1beta1
|
||||
kind: MachineInventorySelectorTemplate
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
selector:
|
||||
{{- toYaml $nodepool.selector | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,166 @@
|
||||
{{- $clustername := .Values.cluster.name -}}
|
||||
{{- if eq .Values.cloudprovider "harvester" }}
|
||||
{{- range $index, $nodepool := .Values.nodepools }}
|
||||
apiVersion: rke-machine-config.cattle.io/v1
|
||||
kind: HarvesterConfig
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
{{- if $nodepool.cloudConfig }}
|
||||
cloudConfig: {{$nodepool.cloudconfig }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.clusterId }}
|
||||
clusterId: {{ $nodepool.clusterId }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.clusterType }}
|
||||
clusterType: {{ $nodepool.clusterType }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.cpuCount }}
|
||||
cpuCount: {{ $nodepool.cpuCount | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.diskBus }}
|
||||
diskBus: {{ $nodepool.diskBus }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.diskInfo }}
|
||||
diskInfo: {{ $nodepool.diskInfo }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.diskSize }}
|
||||
diskSize: {{ $nodepool.diskSize | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.imageName }}
|
||||
imageName: {{ $nodepool.imageName }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.keyPairName }}
|
||||
keyPairName: {{ $nodepool.keyPairName }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.kubeconfigContent }}
|
||||
kubeconfigContent: {{- $nodepool.kubeconfigContent | toYaml }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.memorySize }}
|
||||
memorySize: {{ $nodepool.memorySize | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.networkData }}
|
||||
networkData: {{- $nodepool.networkData | toYaml | indent 1 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.networkInfo }}
|
||||
networkInfo: {{ $nodepool.networkInfo }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.networkModel }}
|
||||
networkModel: {{ $nodepool.networkModel }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.networkName }}
|
||||
networkName: {{ $nodepool.networkName }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.networkType }}
|
||||
networkType: {{ $nodepool.networkType }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshPassword }}
|
||||
sshPassword: {{ $nodepool.sshPassword }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshPort }}
|
||||
sshPort: {{ $nodepool.sshPort | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshPrivateKeyPath }}
|
||||
sshPrivateKeyPath: {{ $nodepool.sshPrivateKeyPath }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshUser }}
|
||||
sshUser: {{ $nodepool.sshUser }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.userData }}
|
||||
userData: {{ $nodepool.userData | toYaml }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.vmAffinity }}
|
||||
vmAffinity: {{ $nodepool.vmAffinity}}
|
||||
{{- end }}
|
||||
{{- if $nodepool.vmNamespace }}
|
||||
vmNamespace: {{ $nodepool.vmNamespace }}
|
||||
{{- end }}
|
||||
---
|
||||
{{- end }}
|
||||
{{ $nodepool := .Values.nodepool }}
|
||||
{{- if $nodepool }}
|
||||
apiVersion: rke-machine-config.cattle.io/v1
|
||||
kind: HarvesterConfig
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
common:
|
||||
{{- if $nodepool.labels }}
|
||||
labels:
|
||||
{{ toYaml $nodepool.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.taints }}
|
||||
taints:
|
||||
{{ toYaml $nodepool.taints | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.cloudConfig }}
|
||||
cloudConfig: {{$nodepool.cloudconfig }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.clusterId }}
|
||||
clusterId: {{ $nodepool.clusterId }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.clusterType }}
|
||||
clusterType: {{ $nodepool.clusterType }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.cpuCount }}
|
||||
cpuCount: {{ $nodepool.cpuCount | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.diskBus }}
|
||||
diskBus: {{ $nodepool.diskBus }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.diskInfo }}
|
||||
diskInfo: {{ $nodepool.diskInfo }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.diskSize }}
|
||||
diskSize: {{ $nodepool.diskSize | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.imageName }}
|
||||
imageName: {{ $nodepool.imageName }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.keyPairName }}
|
||||
keyPairName: {{ $nodepool.keyPairName }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.kubeconfigContent }}
|
||||
kubeconfigContent: {{- $nodepool.kubeconfigContent | toYaml }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.memorySize }}
|
||||
memorySize: {{ $nodepool.memorySize | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.networkData }}
|
||||
networkData: {{- $nodepool.networkData | toYaml | indent 1 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.networkInfo }}
|
||||
networkInfo: {{ $nodepool.networkInfo }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.networkModel }}
|
||||
networkModel: {{ $nodepool.networkModel }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.networkName }}
|
||||
networkName: {{ $nodepool.networkName }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.networkType }}
|
||||
networkType: {{ $nodepool.networkType }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshPassword }}
|
||||
sshPassword: {{ $nodepool.sshPassword }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshPort }}
|
||||
sshPort: {{ $nodepool.sshPort | squote }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshPrivateKeyPath }}
|
||||
sshPrivateKeyPath: {{ $nodepool.sshPrivateKeyPath }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.sshUser }}
|
||||
sshUser: {{ $nodepool.sshUser }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.userData }}
|
||||
userData: {{ $nodepool.userData | toYaml }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.vmAffinity }}
|
||||
vmAffinity: {{ $nodepool.vmAffinity }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.vmNamespace }}
|
||||
vmNamespace: {{ $nodepool.vmNamespace }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,97 @@
|
||||
{{- $clustername := .Values.cluster.name -}}
|
||||
{{- if eq .Values.cloudprovider "vsphere" }}
|
||||
{{- range $index, $nodepool := .Values.nodepools }}
|
||||
apiVersion: rke-machine-config.cattle.io/v1
|
||||
kind: VmwarevsphereConfig
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
common:
|
||||
{{- if $nodepool.labels }}
|
||||
labels:
|
||||
{{ toYaml $nodepool.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.taints }}
|
||||
taints:
|
||||
{{ toYaml $nodepool.taints | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.cfgparam }}
|
||||
cfgparam: {{ $nodepool.cfgparam }}
|
||||
{{- end }}
|
||||
cloneFrom: {{ $nodepool.cloneFrom }}
|
||||
cloudConfig: |-
|
||||
{{ $nodepool.cloudConfig | indent 2 }}
|
||||
cloudinit: {{ $nodepool.cloudinit }}
|
||||
contentLibrary: {{ $nodepool.contentLibrary }}
|
||||
cpuCount: {{ $nodepool.cpuCount | squote }}
|
||||
creationType: {{ $nodepool.creationType }}
|
||||
customAttribute: {{ $nodepool.customAttribute }}
|
||||
datacenter: {{ $nodepool.datacenter }}
|
||||
datastore: {{ $nodepool.datastore }}
|
||||
datastoreCluster: {{ $nodepool.datastoreCluster }}
|
||||
diskSize: {{ $nodepool.diskSize | squote }}
|
||||
folder: {{ $nodepool.folder }}
|
||||
hostsystem: {{ $nodepool.hostsystem }}
|
||||
memorySize: {{ $nodepool.memorySize | squote }}
|
||||
network: {{ $nodepool.network }}
|
||||
pool: {{ $nodepool.pool }}
|
||||
sshPort: {{ $nodepool.sshPort | squote }}
|
||||
sshUser: {{ $nodepool.sshUser }}
|
||||
sshUserGroup: {{ $nodepool.sshUserGroup }}
|
||||
tag: {{ $nodepool.tag }}
|
||||
vappIpallocationpolicy: {{ $nodepool.vappIpallocationpolicy }}
|
||||
vappIpprotocol: {{ $nodepool.vappIpprotocol }}
|
||||
vappProperty: {{ $nodepool.vappProperty }}
|
||||
vappTransport: {{ $nodepool.vappTransport }}
|
||||
vcenter: {{ $nodepool.vcenter }}
|
||||
vcenterPort: {{ $nodepool.vcenterPort | squote }}
|
||||
---
|
||||
{{- end }}
|
||||
{{ $nodepool := .Values.nodepool }}
|
||||
{{- if $nodepool }}
|
||||
apiVersion: rke-machine-config.cattle.io/v1
|
||||
kind: VmwarevsphereConfig
|
||||
metadata:
|
||||
name: {{ $clustername }}-{{ $nodepool.name }}
|
||||
namespace: fleet-default
|
||||
common:
|
||||
{{- if $nodepool.labels }}
|
||||
labels:
|
||||
{{ toYaml $nodepool.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.taints }}
|
||||
taints:
|
||||
{{ toYaml $nodepool.taints | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if $nodepool.cfgparam }}
|
||||
cfgparam: {{ $nodepool.cfgparam }}
|
||||
{{- end }}
|
||||
cloneFrom: {{ $nodepool.cloneFrom }}
|
||||
cloudConfig: |-
|
||||
{{ $nodepool.cloudConfig | indent 2 }}
|
||||
cloudinit: {{ $nodepool.cloudinit }}
|
||||
contentLibrary: {{ $nodepool.contentLibrary }}
|
||||
cpuCount: {{ $nodepool.cpuCount | squote }}
|
||||
creationType: {{ $nodepool.creationType }}
|
||||
customAttribute: {{ $nodepool.customAttribute }}
|
||||
datacenter: {{ $nodepool.datacenter }}
|
||||
datastore: {{ $nodepool.datastore }}
|
||||
datastoreCluster: {{ $nodepool.datastoreCluster }}
|
||||
diskSize: {{ $nodepool.diskSize | squote }}
|
||||
folder: {{ $nodepool.folder }}
|
||||
hostsystem: {{ $nodepool.hostsystem }}
|
||||
memorySize: {{ $nodepool.memorySize | squote }}
|
||||
network: {{ $nodepool.network }}
|
||||
pool: {{ $nodepool.pool }}
|
||||
sshPort: {{ $nodepool.sshPort | squote }}
|
||||
sshUser: {{ $nodepool.sshUser }}
|
||||
sshUserGroup: {{ $nodepool.sshUserGroup }}
|
||||
tag: {{ $nodepool.tag }}
|
||||
vappIpallocationpolicy: {{ $nodepool.vappIpallocationpolicy }}
|
||||
vappIpprotocol: {{ $nodepool.vappIpprotocol }}
|
||||
vappProperty: {{ $nodepool.vappProperty }}
|
||||
vappTransport: {{ $nodepool.vappTransport }}
|
||||
vcenter: {{ $nodepool.vcenter }}
|
||||
vcenterPort: {{ $nodepool.vcenterPort | squote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
Reference in New Issue
Block a user