apiVersion: v1 kind: ConfigMap metadata: name: {{ include "spire.fullname" . }}-server namespace: {{ .Release.Namespace }} data: server.conf: | server { bind_address = "0.0.0.0" bind_port = "8081" socket_path = {{ .Values.server.config.socketPath | quote }} trust_domain = {{ .Values.spire.trustDomain | quote }} data_dir = "/run/spire/data" log_level = "{{ .Values.server.config.logLevel }}" # AWS requires the use of RSA. EC cryptography is not supported ca_key_type = "rsa-2048" {{- if eq (.Values.oidc.enabled | toString) "true" }} jwt_issuer = "{{ .Values.server.config.jwtIssuer }}" {{ end }} default_x509_svid_ttl = "1h" default_jwt_svid_ttl = "1h" ca_subject = { {{- with .Values.server.config.ca_subject }} country = [{{ .country | quote }}], organization = [{{ .organization | quote }}], common_name = {{ .common_name | quote }}, {{- end }} } } plugins { DataStore "sql" { plugin_data { database_type = "sqlite3" connection_string = "/run/spire/data/datastore.sqlite3" } } NodeAttestor "k8s_psat" { plugin_data { clusters = { {{ .Values.spire.clusterName | quote }} = { service_account_allow_list = ["{{ .Release.Namespace }}:{{ include "spire.serviceAccountName" . }}-agent"] } } } } KeyManager "disk" { plugin_data { keys_path = "/run/spire/data/keys.json" } } Notifier "k8sbundle" { plugin_data { namespace = "{{ .Release.Namespace }}" config_map = "{{ include "spire.fullname" . }}-bundle" } } {{- with .Values.server.config.upstreamAuthority.disk }} {{- if eq (.enabled | toString) "true" }} UpstreamAuthority "disk" { plugin_data { cert_file_path = "{{ .certFilePath }}" key_file_path = "{{ .keyFilePath }}" {{- if ne .bundleFilePath "" }} bundle_file_path = "{{ .bundleFilePath }}" {{- end }} } } {{- end }} {{- end }} } health_checks { listener_enabled = true bind_address = "0.0.0.0" bind_port = "8080" live_path = "/live" ready_path = "/ready" }