So far ironicIP has been part of values.yaml under the global section, however this is very misleading: this variable is internal to the Ironic startup scripts and should not be set, moreover it conflicts with provisioningIP, which is instead a public configuration variable for the purpose. This commits thus introduces the following changes: - removes the creation of IRONIC_IP in the Ironic configmap - does not yet remove ironicIP from values.yaml to avoid breaking forward compatibility - introduces a utility function to perform input validation while still prioritizing ironicIP if present Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
67 lines
2.5 KiB
YAML
67 lines
2.5 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: ironic
|
|
labels:
|
|
{{- include "ironic.labels" . | nindent 4 }}
|
|
data:
|
|
{{- $enableTLS := .Values.global.enable_tls }}
|
|
{{- $enableVMediaTLS := .Values.global.enable_vmedia_tls }}
|
|
{{- $protocol := ternary "https" "http" $enableTLS }}
|
|
{{- $deployArch := .Values.global.deployArchitecture }}
|
|
|
|
{{- if ( .Values.global.enable_dnsmasq ) }}
|
|
DNSMASQ_DNS_SERVER_ADDRESS: {{ .Values.global.dnsmasqDNSServer }}
|
|
DNSMASQ_DEFAULT_ROUTER: {{ .Values.global.dnsmasqDefaultRouter }}
|
|
DHCP_RANGE: {{ .Values.global.dhcpRange }}
|
|
{{- end }}
|
|
{{- if .Values.debug.ironicRamdiskSshKey }}
|
|
IRONIC_RAMDISK_SSH_KEY: {{ .Values.debug.ironicRamdiskSshKey }}
|
|
{{- end }}
|
|
HTTP_PORT: "6180"
|
|
PREDICTABLE_NIC_NAMES: "{{ .Values.global.predictableNicNames }}"
|
|
# Switch VMedia to HTTP if enable_vmedia_tls is false
|
|
{{- if and $enableTLS $enableVMediaTLS }}
|
|
{{- $protocol = "https" }}
|
|
{{- else }}
|
|
{{- $protocol = "http" }}
|
|
{{- end }}
|
|
{{- if .Values.global.externalHttpHost }}
|
|
IRONIC_EXTERNAL_HTTP_URL: {{ $protocol }}://{{ include "ironic.externalHttpHost" . }}:6385
|
|
{{- end }}
|
|
DEPLOY_ARCHITECTURE: {{ $deployArch }}
|
|
ENABLE_PXE_BOOT: "{{ .Values.global.enable_pxe_boot }}"
|
|
{{- if .Values.global.provisioningInterface }}
|
|
PROVISIONING_INTERFACE: {{ .Values.global.provisioningInterface }}
|
|
{{- end }}
|
|
{{- if or .Values.global.ironicIP .Values.global.provisioningIP }}
|
|
PROVISIONING_IP: {{ include "metal3.provisioningIP" . }}
|
|
{{- else if .Values.global.provisioningHostname }}
|
|
IRONIC_URL_HOSTNAME: {{ .Values.global.provisioningHostname }}
|
|
{{- end }}
|
|
IRONIC_FAST_TRACK: "true"
|
|
LISTEN_ALL_INTERFACES: "{{ .Values.listenOnAll }}"
|
|
{{- if ( .Values.global.enable_tls ) }}
|
|
RESTART_CONTAINER_CERTIFICATE_UPDATED: "true"
|
|
IRONIC_KERNEL_PARAMS: {{ .Values.global.ironicKernelParams }} tls.enabled=true
|
|
IPA_INSECURE: "0"
|
|
IRONIC_REVERSE_PROXY_SETUP: "true"
|
|
{{- if ( .Values.global.enable_vmedia_tls ) }}
|
|
VMEDIA_TLS_PORT: "{{ .Values.global.vmediaTLSPort }}"
|
|
{{- end }}
|
|
{{- else }}
|
|
RESTART_CONTAINER_CERTIFICATE_UPDATED: "false"
|
|
IRONIC_KERNEL_PARAMS: {{ .Values.global.ironicKernelParams }}
|
|
IPA_INSECURE: "1"
|
|
IRONIC_REVERSE_PROXY_SETUP: "false"
|
|
{{- end }}
|
|
{{- if ( .Values.global.enable_basicAuth ) }}
|
|
AUTH_STRATEGY: "http_basic"
|
|
{{- end }}
|
|
{{- if .Values.global.enable_mariadb }}
|
|
MARIADB_HOST: {{ .Values.global.databaseServiceName }}.{{ .Release.Namespace }}.svc.cluster.local
|
|
IRONIC_USE_MARIADB: "true"
|
|
{{- else }}
|
|
IRONIC_USE_MARIADB: "false"
|
|
{{- end }}
|