blob: f40d8589258f487c21c9c7dc2249cfde4d1cfa79 [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:
Mohammed Naser0824e922024-06-05 08:47:55 -040025 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
Mohammed Naser0824e922024-06-05 08:47:55 -040030 - name: ca-certificates
Mohammed Naser6a8b6ca2024-05-30 17:25:30 -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
vexxhost-bot6f0fef52024-06-21 06:53:51 +020048 trusted_dashboard:
49 type: multistring
50 values:
51 - "http://localhost:9990/auth/websso/"
52 - "https://{{ openstack_helm_endpoints_horizon_api_host }}/auth/websso/"
ricolin2d8dd482022-07-07 06:55:02 +080053 oslo_messaging_notifications:
54 driver: noop
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020055 wsgi_keystone: |
56 LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
57 Listen 0.0.0.0:5000
58 TransferLog /dev/stdout
59 ErrorLog /dev/stderr
60 <VirtualHost *:5000>
61 # WSGI
62 WSGIDaemonProcess keystone-public processes=4 threads=1 user=keystone group=keystone display-name=%{GROUP}
63 WSGIProcessGroup keystone-public
64 WSGIScriptAlias / /var/www/cgi-bin/keystone/keystone-wsgi-public
65 WSGIApplicationGroup %{GLOBAL}
66 WSGIPassAuthorization On
67 # NOTE(mnaser): This is to by-pass large header limits for large tokens
68 LimitRequestFieldSize 16384
69 # OIDC
70 OIDCClaimPrefix "OIDC-"
71 OIDCMetadataDir /var/lib/apache2/oidc
72 OIDCSSLValidateServer "{{ keystone_oidc_ssl_validate_server }}"
73 OIDCCryptoPassphrase {{ keystone_oidc_crypto_passphrase }}
74 OIDCRedirectURI {{ keystone_oidc_redirect_uri }}
75 OIDCRedirectURLsAllowed {{ keystone_oidc_redirect_urls_allowed | join(' ') }}
76 # NOTE(mnaser): These are Atmosphere specific settings.
77 OIDCSessionType client-cookie:store_id_token
78 OIDCXForwardedHeaders X-Forwarded-Host X-Forwarded-Proto
79 <Location /v3/auth/OS-FEDERATION/identity_providers/redirect>
80 AuthType openid-connect
81 Require valid-user
82 </Location>
83 <Location /v3/auth/OS-FEDERATION/websso/openid>
84 Require valid-user
85 AuthType openid-connect
86 </Location>
87 {% for domain in keystone_domains %}
88 <Location /v3/OS-FEDERATION/identity_providers/{{ domain.name }}/protocols/openid/auth>
89 Require valid-user
90 AuthType oauth20
91 </Location>
92 <Location /v3/auth/OS-FEDERATION/identity_providers/{{ domain.name }}/protocols/openid/websso>
93 Require valid-user
94 AuthType openid-connect
Michiel Piscaer1f650852023-09-11 17:28:44 +020095 OIDCDiscoverURL {{ keystone_oidc_redirect_uri }}?iss={{ domain | vexxhost.atmosphere.urlencoded_issuer_from_domain }}
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020096 </Location>
97 {% endfor %}
98 </VirtualHost>
99 ks_domains: "{{ keystone_domains | vexxhost.atmosphere.to_ks_domains }}"
Mohammed Naserb7b97d62022-03-12 16:30:00 -0500100 manifests:
101 job_credential_cleanup: false
102 ingress_api: false
103 service_ingress_api: false