Sulochan Acharya fce0905c35
Adds config options for using capi-helm driver
CAPI is the preffered way of creating and managing
k8s cluster in magnum. Heat driver is getting deprecated.
This patch adds a way to allow capi-helm driver in magnum.

If capi is enabled user should provide the right data to
access management cluster.

Change-Id: I2e6c62dbda7dc07fd283e8d3244d7de1818a654e
2025-04-04 13:10:32 +01:00

111 lines
6.2 KiB
YAML

{{/*
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/}}
{{- if .Values.manifests.configmap_etc }}
{{- $envAll := . }}
{{- if empty .Values.conf.magnum.keystone_authtoken.auth_uri -}}
{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.magnum.keystone_authtoken "auth_uri" -}}
{{- end -}}
{{- if empty .Values.conf.magnum.keystone_authtoken.auth_url -}}
{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.magnum.keystone_authtoken "auth_url" -}}
{{- end -}}
{{- if empty .Values.conf.magnum.keystone_authtoken.region_name -}}
{{- $_ := set .Values.conf.magnum.keystone_authtoken "region_name" .Values.endpoints.identity.auth.magnum.region_name -}}
{{- end -}}
{{- if empty .Values.conf.magnum.keystone_authtoken.project_name -}}
{{- $_ := set .Values.conf.magnum.keystone_authtoken "project_name" .Values.endpoints.identity.auth.magnum.project_name -}}
{{- end -}}
{{- if empty .Values.conf.magnum.keystone_authtoken.project_domain_name -}}
{{- $_ := set .Values.conf.magnum.keystone_authtoken "project_domain_name" .Values.endpoints.identity.auth.magnum.project_domain_name -}}
{{- end -}}
{{- if empty .Values.conf.magnum.keystone_authtoken.user_domain_name -}}
{{- $_ := set .Values.conf.magnum.keystone_authtoken "user_domain_name" .Values.endpoints.identity.auth.magnum.user_domain_name -}}
{{- end -}}
{{- if empty .Values.conf.magnum.keystone_authtoken.username -}}
{{- $_ := set .Values.conf.magnum.keystone_authtoken "username" .Values.endpoints.identity.auth.magnum.username -}}
{{- end -}}
{{- if empty .Values.conf.magnum.keystone_authtoken.password -}}
{{- $_ := set .Values.conf.magnum.keystone_authtoken "password" .Values.endpoints.identity.auth.magnum.password -}}
{{- end -}}
{{- if empty .Values.conf.magnum.keystone_authtoken.memcached_servers -}}
{{- $_ := tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" | set .Values.conf.magnum.keystone_authtoken "memcached_servers" -}}
{{- end -}}
{{- if empty .Values.conf.magnum.keystone_authtoken.memcache_secret_key -}}
{{- $_ := set .Values.conf.magnum.keystone_authtoken "memcache_secret_key" ( default ( randAlphaNum 64 ) .Values.endpoints.oslo_cache.auth.memcache_secret_key ) -}}
{{- end -}}
{{- if empty .Values.conf.magnum.database.connection -}}
{{- $_ := tuple "oslo_db" "internal" "magnum" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup"| set .Values.conf.magnum.database "connection" -}}
{{- end -}}
{{- if empty .Values.conf.magnum.DEFAULT.transport_url -}}
{{- $_ := tuple "oslo_messaging" "internal" "magnum" "amqp" . | include "helm-toolkit.endpoints.authenticated_transport_endpoint_uri_lookup" | set .Values.conf.magnum.DEFAULT "transport_url" -}}
{{- end -}}
{{- if empty .Values.conf.magnum.api.port -}}
{{- $_ := tuple "container-infra" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | set .Values.conf.magnum.api "port" -}}
{{- end -}}
{{- if empty .Values.conf.magnum.trust.trustee_domain_name -}}
{{- $_ := set .Values.conf.magnum.trust "trustee_domain_name" .Values.endpoints.identity.auth.magnum_stack_user.domain_name -}}
{{- end -}}
{{- if empty .Values.conf.magnum.trust.trustee_domain_admin_name -}}
{{- $_ := set .Values.conf.magnum.trust "trustee_domain_admin_name" .Values.endpoints.identity.auth.magnum_stack_user.username -}}
{{- end -}}
{{- if empty .Values.conf.magnum.trust.trustee_domain_admin_password -}}
{{- $_ := set .Values.conf.magnum.trust "trustee_domain_admin_password" .Values.endpoints.identity.auth.magnum_stack_user.password -}}
{{- end -}}
{{- if empty .Values.conf.magnum_api_uwsgi.uwsgi.processes -}}
{{- $_ := set .Values.conf.magnum_api_uwsgi.uwsgi "processes" .Values.conf.magnum.api.workers -}}
{{- end -}}
{{- if empty (index .Values.conf.magnum_api_uwsgi.uwsgi "http-socket") -}}
{{- $http_socket_port := tuple "container-infra" "service" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | toString }}
{{- $http_socket := printf "0.0.0.0:%s" $http_socket_port }}
{{- $_ := set .Values.conf.magnum_api_uwsgi.uwsgi "http-socket" $http_socket -}}
{{- end -}}
{{- if and (empty .Values.conf.logging.handler_fluent) (has "fluent" .Values.conf.logging.handlers.keys) -}}
{{- $fluentd_host := tuple "fluentd" "internal" $envAll | include "helm-toolkit.endpoints.hostname_namespaced_endpoint_lookup" }}
{{- $fluentd_port := tuple "fluentd" "internal" "service" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
{{- $fluent_args := printf "('%s.%s', '%s', %s)" .Release.Namespace .Release.Name $fluentd_host $fluentd_port }}
{{- $handler_fluent := dict "class" "fluent.handler.FluentHandler" "formatter" "fluent" "args" $fluent_args -}}
{{- $_ := set .Values.conf.logging "handler_fluent" $handler_fluent -}}
{{- end -}}
{{- if and (empty .Values.conf.logging.formatter_fluent) (has "fluent" .Values.conf.logging.formatters.keys) -}}
{{- $formatter_fluent := dict "class" "oslo_log.formatters.FluentFormatter" -}}
{{- $_ := set .Values.conf.logging "formatter_fluent" $formatter_fluent -}}
{{- end -}}
---
apiVersion: v1
kind: Secret
metadata:
name: magnum-etc
type: Opaque
data:
magnum.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.magnum | b64enc }}
magnum-api-uwsgi.ini: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.magnum_api_uwsgi | b64enc }}
logging.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.logging | b64enc }}
api-paste.ini: {{ include "helm-toolkit.utils.to_ini" .Values.conf.paste | b64enc }}
policy.yaml: {{ toYaml .Values.conf.policy | b64enc }}
{{- if .Values.conf.capi.enabled }}
kubeconfig.conf: {{ include "kubeconfig.tpl" . | b64enc }}
{{- end }}
{{- end }}