blob: a051576fb0295414af7108429b7f2c8c9333fd3b [file] [log] [blame]
Mohammed Naserb7b97d62022-03-12 16:30:00 -05001# Copyright (c) 2022 VEXXHOST, Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
Mohammed Naser2145fc32023-01-29 23:23:03 +000015_keystone_helm_values:
Mohammed Naserb7b97d62022-03-12 16:30:00 -050016 endpoints: "{{ openstack_helm_endpoints }}"
17 images:
Michiel Piscaer60d09f92023-01-20 18:58:55 +010018 tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('keystone') }}"
Mohammed Naserb7b97d62022-03-12 16:30:00 -050019 pod:
Mohammed Naserb7b97d62022-03-12 16:30:00 -050020 replicas:
21 api: 3
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020022 mounts:
23 keystone_api:
24 keystone_api:
vexxhost-botdb886582024-06-05 18:45:24 +020025 volumeMounts: "{{ keystone_domains | vexxhost.atmosphere.keystone_domains_to_mounts + [{'name': 'ca-certificates', 'mountPath': '/etc/ssl/certs/ca-certificates.crt', 'readOnly': true}] }}"
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020026 volumes:
27 - name: keystone-openid-metadata
28 configMap:
29 name: keystone-openid-metadata
vexxhost-botdb886582024-06-05 18:45:24 +020030 - name: ca-certificates
Mohammed Naser7ddb0412024-06-04 11:22:07 -040031 hostPath:
32 path: "{{ defaults_ca_certificates_path }}"
Mohammed Naserb7b97d62022-03-12 16:30:00 -050033 conf:
34 keystone:
35 DEFAULT:
36 log_config_append: null
37 auth:
38 methods: password,token,openid,application_credential
39 cors:
40 allowed_origins: "*"
Mohammed Naserc6e431b2024-03-15 01:21:44 -040041 database:
42 connection_recycle_time: 10
43 max_pool_size: 1
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020044 openid:
45 remote_id_attribute: HTTP_OIDC_ISS
Mohammed Naserb7b97d62022-03-12 16:30:00 -050046 federation:
Mohammed Naserb7b97d62022-03-12 16:30:00 -050047 # TODO(mnaser): Lookup using openstack_helm_endpoints
48 trusted_dashboard: "https://{{ openstack_helm_endpoints_horizon_api_host }}/auth/websso/"
ricolin2d8dd482022-07-07 06:55:02 +080049 oslo_messaging_notifications:
50 driver: noop
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020051 wsgi_keystone: |
52 LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
53 Listen 0.0.0.0:5000
54 TransferLog /dev/stdout
55 ErrorLog /dev/stderr
56 <VirtualHost *:5000>
57 # WSGI
58 WSGIDaemonProcess keystone-public processes=4 threads=1 user=keystone group=keystone display-name=%{GROUP}
59 WSGIProcessGroup keystone-public
60 WSGIScriptAlias / /var/www/cgi-bin/keystone/keystone-wsgi-public
61 WSGIApplicationGroup %{GLOBAL}
62 WSGIPassAuthorization On
63 # NOTE(mnaser): This is to by-pass large header limits for large tokens
64 LimitRequestFieldSize 16384
65 # OIDC
66 OIDCClaimPrefix "OIDC-"
67 OIDCMetadataDir /var/lib/apache2/oidc
68 OIDCSSLValidateServer "{{ keystone_oidc_ssl_validate_server }}"
69 OIDCCryptoPassphrase {{ keystone_oidc_crypto_passphrase }}
70 OIDCRedirectURI {{ keystone_oidc_redirect_uri }}
71 OIDCRedirectURLsAllowed {{ keystone_oidc_redirect_urls_allowed | join(' ') }}
72 # NOTE(mnaser): These are Atmosphere specific settings.
73 OIDCSessionType client-cookie:store_id_token
74 OIDCXForwardedHeaders X-Forwarded-Host X-Forwarded-Proto
75 <Location /v3/auth/OS-FEDERATION/identity_providers/redirect>
76 AuthType openid-connect
77 Require valid-user
78 </Location>
79 <Location /v3/auth/OS-FEDERATION/websso/openid>
80 Require valid-user
81 AuthType openid-connect
82 </Location>
83 {% for domain in keystone_domains %}
84 <Location /v3/OS-FEDERATION/identity_providers/{{ domain.name }}/protocols/openid/auth>
85 Require valid-user
86 AuthType oauth20
87 </Location>
88 <Location /v3/auth/OS-FEDERATION/identity_providers/{{ domain.name }}/protocols/openid/websso>
89 Require valid-user
90 AuthType openid-connect
Michiel Piscaer1f650852023-09-11 17:28:44 +020091 OIDCDiscoverURL {{ keystone_oidc_redirect_uri }}?iss={{ domain | vexxhost.atmosphere.urlencoded_issuer_from_domain }}
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020092 </Location>
93 {% endfor %}
94 </VirtualHost>
95 ks_domains: "{{ keystone_domains | vexxhost.atmosphere.to_ks_domains }}"
Mohammed Naserb7b97d62022-03-12 16:30:00 -050096 manifests:
97 job_credential_cleanup: false
98 ingress_api: false
99 service_ingress_api: false