blob: 1cc61ef6ee0057b0aa14451f47749adddab8ee48 [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: "*"
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020038 openid:
39 remote_id_attribute: HTTP_OIDC_ISS
Mohammed Naserb7b97d62022-03-12 16:30:00 -050040 federation:
Mohammed Naserb7b97d62022-03-12 16:30:00 -050041 # TODO(mnaser): Lookup using openstack_helm_endpoints
42 trusted_dashboard: "https://{{ openstack_helm_endpoints_horizon_api_host }}/auth/websso/"
ricolin2d8dd482022-07-07 06:55:02 +080043 oslo_messaging_notifications:
44 driver: noop
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020045 wsgi_keystone: |
46 LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
47 Listen 0.0.0.0:5000
48 TransferLog /dev/stdout
49 ErrorLog /dev/stderr
50 <VirtualHost *:5000>
51 # WSGI
52 WSGIDaemonProcess keystone-public processes=4 threads=1 user=keystone group=keystone display-name=%{GROUP}
53 WSGIProcessGroup keystone-public
54 WSGIScriptAlias / /var/www/cgi-bin/keystone/keystone-wsgi-public
55 WSGIApplicationGroup %{GLOBAL}
56 WSGIPassAuthorization On
57 # NOTE(mnaser): This is to by-pass large header limits for large tokens
58 LimitRequestFieldSize 16384
59 # OIDC
60 OIDCClaimPrefix "OIDC-"
61 OIDCMetadataDir /var/lib/apache2/oidc
62 OIDCSSLValidateServer "{{ keystone_oidc_ssl_validate_server }}"
63 OIDCCryptoPassphrase {{ keystone_oidc_crypto_passphrase }}
64 OIDCRedirectURI {{ keystone_oidc_redirect_uri }}
65 OIDCRedirectURLsAllowed {{ keystone_oidc_redirect_urls_allowed | join(' ') }}
66 # NOTE(mnaser): These are Atmosphere specific settings.
67 OIDCSessionType client-cookie:store_id_token
68 OIDCXForwardedHeaders X-Forwarded-Host X-Forwarded-Proto
69 <Location /v3/auth/OS-FEDERATION/identity_providers/redirect>
70 AuthType openid-connect
71 Require valid-user
72 </Location>
73 <Location /v3/auth/OS-FEDERATION/websso/openid>
74 Require valid-user
75 AuthType openid-connect
76 </Location>
77 {% for domain in keystone_domains %}
78 <Location /v3/OS-FEDERATION/identity_providers/{{ domain.name }}/protocols/openid/auth>
79 Require valid-user
80 AuthType oauth20
81 </Location>
82 <Location /v3/auth/OS-FEDERATION/identity_providers/{{ domain.name }}/protocols/openid/websso>
83 Require valid-user
84 AuthType openid-connect
85 OIDCDiscoverURL {{ keystone_oidc_redirect_uri }}?iss={{ domain | urlencoded_issuer_from_domain }}
86 </Location>
87 {% endfor %}
88 </VirtualHost>
89 ks_domains: "{{ keystone_domains | vexxhost.atmosphere.to_ks_domains }}"
Mohammed Naserb7b97d62022-03-12 16:30:00 -050090 manifests:
91 job_credential_cleanup: false
92 ingress_api: false
93 service_ingress_api: false