File tree Expand file tree Collapse file tree 7 files changed +75
-1
lines changed
environments/ci-multinode Expand file tree Collapse file tree 7 files changed +75
-1
lines changed Original file line number Diff line number Diff line change @@ -36,6 +36,8 @@ Before beginning the deployment of vault for openstack internal TLS and backend
36
36
37
37
* Seed Node or a host to run the vault container on
38
38
* Overcloud controller hosts to install second vault on
39
+ * Ansible Galaxy dependencies installed: ``kayobe control host bootstrap ``
40
+ * Python dependencies installed: ``pip install -r kayobe-config/requirements.txt ``
39
41
40
42
Deployment
41
43
==========
@@ -197,7 +199,7 @@ Enable the required TLS variables in kayobe and kolla
197
199
# Copy the self-signed CA into the kolla containers
198
200
kolla_copy_ca_into_containers: "yes"
199
201
# Use the following trust store within the container
200
- openstack_cacert: "{{ '/etc/pki/tls/certs/ca-bundle.crt' if os_distribution in [" centos", " rocky" ] else '/etc/ssl/certs/ca-certificates.crt' }}"
202
+ openstack_cacert: "{{ '/etc/pki/tls/certs/ca-bundle.crt' if os_distribution in [' centos', ' rocky' ] else '/etc/ssl/certs/ca-certificates.crt' }}"
201
203
202
204
# Backend TLS config
203
205
# Enable backend TLS
Original file line number Diff line number Diff line change 77
77
debug :
78
78
msg : " barbican role id is {{ barbican_role_id.id }}"
79
79
80
+ - name : Write barbican Approle ID to file if requested
81
+ delegate_to : localhost
82
+ copy :
83
+ content : " {{ barbican_role_id.id }}"
84
+ dest : " {{ stackhpc_barbican_role_id_file_path | default('~/barbican-role-id') }}"
85
+ when : stackhpc_write_barbican_role_id_to_file | bool | default(false)
86
+
80
87
- name : Check if barbican Approle Secret ID is defined
81
88
hashivault_approle_role_secret_list :
82
89
url : " {{ vault_api_addr }}"
Original file line number Diff line number Diff line change @@ -56,6 +56,12 @@ os_release: >-
56
56
(lookup('pipe', '. /etc/os-release && echo $VERSION_ID') | trim | split('.') | first) if os_distribution == 'rocky' else
57
57
'stream-8' }}
58
58
# ##############################################################################
59
+ # Hashicorp vault, Barbican, and TLS configuration
60
+
61
+ stackhpc_write_barbican_role_id_to_file : true
62
+ stackhpc_barbican_role_id_file_path : " /tmp/barbican-role-id"
63
+
64
+ # ##############################################################################
59
65
60
66
# Avoid a reboot.
61
67
disable_selinux_do_reboot : false
Original file line number Diff line number Diff line change @@ -5,6 +5,13 @@ kolla_enable_neutron_provider_networks: true
5
5
kolla_enable_ovn : true
6
6
kolla_enable_octavia : true
7
7
kolla_enable_magnum : true
8
+ kolla_enable_barbican : true
9
+
10
+ # The multinode environment supports Backend and internal TLS , but it must be
11
+ # enabled in the correct order. See
12
+ # https://stackhpc-kayobe-config.readthedocs.io/en/stackhpc-yoga/configuration/vault.html
13
+ # for details.
14
+ # kolla_enable_tls_internal: true
8
15
9
16
# The multinode environment supports Manila but it is not enabled by default.
10
17
# kolla_enable_manila: true
Original file line number Diff line number Diff line change
1
+ # Example barbican config for vault integration
2
+ [secretstore]
3
+ namespace=barbican.secretstore.plugin
4
+ enable_multiple_secret_stores=false
5
+ enabled_secretstore_plugins=vault_plugin
6
+
7
+ [vault_plugin]
8
+ vault_url = https://{{ kolla_internal_vip_address }}:8200
9
+ use_ssl = True
10
+ approle_role_id = {{ secrets_barbican_approle_role_id }}
11
+ approle_secret_id = {{ secrets_barbican_approle_secret_id }}
12
+ kv_mountpoint = barbican
Original file line number Diff line number Diff line change
1
+ {% raw %}
2
+ frontend vault_front
3
+ mode tcp
4
+ option tcplog
5
+ bind {{ kolla_internal_vip_address }}:8200
6
+ default_backend vault_back
7
+
8
+ backend vault_back
9
+ mode tcp
10
+ option httpchk GET /v1/sys/health
11
+ # https://www.vaultproject.io/api-docs/system/health
12
+ # 200: initialized, unsealed, and active
13
+ # 501: not initialised (required for bootstrapping)
14
+ # 503: sealed (required for bootstrapping)
15
+ http-check expect rstatus (200 |501 |503 )
16
+
17
+ {% for host in groups['control'] %}
18
+ {% set host_name = hostvars[host].ansible_facts.hostname %}
19
+ {% set host_ip = 'api' | kolla_address(host) %}
20
+ server {{ host_name }} {{ host_ip }}:8200 check check-ssl verify none inter 2000 rise 2 fall 5
21
+ {% endfor %}
22
+ {% endraw %}
Original file line number Diff line number Diff line change
1
+ # ###########################################################################
2
+ # This content is copied into globals.yml during automated setup, but cannot
3
+ # exist during the initial configuration
4
+
5
+ # Internal TLS configuration
6
+ # Copy the self-signed CA into the kolla containers
7
+ kolla_copy_ca_into_containers : " yes"
8
+ # Use the following trust store within the container
9
+ openstack_cacert : " {{ '/etc/pki/tls/certs/ca-bundle.crt' if os_distribution in ['centos', 'rocky'] else '/etc/ssl/certs/ca-certificates.crt' }}"
10
+
11
+ # Backend TLS config
12
+ # Enable backend TLS
13
+ kolla_enable_tls_backend : " yes"
14
+
15
+ # If using RabbitMQ TLS:
16
+ rabbitmq_enable_tls : " yes"
17
+
18
+ # ###########################################################################
You can’t perform that action at this time.
0 commit comments