blob: 625ff2f7364d87bf07647180f1ebe2c501b8bc6e [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:
25 volumeMounts: "{{ keystone_domains | vexxhost.atmosphere.keystone_domains_to_mounts }}"
26 volumes:
27 - name: keystone-openid-metadata
28 configMap:
29 name: keystone-openid-metadata
Mohammed Naserb7b97d62022-03-12 16:30:00 -050030 conf:
31 keystone:
32 DEFAULT:
33 log_config_append: null
34 auth:
35 methods: password,token,openid,application_credential
36 cors:
37 allowed_origins: "*"
Mohammed Naserc6e431b2024-03-15 01:21:44 -040038 database:
39 connection_recycle_time: 10
40 max_pool_size: 1
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020041 openid:
42 remote_id_attribute: HTTP_OIDC_ISS
Mohammed Naserb7b97d62022-03-12 16:30:00 -050043 federation:
Mohammed Naserb7b97d62022-03-12 16:30:00 -050044 # TODO(mnaser): Lookup using openstack_helm_endpoints
45 trusted_dashboard: "https://{{ openstack_helm_endpoints_horizon_api_host }}/auth/websso/"
ricolin2d8dd482022-07-07 06:55:02 +080046 oslo_messaging_notifications:
47 driver: noop
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020048 wsgi_keystone: |
49 LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
50 Listen 0.0.0.0:5000
51 TransferLog /dev/stdout
52 ErrorLog /dev/stderr
53 <VirtualHost *:5000>
54 # WSGI
55 WSGIDaemonProcess keystone-public processes=4 threads=1 user=keystone group=keystone display-name=%{GROUP}
56 WSGIProcessGroup keystone-public
57 WSGIScriptAlias / /var/www/cgi-bin/keystone/keystone-wsgi-public
58 WSGIApplicationGroup %{GLOBAL}
59 WSGIPassAuthorization On
60 # NOTE(mnaser): This is to by-pass large header limits for large tokens
61 LimitRequestFieldSize 16384
62 # OIDC
63 OIDCClaimPrefix "OIDC-"
64 OIDCMetadataDir /var/lib/apache2/oidc
65 OIDCSSLValidateServer "{{ keystone_oidc_ssl_validate_server }}"
66 OIDCCryptoPassphrase {{ keystone_oidc_crypto_passphrase }}
67 OIDCRedirectURI {{ keystone_oidc_redirect_uri }}
68 OIDCRedirectURLsAllowed {{ keystone_oidc_redirect_urls_allowed | join(' ') }}
69 # NOTE(mnaser): These are Atmosphere specific settings.
70 OIDCSessionType client-cookie:store_id_token
71 OIDCXForwardedHeaders X-Forwarded-Host X-Forwarded-Proto
72 <Location /v3/auth/OS-FEDERATION/identity_providers/redirect>
73 AuthType openid-connect
74 Require valid-user
75 </Location>
76 <Location /v3/auth/OS-FEDERATION/websso/openid>
77 Require valid-user
78 AuthType openid-connect
79 </Location>
80 {% for domain in keystone_domains %}
81 <Location /v3/OS-FEDERATION/identity_providers/{{ domain.name }}/protocols/openid/auth>
82 Require valid-user
83 AuthType oauth20
84 </Location>
85 <Location /v3/auth/OS-FEDERATION/identity_providers/{{ domain.name }}/protocols/openid/websso>
86 Require valid-user
87 AuthType openid-connect
Michiel Piscaer1f650852023-09-11 17:28:44 +020088 OIDCDiscoverURL {{ keystone_oidc_redirect_uri }}?iss={{ domain | vexxhost.atmosphere.urlencoded_issuer_from_domain }}
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020089 </Location>
90 {% endfor %}
91 </VirtualHost>
92 ks_domains: "{{ keystone_domains | vexxhost.atmosphere.to_ks_domains }}"
Mohammed Naserb7b97d62022-03-12 16:30:00 -050093 manifests:
94 job_credential_cleanup: false
95 ingress_api: false
96 service_ingress_api: false