Files
2026-01-15 09:58:01 +00:00

167 lines
4.5 KiB
YAML

{{- $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 }}