Implement X.509 auth for MySQL and Heat
Related-PROD: PROD-22736
Change-Id: I6aac70871a42169adc4ae8af5b8ea5d983ac81de
diff --git a/heat/server/cluster.yml b/heat/server/cluster.yml
index eee2b63..7bbc2ac 100644
--- a/heat/server/cluster.yml
+++ b/heat/server/cluster.yml
@@ -3,10 +3,13 @@
- service.haproxy.proxy.single
- service.keepalived.cluster.single
- system.haproxy.proxy.listen.openstack.heat
+- system.salt.minion.cert.mysql.clients.openstack.heat
parameters:
_param:
cluster_public_protocol: 'https'
cluster_internal_protocol: 'http'
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
linux:
system:
package:
@@ -37,6 +40,13 @@
name: heat
user: heat
password: ${_param:mysql_heat_password}
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_heat_ssl_ca_file}
+ key_file: ${_param:mysql_heat_client_ssl_key_file}
+ cert_file: ${_param:mysql_heat_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
metadata:
host: ${_param:cluster_public_host}
port: 8000
diff --git a/heat/server/single.yml b/heat/server/single.yml
index 2f28613..208bdf0 100644
--- a/heat/server/single.yml
+++ b/heat/server/single.yml
@@ -1,6 +1,10 @@
classes:
- service.heat.server.single
+- system.salt.minion.cert.mysql.clients.openstack.heat
parameters:
+ _param:
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
linux:
system:
package:
@@ -20,4 +24,12 @@
waitcondition:
protocol: ${_param:cluster_public_protocol}
watch:
- protocol: ${_param:cluster_public_protocol}
\ No newline at end of file
+ protocol: ${_param:cluster_public_protocol}
+ database:
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_heat_ssl_ca_file}
+ key_file: ${_param:mysql_heat_client_ssl_key_file}
+ cert_file: ${_param:mysql_heat_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
\ No newline at end of file