blob: 36de4ee37556e2aef095f29b751cb324e2ce3477 [file] [log] [blame]
Mohammed Naserf3f59a72023-01-15 21:02:04 -05001# Licensed under the Apache License, Version 2.0 (the "License");
2# you may not use this file except in compliance with the License.
3# You may obtain a copy of the License at
4#
5# http://www.apache.org/licenses/LICENSE-2.0
6#
7# Unless required by applicable law or agreed to in writing, software
8# distributed under the License is distributed on an "AS IS" BASIS,
9# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10# See the License for the specific language governing permissions and
11# limitations under the License.
12
13# Default values for horizon.
14# This is a YAML-formatted file.
15# Declare name/value pairs to be passed into your templates.
16# name: value
17
18---
19images:
20 tags:
21 db_init: docker.io/openstackhelm/heat:stein-ubuntu_bionic
22 horizon_db_sync: docker.io/openstackhelm/horizon:stein-ubuntu_bionic
23 db_drop: docker.io/openstackhelm/heat:stein-ubuntu_bionic
24 horizon: docker.io/openstackhelm/horizon:stein-ubuntu_bionic
Rico Linc6ac7a12023-11-03 00:25:40 +080025 test: docker.io/openstackhelm/osh-selenium:latest-ubuntu_focal
Mohammed Naserf3f59a72023-01-15 21:02:04 -050026 dep_check: quay.io/airshipit/kubernetes-entrypoint:v1.0.0
27 image_repo_sync: docker.io/docker:17.07.0
28 pull_policy: "IfNotPresent"
29 local_registry:
30 active: false
31 exclude:
32 - dep_check
33 - image_repo_sync
34
Rico Linc6ac7a12023-11-03 00:25:40 +080035# Use selenium v4 syntax
36selenium_v4: true
37
Mohammed Naserf3f59a72023-01-15 21:02:04 -050038release_group: null
39
40labels:
41 dashboard:
42 node_selector_key: openstack-control-plane
43 node_selector_value: enabled
44 job:
45 node_selector_key: openstack-control-plane
46 node_selector_value: enabled
47 test:
48 node_selector_key: openstack-control-plane
49 node_selector_value: enabled
50
51network:
52 dashboard:
53 ingress:
54 public: true
55 classes:
56 namespace: "nginx"
57 cluster: "nginx-cluster"
58 annotations:
59 nginx.ingress.kubernetes.io/rewrite-target: /
60 external_policy_local: false
61 node_port:
62 enabled: false
63 port: 31000
64
65conf:
66 software:
67 apache2:
68 binary: apache2
69 start_parameters: -DFOREGROUND
70 site_dir: /etc/apache2/sites-available
71 conf_dir: /etc/apache2/conf-available
72 mods_dir: /etc/apache2/mods-available
73 a2enmod:
74 - headers
75 - rewrite
76 a2dismod:
77 - status
78 horizon:
79 branding:
80 logo:
81 logo_splash:
82 favicon:
83 apache: |
84 <IfVersion < 2.4>
85 Listen 0.0.0.0:{{ tuple "dashboard" "internal" "web" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
86 </IfVersion>
87 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
88 LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
89
90 SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
91 CustomLog /dev/stdout combined env=!forwarded
92 CustomLog /dev/stdout proxy env=forwarded
93
94 <VirtualHost *:{{ tuple "dashboard" "internal" "web" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}>
95 WSGIScriptReloading On
96 WSGIDaemonProcess horizon-http processes=5 threads=1 user=horizon group=horizon display-name=%{GROUP} python-path=/var/lib/kolla/venv/lib/python2.7/site-packages
97 WSGIProcessGroup horizon-http
98 WSGIScriptAlias / /var/www/cgi-bin/horizon/django.wsgi
99 WSGIPassAuthorization On
100 RewriteEngine on
101 RewriteCond %{REQUEST_METHOD} !^(POST|PUT|GET|DELETE|PATCH)
102 RewriteRule .* - [F]
103
104 <Location "/">
105 Require all granted
106 </Location>
107
108 Alias /static /var/www/html/horizon
109 <Location "/static">
110 SetHandler static
111 </Location>
112
113 <IfVersion >= 2.4>
114 ErrorLogFormat "%{cu}t %M"
115 </IfVersion>
116 ErrorLog /dev/stdout
117 TransferLog /dev/stdout
118
119 SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
120 CustomLog /dev/stdout combined env=!forwarded
121 CustomLog /dev/stdout proxy env=forwarded
122 </Virtualhost>
123 security: |
124 #
125 # Disable access to the entire file system except for the directories that
126 # are explicitly allowed later.
127 #
128 # This currently breaks the configurations that come with some web application
129 # Debian packages.
130 #
131 #<Directory />
132 # AllowOverride None
133 # Require all denied
134 #</Directory>
135
136 # Changing the following options will not really affect the security of the
137 # server, but might make attacks slightly more difficult in some cases.
138
139 #
140 # ServerTokens
141 # This directive configures what you return as the Server HTTP response
142 # Header. The default is 'Full' which sends information about the OS-Type
143 # and compiled in modules.
144 # Set to one of: Full | OS | Minimal | Minor | Major | Prod
145 # where Full conveys the most information, and Prod the least.
146 ServerTokens Prod
147
148 #
149 # Optionally add a line containing the server version and virtual host
150 # name to server-generated pages (internal error documents, FTP directory
151 # listings, mod_status and mod_info output etc., but not CGI generated
152 # documents or custom error documents).
153 # Set to "EMail" to also include a mailto: link to the ServerAdmin.
154 # Set to one of: On | Off | EMail
155 ServerSignature Off
156
157 #
158 # Allow TRACE method
159 #
160 # Set to "extended" to also reflect the request body (only for testing and
161 # diagnostic purposes).
162 #
163 # Set to one of: On | Off | extended
164 TraceEnable Off
165
166 #
167 # Forbid access to version control directories
168 #
169 # If you use version control systems in your document root, you should
170 # probably deny access to their directories. For example, for subversion:
171 #
172 #<DirectoryMatch "/\.svn">
173 # Require all denied
174 #</DirectoryMatch>
175
176 #Security-Settings
177 # Setting this header will prevent MSIE from interpreting files as something
178 # else than declared by the content type in the HTTP headers.
179 # Requires mod_headers to be enabled.
180 #
181 Header set X-Content-Type-Options: "nosniff"
182 Header set X-Permitted-Cross-Domain-Policies: "none"
183 # Setting this header will prevent other sites from embedding pages from this
184 # site as frames. This defends against clickjacking attacks.
185 # Requires mod_headers to be enabled.
186 #
187 local_settings_d: {}
188 ## For example, _50_monasca_ui_settings.py
189 # _50_monasca_ui_settings: |
190 # from django.conf import settings
191 # # Grafana button titles/file names (global across all projects):
192 # GRAFANA_LINKS = []
193 # DASHBOARDS = getattr(settings, 'GRAFANA_LINKS', GRAFANA_LINKS)
194
195 local_settings:
196 config:
197 # Use "True" and "False" as Titlecase strings with quotes, boolean
198 # values will not work
199 horizon_secret_key: 9aee62c0-5253-4a86-b189-e0fb71fa503c
200 debug: "False"
201 use_ssl: "False"
202 endpoint_type: "internalURL"
203 keystone_multidomain_support: "True"
204 keystone_default_domain: Default
205 disable_password_reveal: "True"
206 show_openrc_file: "True"
207 csrf_cookie_secure: "False"
208 csrf_cookie_httponly: "False"
209 enforce_password_check: "True"
210 # Set enable_pwd_validator to true to enforce password validator settings.
211 enable_pwd_validator: false
212 pwd_validator_regex: '(?=.*[a-zA-Z])(?=.*\d).{8,}|(?=.*\d)(?=.*\W).{8,}|(?=.*\W)(?=.*[a-zA-Z]).{8,}'
213 pwd_validator_help_text: '_("Your password must be at least eight (8) characters in length and must include characters from at least two (2) of these groupings: alpha, numeric, and special characters.")'
214 session_cookie_secure: "False"
215 session_cookie_httponly: "False"
216 secure_proxy_ssl_header: false
217 password_autocomplete: "False"
218 disallow_iframe_embed: "False"
219 allowed_hosts:
220 - '*'
221 horizon_images_upload_mode: 'legacy'
222 openstack_cinder_features:
223 enable_backup: "True"
224 openstack_neutron_network:
225 enable_router: "True"
226 enable_quotas: "True"
227 enable_ipv6: "True"
228 enable_distributed_router: "False"
229 enable_ha_router: "False"
230 enable_lb: "True"
231 enable_firewall: "True"
232 enable_vpn: "True"
233 enable_fip_topology_check: "True"
234 openstack_enable_password_retrieve: "False"
235 auth:
236 sso:
237 enabled: False
238 initial_choice: "credentials"
239 idp_mapping:
240 - name: "acme_oidc"
241 label: "Acme Corporation - OpenID Connect"
242 idp: "myidp1"
243 protocol: "oidc"
244 - name: "acme_saml2"
245 label: "Acme Corporation - SAML2"
246 idp: "myidp2"
247 protocol: "saml2"
248 log_level: "DEBUG"
249 # Pass any settings to the end of local_settings.py
250 raw: {}
251 openstack_api_versions:
Mohammed Naserbcdd25c2023-01-18 03:38:47 +0000252 container_infra: "1.10"
Mohammed Naserf3f59a72023-01-15 21:02:04 -0500253 template: |
254 import os
255
Mohammed Naserda994232024-04-13 12:34:01 -0400256 from django.utils.translation import gettext_lazy as _
Mohammed Naserf3f59a72023-01-15 21:02:04 -0500257
258 from openstack_dashboard import exceptions
259
260 DEBUG = {{ .Values.conf.horizon.local_settings.config.debug }}
261 TEMPLATE_DEBUG = DEBUG
262
263 COMPRESS_OFFLINE = True
264 COMPRESS_CSS_HASHING_METHOD = "hash"
265
266 # WEBROOT is the location relative to Webserver root
267 # should end with a slash.
268 WEBROOT = '/'
269 # LOGIN_URL = WEBROOT + 'auth/login/'
270 # LOGOUT_URL = WEBROOT + 'auth/logout/'
271 #
272 # LOGIN_REDIRECT_URL can be used as an alternative for
273 # HORIZON_CONFIG.user_home, if user_home is not set.
274 # Do not set it to '/home/', as this will cause circular redirect loop
275 # LOGIN_REDIRECT_URL = WEBROOT
276
277 # Required for Django 1.5.
278 # If horizon is running in production (DEBUG is False), set this
279 # with the list of host/domain names that the application can serve.
280 # For more information see:
281 # https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
282 ALLOWED_HOSTS = [{{ include "helm-toolkit.utils.joinListWithCommaAndSingleQuotes" .Values.conf.horizon.local_settings.config.allowed_hosts }},'%s' % (os.environ.get("MY_POD_IP"))]
283
284 # Set SSL proxy settings:
285 # For Django 1.4+ pass this header from the proxy after terminating the SSL,
286 # and don't forget to strip it from the client's request.
287 # For more information see:
288 # https://docs.djangoproject.com/en/1.4/ref/settings/#secure-proxy-ssl-header
289 #SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https')
290 # https://docs.djangoproject.com/en/1.5/ref/settings/#secure-proxy-ssl-header
291 {{- if .Values.conf.horizon.local_settings.config.secure_proxy_ssl_header }}
292 SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
293 {{- end }}
294
295 # If Horizon is being served through SSL, then uncomment the following two
296 # settings to better secure the cookies from security exploits
297 USE_SSL = {{ .Values.conf.horizon.local_settings.config.use_ssl }}
298 CSRF_COOKIE_SECURE = {{ .Values.conf.horizon.local_settings.config.csrf_cookie_secure }}
299 CSRF_COOKIE_HTTPONLY = {{ .Values.conf.horizon.local_settings.config.csrf_cookie_httponly }}
300 SESSION_COOKIE_SECURE = {{ .Values.conf.horizon.local_settings.config.session_cookie_secure }}
301
302 SESSION_COOKIE_HTTPONLY = {{ .Values.conf.horizon.local_settings.config.session_cookie_httponly }}
303
304 # Overrides for OpenStack API versions. Use this setting to force the
305 # OpenStack dashboard to use a specific API version for a given service API.
306 # Versions specified here should be integers or floats, not strings.
307 # NOTE: The version should be formatted as it appears in the URL for the
308 # service API. For example, The identity service APIs have inconsistent
309 # use of the decimal point, so valid options would be 2.0 or 3.
310 #OPENSTACK_API_VERSIONS = {
311 # "data-processing": 1.1,
312 # "identity": 3,
313 # "volume": 2,
314 #}
315
316 OPENSTACK_API_VERSIONS = {
317 "identity": 3,
Mohammed Naser1402ed02023-02-19 22:48:59 +0000318 "container-infra": "{{ .Values.conf.horizon.local_settings.config.openstack_api_versions.container_infra }}"
Mohammed Naserf3f59a72023-01-15 21:02:04 -0500319 }
320
321 # Set this to True if running on multi-domain model. When this is enabled, it
322 # will require user to enter the Domain name in addition to username for login.
323 OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = {{ .Values.conf.horizon.local_settings.config.keystone_multidomain_support }}
324
325 # Overrides the default domain used when running on single-domain model
326 # with Keystone V3. All entities will be created in the default domain.
327 OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = '{{ .Values.conf.horizon.local_settings.config.keystone_default_domain }}'
328
329 # Set Console type:
330 # valid options are "AUTO"(default), "VNC", "SPICE", "RDP", "SERIAL" or None
331 # Set to None explicitly if you want to deactivate the console.
332 #CONSOLE_TYPE = "AUTO"
333
334 # Default OpenStack Dashboard configuration.
335 HORIZON_CONFIG = {
336 'user_home': 'openstack_dashboard.views.get_user_home',
337 'ajax_queue_limit': 10,
338 'auto_fade_alerts': {
339 'delay': 3000,
340 'fade_duration': 1500,
341 'types': ['alert-success', 'alert-info']
342 },
343 'help_url': "http://docs.openstack.org",
344 'exceptions': {'recoverable': exceptions.RECOVERABLE,
345 'not_found': exceptions.NOT_FOUND,
346 'unauthorized': exceptions.UNAUTHORIZED},
347 'modal_backdrop': 'static',
348 'angular_modules': [],
349 'js_files': [],
350 'js_spec_files': [],
351 }
352
353 {{- if .Values.conf.horizon.local_settings.config.enable_pwd_validator }}
354 # Specify a regular expression to validate user passwords.
355 HORIZON_CONFIG["password_validator"] = {
356 "regex": '{{ .Values.conf.horizon.local_settings.config.pwd_validator_regex }}',
357 "help_text": {{ .Values.conf.horizon.local_settings.config.pwd_validator_help_text }},
358 }
359 {{- end }}
360
361 # Disable simplified floating IP address management for deployments with
362 # multiple floating IP pools or complex network requirements.
363 #HORIZON_CONFIG["simple_ip_management"] = False
364
365 # Turn off browser autocompletion for forms including the login form and
366 # the database creation workflow if so desired.
367 HORIZON_CONFIG["password_autocomplete"] = '{{ .Values.conf.horizon.local_settings.config.password_autocomplete }}'
368
369 # Setting this to True will disable the reveal button for password fields,
370 # including on the login form.
371 HORIZON_CONFIG["disable_password_reveal"] = {{ .Values.conf.horizon.local_settings.config.disable_password_reveal }}
372
373 LOCAL_PATH = '/tmp'
374
375 # Set custom secret key:
376 # You can either set it to a specific value or you can let horizon generate a
377 # default secret key that is unique on this machine, e.i. regardless of the
378 # amount of Python WSGI workers (if used behind Apache+mod_wsgi): However,
379 # there may be situations where you would want to set this explicitly, e.g.
380 # when multiple dashboard instances are distributed on different machines
381 # (usually behind a load-balancer). Either you have to make sure that a session
382 # gets all requests routed to the same dashboard instance or you set the same
383 # SECRET_KEY for all of them.
384 SECRET_KEY='{{ .Values.conf.horizon.local_settings.config.horizon_secret_key }}'
385
386 CACHES = {
387 'default': {
Mohammed Naserda994232024-04-13 12:34:01 -0400388 'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
Mohammed Naserf3f59a72023-01-15 21:02:04 -0500389 'LOCATION': '{{ tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" }}',
390 }
391 }
392 DATABASES = {
393 'default': {
394 # Database configuration here
395 'ENGINE': 'django.db.backends.mysql',
396 'NAME': '{{ .Values.endpoints.oslo_db.path | base }}',
397 'USER': '{{ .Values.endpoints.oslo_db.auth.horizon.username }}',
398 'PASSWORD': '{{ .Values.endpoints.oslo_db.auth.horizon.password }}',
399 'HOST': '{{ tuple "oslo_db" "internal" . | include "helm-toolkit.endpoints.hostname_fqdn_endpoint_lookup" }}',
400 'default-character-set': 'utf8',
401 {{- if .Values.manifests.certificates }}
402 'OPTIONS':{
403 'ssl': {
404 'ca': '/etc/mysql/certs/ca.crt',
405 'cert': '/etc/mysql/certs/tls.crt',
406 'key': '/etc/mysql/certs/tls.key'
407 }
408 },
409 {{- end }}
410 'PORT': '{{ tuple "oslo_db" "internal" "mysql" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}'
411 }
412 }
413 SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
414
415 # Send email to the console by default
416 EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
417 # Or send them to /dev/null
418 #EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend'
419
420 # Configure these for your outgoing email host
421 #EMAIL_HOST = 'smtp.my-company.com'
422 #EMAIL_PORT = 25\\
423 #EMAIL_HOST_USER = 'djangomail'
424 #EMAIL_HOST_PASSWORD = 'top-secret!'
425
426 # For multiple regions uncomment this configuration, and add (endpoint, title).
427 #AVAILABLE_REGIONS = [
428 # ('http://cluster1.example.com:5000/v2.0', 'cluster1'),
429 # ('http://cluster2.example.com:5000/v2.0', 'cluster2'),
430 #]
431
432 OPENSTACK_KEYSTONE_URL = "{{ tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" }}"
433 OPENSTACK_KEYSTONE_DEFAULT_ROLE = "member"
434
435 # This setting specifies the name of the header with remote IP address. If not present,
436 # then REMOTE_ADDR header is used. The commom value for this setting is HTTP_X_REAL_IP
437 # or HTTP_X_FORWARDED_FORx
438 SECURE_PROXY_ADDR_HEADER = 'HTTP_X_FORWARDED_FOR'
439
440 {{- if .Values.conf.horizon.local_settings.config.auth.sso.enabled }}
441 # Enables keystone web single-sign-on if set to True.
442 WEBSSO_ENABLED = True
443
444 # Determines which authentication choice to show as default.
445 WEBSSO_INITIAL_CHOICE = "{{ .Values.conf.horizon.local_settings.config.auth.sso.initial_choice }}"
446
447 # The list of authentication mechanisms
448 # which include keystone federation protocols.
449 # Current supported protocol IDs are 'saml2' and 'oidc'
450 # which represent SAML 2.0, OpenID Connect respectively.
451 # Do not remove the mandatory credentials mechanism.
452 WEBSSO_CHOICES = (
453 ("credentials", _("Keystone Credentials")),
454 {{- range $i, $sso := .Values.conf.horizon.local_settings.config.auth.idp_mapping }}
455 ({{ $sso.name | quote }}, {{ $sso.label | quote }}),
456 {{- end }}
457 )
458
459 WEBSSO_IDP_MAPPING = {
460 {{- range $i, $sso := .Values.conf.horizon.local_settings.config.auth.idp_mapping }}
461 {{ $sso.name | quote}}: ({{ $sso.idp | quote }}, {{ $sso.protocol | quote }}),
462 {{- end }}
463 }
464
465 {{- end }}
466
467 # Disable SSL certificate checks (useful for self-signed certificates):
468 #OPENSTACK_SSL_NO_VERIFY = True
469
470 {{- if .Values.manifests.certificates }}
471 # The CA certificate to use to verify SSL connections
472 OPENSTACK_SSL_CACERT = '/etc/openstack-dashboard/certs/ca.crt'
473 {{- end }}
474
475 # The OPENSTACK_KEYSTONE_BACKEND settings can be used to identify the
476 # capabilities of the auth backend for Keystone.
477 # If Keystone has been configured to use LDAP as the auth backend then set
478 # can_edit_user to False and name to 'ldap'.
479 #
480 # TODO(tres): Remove these once Keystone has an API to identify auth backend.
481 OPENSTACK_KEYSTONE_BACKEND = {
482 'name': 'native',
483 'can_edit_user': True,
484 'can_edit_group': True,
485 'can_edit_project': True,
486 'can_edit_domain': True,
487 'can_edit_role': True,
488 }
489
490 # Setting this to True, will add a new "Retrieve Password" action on instance,
491 # allowing Admin session password retrieval/decryption.
492 OPENSTACK_ENABLE_PASSWORD_RETRIEVE = {{ .Values.conf.horizon.local_settings.config.openstack_enable_password_retrieve }}
493 # Controls whether the keystone openrc file is accessible from the user menu and the api access panel.
494 SHOW_OPENRC_FILE = {{ .Values.conf.horizon.local_settings.config.show_openrc_file }}
495 # The Launch Instance user experience has been significantly enhanced.
496 # You can choose whether to enable the new launch instance experience,
497 # the legacy experience, or both. The legacy experience will be removed
498 # in a future release, but is available as a temporary backup setting to ensure
499 # compatibility with existing deployments. Further development will not be
500 # done on the legacy experience. Please report any problems with the new
501 # experience via the StoryBoard tracking system.
502 #
503 # Toggle LAUNCH_INSTANCE_LEGACY_ENABLED and LAUNCH_INSTANCE_NG_ENABLED to
504 # determine the experience to enable. Set them both to true to enable
505 # both.
506 #LAUNCH_INSTANCE_LEGACY_ENABLED = True
507 #LAUNCH_INSTANCE_NG_ENABLED = False
508
509 # The Xen Hypervisor has the ability to set the mount point for volumes
510 # attached to instances (other Hypervisors currently do not). Setting
511 # can_set_mount_point to True will add the option to set the mount point
512 # from the UI.
513 OPENSTACK_HYPERVISOR_FEATURES = {
514 'can_set_mount_point': False,
515 'can_set_password': False,
516 }
517
518 # The OPENSTACK_CINDER_FEATURES settings can be used to enable optional
519 # services provided by cinder that is not exposed by its extension API.
520 OPENSTACK_CINDER_FEATURES = {
521 'enable_backup': {{ .Values.conf.horizon.local_settings.config.openstack_cinder_features.enable_backup }},
522 }
523
524 # The OPENSTACK_NEUTRON_NETWORK settings can be used to enable optional
525 # services provided by neutron. Options currently available are load
526 # balancer service, security groups, quotas, VPN service.
527 OPENSTACK_NEUTRON_NETWORK = {
528 'enable_router': {{ .Values.conf.horizon.local_settings.config.openstack_neutron_network.enable_router }},
529 'enable_quotas': {{ .Values.conf.horizon.local_settings.config.openstack_neutron_network.enable_quotas }},
530 'enable_ipv6': {{ .Values.conf.horizon.local_settings.config.openstack_neutron_network.enable_ipv6 }},
531 'enable_distributed_router': {{ .Values.conf.horizon.local_settings.config.openstack_neutron_network.enable_distributed_router }},
532 'enable_ha_router': {{ .Values.conf.horizon.local_settings.config.openstack_neutron_network.enable_ha_router }},
533 'enable_lb': {{ .Values.conf.horizon.local_settings.config.openstack_neutron_network.enable_lb }},
534 'enable_firewall': {{ .Values.conf.horizon.local_settings.config.openstack_neutron_network.enable_firewall }},
535 'enable_vpn': {{ .Values.conf.horizon.local_settings.config.openstack_neutron_network.enable_vpn }},
536 'enable_fip_topology_check': {{ .Values.conf.horizon.local_settings.config.openstack_neutron_network.enable_fip_topology_check }},
537
538 # The profile_support option is used to detect if an external router can be
539 # configured via the dashboard. When using specific plugins the
540 # profile_support can be turned on if needed.
541 'profile_support': None,
542 #'profile_support': 'cisco',
543
544 # Set which provider network types are supported. Only the network types
545 # in this list will be available to choose from when creating a network.
546 # Network types include local, flat, vlan, gre, and vxlan.
547 'supported_provider_types': ['*'],
548
549 # Set which VNIC types are supported for port binding. Only the VNIC
550 # types in this list will be available to choose from when creating a
551 # port.
552 # VNIC types include 'normal', 'macvtap' and 'direct'.
553 'supported_vnic_types': ['*']
554 }
555
556 # The OPENSTACK_IMAGE_BACKEND settings can be used to customize features
557 # in the OpenStack Dashboard related to the Image service, such as the list
558 # of supported image formats.
559 #OPENSTACK_IMAGE_BACKEND = {
560 # 'image_formats': [
561 # ('', _('Select format')),
562 # ('aki', _('AKI - Amazon Kernel Image')),
563 # ('ami', _('AMI - Amazon Machine Image')),
564 # ('ari', _('ARI - Amazon Ramdisk Image')),
565 # ('docker', _('Docker')),
566 # ('iso', _('ISO - Optical Disk Image')),
567 # ('ova', _('OVA - Open Virtual Appliance')),
568 # ('qcow2', _('QCOW2 - QEMU Emulator')),
569 # ('raw', _('Raw')),
570 # ('vdi', _('VDI - Virtual Disk Image')),
571 # ('vhd', ('VHD - Virtual Hard Disk')),
572 # ('vmdk', _('VMDK - Virtual Machine Disk')),
573 # ]
574 #}
575
576 # The IMAGE_CUSTOM_PROPERTY_TITLES settings is used to customize the titles for
577 # image custom property attributes that appear on image detail pages.
578 IMAGE_CUSTOM_PROPERTY_TITLES = {
579 "architecture": _("Architecture"),
580 "kernel_id": _("Kernel ID"),
581 "ramdisk_id": _("Ramdisk ID"),
582 "image_state": _("Euca2ools state"),
583 "project_id": _("Project ID"),
584 "image_type": _("Image Type"),
585 }
586
587 # The IMAGE_RESERVED_CUSTOM_PROPERTIES setting is used to specify which image
588 # custom properties should not be displayed in the Image Custom Properties
589 # table.
590 IMAGE_RESERVED_CUSTOM_PROPERTIES = []
591
592 # Set to 'legacy' or 'direct' to allow users to upload images to glance via
593 # Horizon server. When enabled, a file form field will appear on the create
594 # image form. If set to 'off', there will be no file form field on the create
595 # image form. See documentation for deployment considerations.
596 HORIZON_IMAGES_UPLOAD_MODE = '{{ .Values.conf.horizon.local_settings.config.horizon_images_upload_mode }}'
597
598 # OPENSTACK_ENDPOINT_TYPE specifies the endpoint type to use for the endpoints
599 # in the Keystone service catalog. Use this setting when Horizon is running
600 # external to the OpenStack environment. The default is 'publicURL'.
601 OPENSTACK_ENDPOINT_TYPE = "{{ .Values.conf.horizon.local_settings.config.endpoint_type }}"
602
603 # SECONDARY_ENDPOINT_TYPE specifies the fallback endpoint type to use in the
604 # case that OPENSTACK_ENDPOINT_TYPE is not present in the endpoints
605 # in the Keystone service catalog. Use this setting when Horizon is running
606 # external to the OpenStack environment. The default is None. This
607 # value should differ from OPENSTACK_ENDPOINT_TYPE if used.
608 SECONDARY_ENDPOINT_TYPE = "publicURL"
609
610 # The number of objects (Swift containers/objects or images) to display
611 # on a single page before providing a paging element (a "more" link)
612 # to paginate results.
613 API_RESULT_LIMIT = 1000
614 API_RESULT_PAGE_SIZE = 20
615
616 # The size of chunk in bytes for downloading objects from Swift
617 SWIFT_FILE_TRANSFER_CHUNK_SIZE = 512 * 1024
618
619 # Specify a maximum number of items to display in a dropdown.
620 DROPDOWN_MAX_ITEMS = 30
621
622 # The timezone of the server. This should correspond with the timezone
623 # of your entire OpenStack installation, and hopefully be in UTC.
624 TIME_ZONE = "UTC"
625
626 # When launching an instance, the menu of available flavors is
627 # sorted by RAM usage, ascending. If you would like a different sort order,
628 # you can provide another flavor attribute as sorting key. Alternatively, you
629 # can provide a custom callback method to use for sorting. You can also provide
630 # a flag for reverse sort. For more info, see
631 # http://docs.python.org/2/library/functions.html#sorted
632 #CREATE_INSTANCE_FLAVOR_SORT = {
633 # 'key': 'name',
634 # # or
635 # 'key': my_awesome_callback_method,
636 # 'reverse': False,
637 #}
638
639 # Set this to True to display an 'Admin Password' field on the Change Password
640 # form to verify that it is indeed the admin logged-in who wants to change
641 # the password.
642 ENFORCE_PASSWORD_CHECK = {{ .Values.conf.horizon.local_settings.config.enforce_password_check }}
643
644 # Modules that provide /auth routes that can be used to handle different types
645 # of user authentication. Add auth plugins that require extra route handling to
646 # this list.
647 #AUTHENTICATION_URLS = [
648 # 'openstack_auth.urls',
649 #]
650
651 # The Horizon Policy Enforcement engine uses these values to load per service
652 # policy rule files. The content of these files should match the files the
653 # OpenStack services are using to determine role based access control in the
654 # target installation.
655
656 # Path to directory containing policy.yaml files
657 POLICY_FILES_PATH = '/etc/openstack-dashboard'
658 # Map of local copy of service policy files
659 #POLICY_FILES = {
660 # 'identity': 'keystone_policy.yaml',
661 # 'compute': 'nova_policy.yaml',
662 # 'volume': 'cinder_policy.yaml',
663 # 'image': 'glance_policy.yaml',
664 # 'orchestration': 'heat_policy.yaml',
665 # 'network': 'neutron_policy.yaml',
666 # 'telemetry': 'ceilometer_policy.yaml',
667 #}
668
669 # Trove user and database extension support. By default support for
670 # creating users and databases on database instances is turned on.
671 # To disable these extensions set the permission here to something
672 # unusable such as ["!"].
673 # TROVE_ADD_USER_PERMS = []
674 # TROVE_ADD_DATABASE_PERMS = []
675
676 # Change this patch to the appropriate static directory containing
677 # two files: _variables.scss and _styles.scss
678 #CUSTOM_THEME_PATH = 'static/themes/default'
679
680 LOGGING = {
681 'version': 1,
682 # When set to True this will disable all logging except
683 # for loggers specified in this configuration dictionary. Note that
684 # if nothing is specified here and disable_existing_loggers is True,
685 # django.db.backends will still log unless it is disabled explicitly.
686 'disable_existing_loggers': False,
687 'handlers': {
688 'null': {
689 'level': 'DEBUG',
690 'class': 'logging.NullHandler',
691 },
692 'console': {
693 # Set the level to "DEBUG" for verbose output logging.
694 'level': 'INFO',
695 'class': 'logging.StreamHandler',
696 },
697 },
698 'loggers': {
699 # Logging from django.db.backends is VERY verbose, send to null
700 # by default.
701 'django.db.backends': {
702 'handlers': ['null'],
703 'propagate': False,
704 },
705 'requests': {
706 'handlers': ['null'],
707 'propagate': False,
708 },
709 'horizon': {
710 'handlers': ['console'],
711 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
712 'propagate': False,
713 },
714 'openstack_dashboard': {
715 'handlers': ['console'],
716 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
717 'propagate': False,
718 },
719 'novaclient': {
720 'handlers': ['console'],
721 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
722 'propagate': False,
723 },
724 'cinderclient': {
725 'handlers': ['console'],
726 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
727 'propagate': False,
728 },
729 'glanceclient': {
730 'handlers': ['console'],
731 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
732 'propagate': False,
733 },
734 'glanceclient': {
735 'handlers': ['console'],
736 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
737 'propagate': False,
738 },
739 'neutronclient': {
740 'handlers': ['console'],
741 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
742 'propagate': False,
743 },
744 'heatclient': {
745 'handlers': ['console'],
746 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
747 'propagate': False,
748 },
749 'ceilometerclient': {
750 'handlers': ['console'],
751 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
752 'propagate': False,
753 },
754 'troveclient': {
755 'handlers': ['console'],
756 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
757 'propagate': False,
758 },
759 'swiftclient': {
760 'handlers': ['console'],
761 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
762 'propagate': False,
763 },
764 'openstack_auth': {
765 'handlers': ['console'],
766 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
767 'propagate': False,
768 },
769 'nose.plugins.manager': {
770 'handlers': ['console'],
771 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
772 'propagate': False,
773 },
774 'django': {
775 'handlers': ['console'],
776 'level': '{{ .Values.conf.horizon.local_settings.config.log_level }}',
777 'propagate': False,
778 },
779 'iso8601': {
780 'handlers': ['null'],
781 'propagate': False,
782 },
783 'scss': {
784 'handlers': ['null'],
785 'propagate': False,
786 },
787 }
788 }
789
790 # 'direction' should not be specified for all_tcp/udp/icmp.
791 # It is specified in the form.
792 SECURITY_GROUP_RULES = {
793 'all_tcp': {
794 'name': _('All TCP'),
795 'ip_protocol': 'tcp',
796 'from_port': '1',
797 'to_port': '65535',
798 },
799 'all_udp': {
800 'name': _('All UDP'),
801 'ip_protocol': 'udp',
802 'from_port': '1',
803 'to_port': '65535',
804 },
805 'all_icmp': {
806 'name': _('All ICMP'),
807 'ip_protocol': 'icmp',
808 'from_port': '-1',
809 'to_port': '-1',
810 },
811 'ssh': {
812 'name': 'SSH',
813 'ip_protocol': 'tcp',
814 'from_port': '22',
815 'to_port': '22',
816 },
817 'smtp': {
818 'name': 'SMTP',
819 'ip_protocol': 'tcp',
820 'from_port': '25',
821 'to_port': '25',
822 },
823 'dns': {
824 'name': 'DNS',
825 'ip_protocol': 'tcp',
826 'from_port': '53',
827 'to_port': '53',
828 },
829 'http': {
830 'name': 'HTTP',
831 'ip_protocol': 'tcp',
832 'from_port': '80',
833 'to_port': '80',
834 },
835 'pop3': {
836 'name': 'POP3',
837 'ip_protocol': 'tcp',
838 'from_port': '110',
839 'to_port': '110',
840 },
841 'imap': {
842 'name': 'IMAP',
843 'ip_protocol': 'tcp',
844 'from_port': '143',
845 'to_port': '143',
846 },
847 'ldap': {
848 'name': 'LDAP',
849 'ip_protocol': 'tcp',
850 'from_port': '389',
851 'to_port': '389',
852 },
853 'https': {
854 'name': 'HTTPS',
855 'ip_protocol': 'tcp',
856 'from_port': '443',
857 'to_port': '443',
858 },
859 'smtps': {
860 'name': 'SMTPS',
861 'ip_protocol': 'tcp',
862 'from_port': '465',
863 'to_port': '465',
864 },
865 'imaps': {
866 'name': 'IMAPS',
867 'ip_protocol': 'tcp',
868 'from_port': '993',
869 'to_port': '993',
870 },
871 'pop3s': {
872 'name': 'POP3S',
873 'ip_protocol': 'tcp',
874 'from_port': '995',
875 'to_port': '995',
876 },
877 'ms_sql': {
878 'name': 'MS SQL',
879 'ip_protocol': 'tcp',
880 'from_port': '1433',
881 'to_port': '1433',
882 },
883 'mysql': {
884 'name': 'MYSQL',
885 'ip_protocol': 'tcp',
886 'from_port': '3306',
887 'to_port': '3306',
888 },
889 'rdp': {
890 'name': 'RDP',
891 'ip_protocol': 'tcp',
892 'from_port': '3389',
893 'to_port': '3389',
894 },
895 }
896
897 # Deprecation Notice:
898 #
899 # The setting FLAVOR_EXTRA_KEYS has been deprecated.
900 # Please load extra spec metadata into the Glance Metadata Definition Catalog.
901 #
902 # The sample quota definitions can be found in:
903 # <glance_source>/etc/metadefs/compute-quota.json
904 #
905 # The metadata definition catalog supports CLI and API:
906 # $glance --os-image-api-version 2 help md-namespace-import
907 # $glance-manage db_load_metadefs <directory_with_definition_files>
908 #
909 # See Metadata Definitions on: https://docs.openstack.org/glance/latest/
910
911 # Indicate to the Sahara data processing service whether or not
912 # automatic floating IP allocation is in effect. If it is not
913 # in effect, the user will be prompted to choose a floating IP
914 # pool for use in their cluster. False by default. You would want
915 # to set this to True if you were running Nova Networking with
916 # auto_assign_floating_ip = True.
917 #SAHARA_AUTO_IP_ALLOCATION_ENABLED = False
918
919 # The hash algorithm to use for authentication tokens. This must
920 # match the hash algorithm that the identity server and the
921 # auth_token middleware are using. Allowed values are the
922 # algorithms supported by Python's hashlib library.
923 #OPENSTACK_TOKEN_HASH_ALGORITHM = 'md5'
924
925 # AngularJS requires some settings to be made available to
926 # the client side. Some settings are required by in-tree / built-in horizon
927 # features. These settings must be added to REST_API_REQUIRED_SETTINGS in the
928 # form of ['SETTING_1','SETTING_2'], etc.
929 #
930 # You may remove settings from this list for security purposes, but do so at
931 # the risk of breaking a built-in horizon feature. These settings are required
932 # for horizon to function properly. Only remove them if you know what you
933 # are doing. These settings may in the future be moved to be defined within
934 # the enabled panel configuration.
935 # You should not add settings to this list for out of tree extensions.
936 # See: https://wiki.openstack.org/wiki/Horizon/RESTAPI
937 REST_API_REQUIRED_SETTINGS = ['OPENSTACK_HYPERVISOR_FEATURES',
938 'LAUNCH_INSTANCE_DEFAULTS',
939 'OPENSTACK_IMAGE_FORMATS']
940
941 # Additional settings can be made available to the client side for
942 # extensibility by specifying them in REST_API_ADDITIONAL_SETTINGS
943 # !! Please use extreme caution as the settings are transferred via HTTP/S
944 # and are not encrypted on the browser. This is an experimental API and
945 # may be deprecated in the future without notice.
946 #REST_API_ADDITIONAL_SETTINGS = []
947
948 # DISALLOW_IFRAME_EMBED can be used to prevent Horizon from being embedded
949 # within an iframe. Legacy browsers are still vulnerable to a Cross-Frame
950 # Scripting (XFS) vulnerability, so this option allows extra security hardening
951 # where iframes are not used in deployment. Default setting is True.
952 # For more information see:
953 # http://tinyurl.com/anticlickjack
954 DISALLOW_IFRAME_EMBED = {{ .Values.conf.horizon.local_settings.config.disallow_iframe_embed }}
955
956 STATIC_ROOT = '/var/www/html/horizon'
957
958 {{- range $option, $value := .Values.conf.horizon.local_settings.config.raw }}
959 {{ $option }} = {{ toJson $value }}
960 {{- end }}
961 policy:
962 ceilometer:
963 context_is_admin: 'role:admin'
964 context_is_owner: 'user_id:%(target.user_id)s'
965 context_is_project: 'project_id:%(target.project_id)s'
966 segregation: 'rule:context_is_admin'
967 heat:
968 'actions:action': 'rule:deny_stack_user'
969 'build_info:build_info': 'rule:deny_stack_user'
970 'cloudformation:CancelUpdateStack': 'rule:deny_stack_user'
971 'cloudformation:CreateStack': 'rule:deny_stack_user'
972 'cloudformation:DeleteStack': 'rule:deny_stack_user'
973 'cloudformation:DescribeStackEvents': 'rule:deny_stack_user'
974 'cloudformation:DescribeStackResource': ''
975 'cloudformation:DescribeStackResources': 'rule:deny_stack_user'
976 'cloudformation:DescribeStacks': 'rule:deny_stack_user'
977 'cloudformation:EstimateTemplateCost': 'rule:deny_stack_user'
978 'cloudformation:GetTemplate': 'rule:deny_stack_user'
979 'cloudformation:ListStackResources': 'rule:deny_stack_user'
980 'cloudformation:ListStacks': 'rule:deny_stack_user'
981 'cloudformation:UpdateStack': 'rule:deny_stack_user'
982 'cloudformation:ValidateTemplate': 'rule:deny_stack_user'
983 'cloudwatch:DeleteAlarms': 'rule:deny_stack_user'
984 'cloudwatch:DescribeAlarmHistory': 'rule:deny_stack_user'
985 'cloudwatch:DescribeAlarms': 'rule:deny_stack_user'
986 'cloudwatch:DescribeAlarmsForMetric': 'rule:deny_stack_user'
987 'cloudwatch:DisableAlarmActions': 'rule:deny_stack_user'
988 'cloudwatch:EnableAlarmActions': 'rule:deny_stack_user'
989 'cloudwatch:GetMetricStatistics': 'rule:deny_stack_user'
990 'cloudwatch:ListMetrics': 'rule:deny_stack_user'
991 'cloudwatch:PutMetricAlarm': 'rule:deny_stack_user'
992 'cloudwatch:PutMetricData': ''
993 'cloudwatch:SetAlarmState': 'rule:deny_stack_user'
994 context_is_admin: 'role:admin'
995 deny_everybody: '!'
996 deny_stack_user: 'not role:heat_stack_user'
997 'events:index': 'rule:deny_stack_user'
998 'events:show': 'rule:deny_stack_user'
999 'resource:index': 'rule:deny_stack_user'
1000 'resource:mark_unhealthy': 'rule:deny_stack_user'
1001 'resource:metadata': ''
1002 'resource:show': 'rule:deny_stack_user'
1003 'resource:signal': ''
1004 'resource_types:OS::Cinder::EncryptedVolumeType': 'rule:context_is_admin'
1005 'resource_types:OS::Cinder::VolumeType': 'rule:context_is_admin'
1006 'resource_types:OS::Manila::ShareType': 'rule:context_is_admin'
1007 'resource_types:OS::Neutron::QoSBandwidthLimitRule': 'rule:context_is_admin'
1008 'resource_types:OS::Neutron::QoSPolicy': 'rule:context_is_admin'
1009 'resource_types:OS::Nova::Flavor': 'rule:context_is_admin'
1010 'resource_types:OS::Nova::HostAggregate': 'rule:context_is_admin'
1011 'service:index': 'rule:context_is_admin'
1012 'software_configs:create': 'rule:deny_stack_user'
1013 'software_configs:delete': 'rule:deny_stack_user'
1014 'software_configs:global_index': 'rule:deny_everybody'
1015 'software_configs:index': 'rule:deny_stack_user'
1016 'software_configs:show': 'rule:deny_stack_user'
1017 'software_deployments:create': 'rule:deny_stack_user'
1018 'software_deployments:delete': 'rule:deny_stack_user'
1019 'software_deployments:index': 'rule:deny_stack_user'
1020 'software_deployments:metadata': ''
1021 'software_deployments:show': 'rule:deny_stack_user'
1022 'software_deployments:update': 'rule:deny_stack_user'
1023 'stacks:abandon': 'rule:deny_stack_user'
1024 'stacks:create': 'rule:deny_stack_user'
1025 'stacks:delete': 'rule:deny_stack_user'
1026 'stacks:delete_snapshot': 'rule:deny_stack_user'
1027 'stacks:detail': 'rule:deny_stack_user'
1028 'stacks:environment': 'rule:deny_stack_user'
1029 'stacks:export': 'rule:deny_stack_user'
1030 'stacks:generate_template': 'rule:deny_stack_user'
1031 'stacks:global_index': 'rule:deny_everybody'
1032 'stacks:index': 'rule:deny_stack_user'
1033 'stacks:list_outputs': 'rule:deny_stack_user'
1034 'stacks:list_resource_types': 'rule:deny_stack_user'
1035 'stacks:list_snapshots': 'rule:deny_stack_user'
1036 'stacks:list_template_functions': 'rule:deny_stack_user'
1037 'stacks:list_template_versions': 'rule:deny_stack_user'
1038 'stacks:lookup': ''
1039 'stacks:preview': 'rule:deny_stack_user'
1040 'stacks:preview_update': 'rule:deny_stack_user'
1041 'stacks:preview_update_patch': 'rule:deny_stack_user'
1042 'stacks:resource_schema': 'rule:deny_stack_user'
1043 'stacks:restore_snapshot': 'rule:deny_stack_user'
1044 'stacks:show': 'rule:deny_stack_user'
1045 'stacks:show_output': 'rule:deny_stack_user'
1046 'stacks:show_snapshot': 'rule:deny_stack_user'
1047 'stacks:snapshot': 'rule:deny_stack_user'
1048 'stacks:template': 'rule:deny_stack_user'
1049 'stacks:update': 'rule:deny_stack_user'
1050 'stacks:update_patch': 'rule:deny_stack_user'
1051 'stacks:validate_template': 'rule:deny_stack_user'
1052 # list of panels to enable for horizon
1053 # this requires that the panels are already installed in the horizon image, if they are not
1054 # nothing will be added
1055 # the name of the panel should be the name of the dir where the panel is installed
1056 # for example heat_dashboard, cloudkittydashboard or neutron_taas_dashboard
1057 extra_panels:
1058 - heat_dashboard
1059 - neutron_taas_dashboard
1060
1061dependencies:
1062 dynamic:
1063 common:
1064 local_image_registry:
1065 jobs:
1066 - horizon-image-repo-sync
1067 services:
1068 - endpoint: node
1069 service: local_image_registry
1070 static:
1071 dashboard:
1072 jobs:
1073 - horizon-db-sync
1074 services:
1075 - endpoint: internal
1076 service: oslo_cache
1077 - endpoint: internal
1078 service: oslo_db
1079 - endpoint: internal
1080 service: identity
1081 db_drop:
1082 services:
1083 - endpoint: internal
1084 service: oslo_db
1085 db_init:
1086 services:
1087 - endpoint: internal
1088 service: oslo_db
1089 db_sync:
1090 jobs:
1091 - horizon-db-init
1092 services:
1093 - endpoint: internal
1094 service: oslo_db
1095 image_repo_sync:
1096 services:
1097 - endpoint: internal
1098 service: local_image_registry
1099 tests:
1100 services:
1101 - endpoint: internal
1102 service: dashboard
1103
1104pod:
1105 security_context:
1106 horizon:
1107 pod:
1108 runAsUser: 42424
1109 container:
1110 horizon:
1111 readOnlyRootFilesystem: false
1112 allowPrivilegeEscalation: false
1113 runAsUser: 0
1114 db_sync:
1115 pod:
1116 runAsUser: 42424
1117 container:
1118 horizon_db_sync:
1119 readOnlyRootFilesystem: false
1120 allowPrivilegeEscalation: false
1121 runAsUser: 0
1122 test:
1123 pod:
1124 runAsUser: 42424
1125 container:
1126 horizon_test:
1127 readOnlyRootFilesystem: true
1128 allowPrivilegeEscalation: false
1129 affinity:
1130 anti:
1131 type:
1132 default: preferredDuringSchedulingIgnoredDuringExecution
1133 topologyKey:
1134 default: kubernetes.io/hostname
1135 weight:
1136 default: 10
1137 tolerations:
1138 horizon:
1139 enabled: false
1140 tolerations:
1141 - key: node-role.kubernetes.io/master
1142 operator: Exists
1143 effect: NoSchedule
okozachenko120377c6d672023-03-25 00:17:28 +11001144 - key: node-role.kubernetes.io/control-plane
1145 operator: Exists
1146 effect: NoSchedule
Mohammed Naserf3f59a72023-01-15 21:02:04 -05001147 mounts:
1148 horizon_db_init:
1149 init_container: null
1150 horizon_db_init:
1151 volumeMounts:
1152 volumes:
1153 horizon_db_sync:
1154 init_container: null
1155 horizon_db_sync:
1156 volumeMounts:
1157 volumes:
1158 horizon:
1159 init_container: null
1160 horizon:
1161 volumeMounts:
1162 volumes:
1163 horizon_tests:
1164 init_container: null
1165 horizon_tests:
1166 volumeMounts:
1167 volumes:
1168 replicas:
1169 server: 1
1170 lifecycle:
1171 upgrades:
1172 deployments:
1173 revision_history: 3
1174 pod_replacement_strategy: RollingUpdate
1175 rolling_update:
1176 max_unavailable: 1
1177 max_surge: 3
1178 disruption_budget:
1179 horizon:
1180 min_available: 0
1181 termination_grace_period:
1182 horizon:
1183 timeout: 30
1184 resources:
1185 enabled: false
1186 server:
1187 requests:
1188 memory: "128Mi"
1189 cpu: "100m"
1190 limits:
1191 memory: "1024Mi"
1192 cpu: "2000m"
1193 jobs:
1194 db_init:
1195 requests:
1196 memory: "128Mi"
1197 cpu: "100m"
1198 limits:
1199 memory: "1024Mi"
1200 cpu: "2000m"
1201 db_sync:
1202 requests:
1203 memory: "128Mi"
1204 cpu: "100m"
1205 limits:
1206 memory: "1024Mi"
1207 cpu: "2000m"
1208 db_drop:
1209 requests:
1210 memory: "128Mi"
1211 cpu: "100m"
1212 limits:
1213 memory: "1024Mi"
1214 cpu: "2000m"
1215 image_repo_sync:
1216 requests:
1217 memory: "128Mi"
1218 cpu: "100m"
1219 limits:
1220 memory: "1024Mi"
1221 cpu: "2000m"
1222 tests:
1223 requests:
1224 memory: "128Mi"
1225 cpu: "100m"
1226 limits:
1227 memory: "1024Mi"
1228 cpu: "2000m"
1229
1230# Names of secrets used by bootstrap and environmental checks
1231secrets:
1232 identity:
1233 admin: horizon-keystone-admin
1234 oslo_db:
1235 admin: horizon-db-admin
1236 horizon: horizon-db-user
1237 tls:
1238 dashboard:
1239 dashboard:
1240 public: horizon-tls-public
1241 internal: horizon-tls-web
Mohammed Naserbcdd25c2023-01-18 03:38:47 +00001242 oci_image_registry:
1243 horizon: horizon-oci-image-registry
1244
1245tls:
1246 identity: false
Mohammed Naserf3f59a72023-01-15 21:02:04 -05001247
1248# typically overridden by environmental
1249# values, but should include all endpoints
1250# required by this chart
1251endpoints:
1252 cluster_domain_suffix: cluster.local
1253 local_image_registry:
1254 name: docker-registry
1255 namespace: docker-registry
1256 hosts:
1257 default: localhost
1258 internal: docker-registry
1259 node: localhost
1260 host_fqdn_override:
1261 default: null
1262 port:
1263 registry:
1264 node: 5000
Mohammed Naserbcdd25c2023-01-18 03:38:47 +00001265 oci_image_registry:
1266 name: oci-image-registry
1267 namespace: oci-image-registry
1268 auth:
1269 enabled: false
1270 horizon:
1271 username: horizon
1272 password: password
1273 hosts:
1274 default: localhost
1275 host_fqdn_override:
1276 default: null
1277 port:
1278 registry:
1279 default: null
Mohammed Naserf3f59a72023-01-15 21:02:04 -05001280 identity:
1281 name: keystone
1282 auth:
1283 admin:
1284 region_name: RegionOne
1285 username: admin
1286 password: password
1287 project_name: admin
1288 user_domain_name: default
1289 project_domain_name: default
1290 hosts:
1291 default: keystone
1292 internal: keystone-api
1293 host_fqdn_override:
1294 default: null
1295 path:
1296 default: /v3
1297 scheme:
1298 default: http
1299 port:
1300 api:
1301 default: 80
1302 internal: 5000
1303 oslo_cache:
1304 hosts:
1305 default: memcached
1306 host_fqdn_override:
1307 default: null
1308 port:
1309 memcache:
1310 default: 11211
1311 dashboard:
1312 name: horizon
1313 hosts:
1314 default: horizon-int
1315 public: horizon
1316 host_fqdn_override:
1317 default: null
1318 # NOTE(portdirect): this chart supports TLS for fqdn over-ridden public
1319 # endpoints using the following format:
1320 # public:
1321 # host: null
1322 # tls:
1323 # crt: null
1324 # key: null
1325 path:
1326 default: null
1327 scheme:
1328 default: http
1329 port:
1330 web:
1331 default: 80
1332 oslo_db:
1333 auth:
1334 admin:
1335 username: root
1336 password: password
1337 secret:
1338 tls:
1339 internal: mariadb-tls-direct
1340 horizon:
1341 username: horizon
1342 password: password
1343 hosts:
1344 default: mariadb
1345 host_fqdn_override:
1346 default: null
1347 path: /horizon
1348 scheme: mysql+pymysql
1349 port:
1350 mysql:
1351 default: 3306
1352 # NOTE(tp6510): these endpoints allow for things like DNS lookups and ingress
1353 # They are using to enable the Egress K8s network policy.
1354 kube_dns:
1355 namespace: kube-system
1356 name: kubernetes-dns
1357 hosts:
1358 default: kube-dns
1359 host_fqdn_override:
1360 default: null
1361 path:
1362 default: null
1363 scheme: http
1364 port:
1365 dns:
1366 default: 53
1367 protocol: UDP
1368 ingress:
1369 namespace: null
1370 name: ingress
1371 hosts:
1372 default: ingress
1373 port:
1374 ingress:
1375 default: 80
1376
1377network_policy:
1378 horizon:
1379 ingress:
1380 - {}
1381 egress:
1382 - {}
1383
1384# NOTE(helm_hook): helm_hook might break for helm2 binary.
1385# set helm3_hook: false when using the helm2 binary.
1386helm3_hook: true
1387
1388manifests:
1389 certificates: false
1390 configmap_bin: true
1391 configmap_etc: true
1392 configmap_logo: false
1393 deployment: true
1394 ingress_api: true
1395 job_db_init: true
1396 job_db_sync: true
1397 job_db_drop: false
1398 job_image_repo_sync: true
1399 pdb: true
1400 pod_helm_test: true
1401 network_policy: false
1402 secret_db: true
1403 secret_ingress_tls: true
1404 secret_keystone: true
Mohammed Naserbcdd25c2023-01-18 03:38:47 +00001405 secret_registry: true
Mohammed Naserf3f59a72023-01-15 21:02:04 -05001406 service_ingress: true
1407 service: true
1408...