blob: 9a7acd5e6b654ae1199f519b1abd1f498d67c51d [file] [log] [blame]
David Garcia009a5d62020-08-27 16:53:44 +02001# Copyright 2020 Canonical Ltd.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain 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,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14options:
David Garcia009a5d62020-08-27 16:53:44 +020015 max_file_size:
16 type: int
17 description: |
18 The maximum file size, in megabytes.
19
20 If there is a reverse proxy in front of Keystone, it may
21 need to be configured to handle the requested size.
22 default: 5
David Garciac35943e2021-06-28 16:50:42 +020023 ingress_class:
24 type: string
25 description: |
26 Ingress class name. This is useful for selecting the ingress to be used
27 in case there are multiple ingresses in the underlying k8s clusters.
David Garcia009a5d62020-08-27 16:53:44 +020028 ingress_whitelist_source_range:
29 type: string
30 description: |
31 A comma-separated list of CIDRs to store in the
32 ingress.kubernetes.io/whitelist-source-range annotation.
33
34 This can be used to lock down access to
35 Keystone based on source IP address.
36 default: ""
37 tls_secret_name:
38 type: string
39 description: TLS Secret name
40 default: ""
41 site_url:
42 type: string
43 description: Ingress URL
44 default: ""
David Garcia009a5d62020-08-27 16:53:44 +020045 region_id:
46 type: string
47 description: Region ID to be created when starting the service
48 default: RegionOne
49 keystone_db_password:
50 type: string
51 description: Keystone DB Password
52 default: admin
sousaedu996a5602021-05-03 00:22:43 +020053 mysql_host:
54 type: string
55 description: MySQL Host (external database)
56 mysql_port:
57 type: int
58 description: MySQL Port (external database)
59 mysql_root_password:
60 type: string
61 description: MySQL Root Password (external database)
David Garcia009a5d62020-08-27 16:53:44 +020062 admin_username:
63 type: string
64 description: Admin username to be created when starting the service
65 default: admin
66 admin_password:
67 type: string
68 description: Admin password to be created when starting the service
69 default: admin
70 admin_project:
71 type: string
72 description: Admin project to be created when starting the service
73 default: admin
74 service_username:
75 type: string
76 description: Service Username to be created when starting the service
77 default: nbi
78 service_password:
79 type: string
80 description: Service Password to be created when starting the service
81 default: nbi
82 service_project:
83 type: string
84 description: Service Project to be created when starting the service
85 default: service
86 user_domain_name:
87 type: string
88 description: User domain name (Hardcoded in the container start.sh script)
89 default: default
90 project_domain_name:
91 type: string
92 description: |
93 Project domain name (Hardcoded in the container start.sh script)
94 default: default
sousaedu738bf6f2020-10-10 00:25:26 +010095 token_expiration:
96 type: int
97 description: Token keys expiration in seconds
98 default: 172800
sousaedu126a4432020-09-23 13:28:25 +010099 ldap_enabled:
100 type: boolean
101 description: Boolean to enable/disable LDAP authentication
102 default: false
103 ldap_authentication_domain_name:
104 type: string
105 description: Name of the domain which use LDAP authentication
106 default: ""
107 ldap_url:
108 type: string
109 description: URL of the LDAP server
110 default: "ldap://localhost"
111 ldap_bind_user:
112 type: string
113 description: User to bind and search for users
114 default: ""
115 ldap_bind_password:
116 type: string
117 description: Password to bind and search for users
118 default: ""
sousaedu0be373d2020-10-20 01:06:32 +0100119 ldap_chase_referrals:
120 type: string
121 description: |
122 Sets keystone’s referral chasing behavior across directory partitions.
123 If left unset, the system’s default behavior will be used.
124 default: ""
125 ldap_page_size:
126 type: int
127 description: |
128 Defines the maximum number of results per page that keystone should
129 request from the LDAP server when listing objects. A value of zero (0)
130 disables paging.
131 default: 0
sousaedu126a4432020-09-23 13:28:25 +0100132 ldap_user_tree_dn:
133 type: string
134 description: |
135 Root of the tree in LDAP server in which Keystone will search for users
136 default: ""
137 ldap_user_objectclass:
138 type: string
139 description: |
140 LDAP object class that Keystone will filter on within user_tree_dn to
141 find user objects. Any objects of other classes will be ignored.
142 default: inetOrgPerson
143 ldap_user_id_attribute:
144 type: string
145 description: |
146 This set of options define the mapping to LDAP attributes for the three
147 key user attributes supported by Keystone. The LDAP attribute chosen for
148 user_id must be something that is immutable for a user and no more than
149 64 characters in length. Notice that Distinguished Name (DN) may be
150 longer than 64 characters and thus is not suitable. An uid, or mail may
151 be appropriate.
152 default: cn
153 ldap_user_name_attribute:
154 type: string
155 description: |
156 This set of options define the mapping to LDAP attributes for the three
157 key user attributes supported by Keystone. The LDAP attribute chosen for
158 user_id must be something that is immutable for a user and no more than
159 64 characters in length. Notice that Distinguished Name (DN) may be
160 longer than 64 characters and thus is not suitable. An uid, or mail may
161 be appropriate.
162 default: sn
163 ldap_user_pass_attribute:
164 type: string
165 description: |
166 This set of options define the mapping to LDAP attributes for the three
167 key user attributes supported by Keystone. The LDAP attribute chosen for
168 user_id must be something that is immutable for a user and no more than
169 64 characters in length. Notice that Distinguished Name (DN) may be
170 longer than 64 characters and thus is not suitable. An uid, or mail may
171 be appropriate.
172 default: userPassword
173 ldap_user_filter:
174 type: string
175 description: |
176 This filter option allow additional filter (over and above
177 user_objectclass) to be included into the search of user. One common use
178 of this is to provide more efficient searching, where the recommended
179 search for user objects is (&(objectCategory=person)(objectClass=user)).
180 By specifying user_objectclass as user and user_filter as
181 objectCategory=person in the Keystone configuration file, this can be
182 achieved.
183 default: ""
184 ldap_user_enabled_attribute:
185 type: string
186 description: |
187 In Keystone, a user entity can be either enabled or disabled. Setting
188 the above option will give a mapping to an equivalent attribute in LDAP,
189 allowing your LDAP management tools to disable a user.
190 default: enabled
191 ldap_user_enabled_mask:
192 type: int
193 description: |
194 Some LDAP schemas, rather than having a dedicated attribute for user
195 enablement, use a bit within a general control attribute (such as
196 userAccountControl) to indicate this. Setting user_enabled_mask will
197 cause Keystone to look at only the status of this bit in the attribute
198 specified by user_enabled_attribute, with the bit set indicating the
199 user is enabled.
200 default: 0
201 ldap_user_enabled_default:
sousaedu21a9d212021-04-20 11:10:45 +0200202 type: string
sousaedu126a4432020-09-23 13:28:25 +0100203 description: |
204 Most LDAP servers use a boolean or bit in a control field to indicate
205 enablement. However, some schemas might use an integer value in an
206 attribute. In this situation, set user_enabled_default to the integer
207 value that represents a user being enabled.
David Garcia69bc1ab2021-05-05 16:51:40 +0200208 default: "true"
sousaedu126a4432020-09-23 13:28:25 +0100209 ldap_user_enabled_invert:
210 type: boolean
211 description: |
212 Some LDAP schemas have an “account locked” attribute, which is the
213 equivalent to account being “disabled.” In order to map this to the
214 Keystone enabled attribute, you can utilize the user_enabled_invert
215 setting in conjunction with user_enabled_attribute to map the lock
216 status to disabled in Keystone.
217 default: false
sousaedu0be373d2020-10-20 01:06:32 +0100218 ldap_group_objectclass:
219 type: string
220 description: The LDAP object class to use for groups.
221 default: groupOfNames
222 ldap_group_tree_dn:
223 type: string
224 description: The search base to use for groups.
225 default: ""
sousaedu126a4432020-09-23 13:28:25 +0100226 ldap_use_starttls:
227 type: boolean
228 description: |
229 Enable Transport Layer Security (TLS) for providing a secure connection
230 from Keystone to LDAP (StartTLS, not LDAPS).
231 default: false
232 ldap_tls_cacert_base64:
233 type: string
234 description: |
235 CA certificate in Base64 format (if you have the PEM file, text inside
236 "-----BEGIN CERTIFICATE-----"/"-----END CERTIFICATE-----" tags).
237 default: ""
238 ldap_tls_req_cert:
239 type: string
240 description: |
241 Defines how the certificates are checked for validity in the client
242 (i.e., Keystone end) of the secure connection (this doesn’t affect what
243 level of checking the server is doing on the certificates it receives
244 from Keystone). Possible values are "demand", "never", and "allow". The
245 default of demand means the client always checks the certificate and
246 will drop the connection if it is not provided or invalid. never is the
247 opposite—it never checks it, nor requires it to be provided. allow means
248 that if it is not provided then the connection is allowed to continue,
249 but if it is provided it will be checked—and if invalid, the connection
250 will be dropped.
251 default: demand