blob: 0bbe57c6cb9bd573a2e0b5ce43ebc3cbfdaabba3 [file] [log] [blame]
asledzinskiy159d7bf2017-06-12 15:25:21 +03001
2classes:
3 - system.linux.system.haveged
4 - system.glusterfs.client.cluster
5 - system.glusterfs.client.volume.aptly
Ilya Kharin04fe8f12017-06-27 14:06:40 +04006 - system.glusterfs.client.volume.devops_portal
7 - system.glusterfs.client.volume.elasticsearch
asledzinskiy159d7bf2017-06-12 15:25:21 +03008 - system.glusterfs.client.volume.gerrit
9 - system.glusterfs.client.volume.jenkins
Ilya Kharin04fe8f12017-06-27 14:06:40 +040010 - system.glusterfs.client.volume.mysql
asledzinskiy159d7bf2017-06-12 15:25:21 +030011 - system.glusterfs.client.volume.openldap
Ilya Kharin04fe8f12017-06-27 14:06:40 +040012 - system.glusterfs.client.volume.postgresql
13 - system.glusterfs.client.volume.pushkin
14 - system.glusterfs.client.volume.registry
15 - system.glusterfs.client.volume.rundeck
16 - system.glusterfs.client.volume.salt_pki
17 - system.glusterfs.client.volume.security_monkey
Dennis Dmitrievcb303942017-07-07 16:51:25 +030018 - cluster.virtual-mcp-ocata-cicd.cicd.gluster
asledzinskiy159d7bf2017-06-12 15:25:21 +030019 #- system.glusterfs.client.volume.salt
20 # Docker
21 - system.docker.host
22
23 # Generate aptly-publisher config to use for jenkins slaves
24 - system.aptly.client.publisher
25
26 # Docker services
27 - system.docker.swarm.stack.aptly
Ilya Kharin04fe8f12017-06-27 14:06:40 +040028 - system.docker.swarm.stack.devops_portal
asledzinskiy159d7bf2017-06-12 15:25:21 +030029 - system.docker.swarm.stack.docker
Ilya Kharin04fe8f12017-06-27 14:06:40 +040030 - system.docker.swarm.stack.elasticsearch
asledzinskiy159d7bf2017-06-12 15:25:21 +030031 - system.docker.swarm.stack.gerrit
32 - system.docker.swarm.stack.jenkins
33 - system.docker.swarm.stack.ldap
Ilya Kharin04fe8f12017-06-27 14:06:40 +040034 - system.docker.swarm.stack.postgresql
35 - system.docker.swarm.stack.pushkin
36 - system.docker.swarm.stack.rundeck
37 - system.docker.swarm.stack.security_monkey
38 # Docker networks
39 - system.docker.swarm.network.runbook
asledzinskiy159d7bf2017-06-12 15:25:21 +030040
41 # Keepalived
42 - system.keepalived.cluster.instance.cicd_control_vip
43
44 # HAProxy
45 - system.salt.minion.cert.proxy.cicd
46 - system.haproxy.proxy.single
47 - system.haproxy.proxy.listen.cicd.aptly
48 - system.haproxy.proxy.listen.cicd.gerrit
49 - system.haproxy.proxy.listen.cicd.jenkins
50 - system.haproxy.proxy.listen.docker.registry
51 - system.haproxy.proxy.listen.docker.visualizer
52 - system.haproxy.proxy.listen.openldap
Ilya Kharin04fe8f12017-06-27 14:06:40 +040053 - system.haproxy.proxy.listen.oss.devops_portal
54 - system.haproxy.proxy.listen.oss.elasticsearch
55 - system.haproxy.proxy.listen.oss.postgresql
56 - system.haproxy.proxy.listen.oss.pushkin
57 - system.haproxy.proxy.listen.oss.rundeck
58 - system.haproxy.proxy.listen.oss.security_monkey
asledzinskiy159d7bf2017-06-12 15:25:21 +030059 - system.haproxy.proxy.listen.phpldapadmin
60 - system.haproxy.proxy.listen.mysql
61 - system.haproxy.proxy.listen.stats
62
Ilya Kharin04fe8f12017-06-27 14:06:40 +040063 # PostgreSQL
64 - system.postgresql.client.pushkin
65 - system.postgresql.client.rundeck
66 - system.postgresql.client.security_monkey
67
68 # DevOps Portal
69 - system.devops_portal.service.elasticsearch
70 - system.devops_portal.service.gerrit
71 - system.devops_portal.service.jenkins
72 - system.devops_portal.service.pushkin
73 - system.devops_portal.service.rundeck
74 - system.devops_portal.service.security_monkey
75
76 # Rundeck
77 - system.rundeck.client.runbook
78
Dennis Dmitrievd81aae92017-07-10 15:52:30 +030079 - cluster.virtual-mcp-ocata-cicd.infra
asledzinskiy159d7bf2017-06-12 15:25:21 +030080
81parameters:
82 _param:
83 cluster_node01_name: ${_param:cicd_control_node01_hostname}
84 cluster_node01_address: ${_param:cicd_control_node01_address}
85 cluster_node02_name: ${_param:cicd_control_node02_hostname}
86 cluster_node02_address: ${_param:cicd_control_node02_address}
87 cluster_node03_name: ${_param:cicd_control_node03_hostname}
88 cluster_node03_address: ${_param:cicd_control_node03_address}
89 keepalived_vip_virtual_router_id: 180
90 keepalived_vip_password: TLrAYaAbAEZwXsp1
91 keepalived_vip_interface: ens3
92 cluster_vip_address: ${_param:control_vip_address}
93 control_vip_address: ${_param:cicd_control_address}
94 cluster_public_host: ${_param:control_vip_address}
95 salt_api_password: Dnx3fapzHIcGuURdDck3DPv78V3ehwue
96 # Docker images and versions
97 docker_registry_http_secret: jvJRsYDEPts2HdNk
98 # CI/CD service databases
99 mysql_admin_password: TSi6AgDGv2nZjblQ
100 mysql_gerrit_password: f6XRcwSNHTh8zCuS
101
102 # Proxy
103 cluster_ssl_certificate:
104 enabled: true
105 pem_file: /etc/haproxy/ssl/${_param:cluster_public_host}-all.pem
106 haproxy_bind_address: ${_param:cluster_vip_address}
107 haproxy_mysql_source_port: 13306
108 salt_minion_ca_host: cfg01.${_param:cluster_domain}
109
110 # Aptly
111 aptly_gpg_keypair_id: none
112 aptly_gpg_passphrase: none
113 aptly_server_secure: false
114 aptly_gpg_public_key: none
115 aptly_gpg_private_key: none
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400116
asledzinskiy159d7bf2017-06-12 15:25:21 +0300117 # OpenLDAP
118 openldap_organisation: "${_param:cluster_name}"
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300119 openldap_dn: "dc=virtual-mcp-ocata-cicd,dc=local"
asledzinskiy159d7bf2017-06-12 15:25:21 +0300120 openldap_domain: "virtual-mcp-ocata-cicd.local"
121 openldap_admin_password: UdTuP7GPPTaCoPSV
122 openldap_config_password: RQK8h0F3aNdvv26U
123 openldap_readonly_password: myMSnD6mn8ziUP2S
124
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400125 # PostgreSQL
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300126 docker_image_postgresql: "library/postgres:9.6"
127 postgresql_admin_user_password: faeRpEA4uye2Sj2s
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400128 postgresql_client_user: ${_param:postgresql_admin_user}
129 postgresql_client_password: ${_param:postgresql_admin_user_password}
130 postgresql_client_host: ${_param:haproxy_postgresql_bind_host}
131 postgresql_client_port: ${_param:haproxy_postgresql_bind_port}
132
asledzinskiy159d7bf2017-06-12 15:25:21 +0300133 # Jenkins
134 jenkins_slave_user: admin
135 jenkins_client_user: admin
136 jenkins_admin_password: ${_param:openldap_admin_password}
137 jenkins_security_ldap_server: ${_param:cluster_vip_address}
138 jenkins_security_ldap_root_dn: ${_param:openldap_dn}
139 jenkins_security_ldap_manager_dn: "cn=admin,${_param:openldap_dn}"
140 jenkins_security_ldap_manager_password: ${_param:openldap_admin_password}
141 jenkins_slave_password: ${_param:jenkins_admin_password}
142 jenkins_client_password: ${_param:jenkins_admin_password}
143 jenkins_admin_email: ${_param:admin_email}
144 jenkins_admin_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3PNQbFye7OC13h7esNT+LXtIKOZbmSmQdj2wrVW1nwFQBodgG2XFJUyKwVZ3gCqS68sN0kOzqix/R4oOL2lm1vZX69Mx3mON6fkvMdgpaEE78VH/SAiuUhCLP83Ic1QRp55uriZ0a1Pa91kqqXnqWLQX7NK4oTtps1sukxg+WVyT55jnwJ8F4a2HIgf+heZNunfw1NlQI6tGXwdiTON7agVybodtRQZctB3/6rQrxKFT9No5BYrEtt2sEg4xBl/XvhbBIyKmi2URgSOplpezGGJcVHTCddRRP0st4etsh39I8H0qzwWnufgYr1dGCr7AOt0grQOUaAKivjK/PV7IL
145 jenkins_admin_private_key: |
146 -----BEGIN RSA PRIVATE KEY-----
147 MIIEpQIBAAKCAQEAtzzUGxcnuzgtd4e3rDU/i17SCjmW5kpkHY9sK1VtZ8BUAaHY
148 BtlxSVMisFWd4AqkuvLDdJDs6osf0eKDi9pZtb2V+vTMd5jjen5LzHYKWhBO/FR/
149 0gIrlIQiz/NyHNUEaeebq4mdGtT2vdZKql56li0F+zSuKE7abNbLpMYPllck+eY5
150 8CfBeGthyIH/oXmTbp38NTZUCOrRl8HYkzje2oFcm6HbUUGXLQd/+q0K8ShU/TaO
151 QWKxLbdrBIOMQZf174WwSMipotlEYEjqZaXsxhiXFR0wnXUUT9LLeHrbId/SPB9K
152 s8Fp7n4GK9XRgq+wDrdIK0DlGgCor4yvz1eyCwIDAQABAoIBAB3a5Vw8m5afgpj1
153 HfILAv18R5Cu7W08Na+zTJaK5rZ+2bEiY4ZKK3EdAIvmh0CXu1tSbpIxgsh8PoT9
154 +RzySKeZ6jPnauEZoga1SThZCzq9aYEna2QWQm+CUAG90pvsAToYKH78fwJ+LG2l
155 2qiDmEmbsFvLq4yZvHD7VlbUhnmiFm1kzPPa2SdeimYl0TlOKOMS/l0UkG0isMEQ
156 3dGR3GOCA9az7UAuBvB0rAhOjWUfDEFGeKYlZ9kHgK6r7eYMA0Ij7eIbZYvE0tAE
157 slhhevDbrnEpzD3XClSmco62RhRIhvS639Q09IksA+yLBFLnjVOtEsWroD4iFDPI
158 4kLTewECgYEA6x6i5YlY5Mxsq7S22d4XcSafd7FJm7FNZeM+8/aPeQjSunXby5rD
159 pYQBYGZG9pNuJ6R6hxunlWiTmzkogZLoWqDfTrjjJ7qnYpA/6NS97jdDBq8o5lIb
160 LWFLn86QyuLUFLUzPbeBsAfiRAoKm6qdmwCMNHEuleLOGVUdTx84PksCgYEAx4Kr
161 8jvyRazRQtbYWTvMViHs7w5tYRUI7NZ35DfI2nJA/VRWfCvK7F/QpgFfeEB3vBVM
162 +s9HBiJ23cqS44Iw/WhGMdoXSXFqiz6Ry8oQ0LXl1ed1eq8Bq/Y6qbGpgUv6QdYX
163 DDE2vezsq4jcmFVRCKexCTVKgf/bSN8VhSLfA0ECgYEAsP1w9oU7y5AvRdpVww+y
164 adT/OiTVGkSP1OEJ5LB4NE52AzLxcAVivdfvCVg0ly1IQMNKESa6Mnh0lOakHVYv
165 Xvm24BXBuYiCtGmOEoEDMK2c4Q0+JpMsLi8NtJDU4kV6DNSSbCUVlSN6Kmm8ro3y
166 8lmpMVj6Do6bQuqVk5gWyJ0CgYEApTU6p1smkrW5jyyTeMkAuu5a4dZDktm1S1GJ
167 dA0RoHpuAJjfCPHGlpf9EgofAVf5DmFhHmuX96eAYMbHfeeoI58+STe8gs+NF4MX
168 ffZ0mC+YA9onuRDERJ6gEzcQEwZUVEIxUaJLH1ja3mx1pxs3AADEo8hiS2YQMraw
169 fk/S9kECgYEAmB1tL0F796xtfaeNwQ35FZW2gpWvJLrBfO5vkXrA8JFhldW5LHr0
170 7xy+goivnFtD2rvCMNOVWdGT4yEftajz6vXsXLr2XQ8X3HH8O0BIqWyobguQs3t0
171 d4sWoM2Qt45r+B/UoLMPmkjtebmQe+gKbdv8rv+FWPAckc7L7MCkveA=
172 -----END RSA PRIVATE KEY-----
173 # Jobs params
174 jenkins_gerrit_url: ssh://admin@${_param:haproxy_gerrit_bind_host}:${_param:haproxy_gerrit_ssh_bind_port}
175 jenkins_aptly_api_url: http://${_param:haproxy_aptly_api_bind_host}:${_param:haproxy_aptly_api_bind_port}
176 jenkins_aptly_url: http://${_param:haproxy_aptly_public_bind_host}:${_param:haproxy_aptly_public_bind_port}
177 # Gerrit
178 gerrit_admin_password: ${_param:openldap_admin_password}
179 gerrit_admin_email: ${_param:admin_email}
180 gerrit_public_host: http://${_param:haproxy_gerrit_bind_host}:${_param:haproxy_gerrit_bind_port}
181 gerrit_admin_public_key: ${_param:jenkins_admin_public_key}
182 gerrit_admin_private_key: ${_param:jenkins_admin_private_key}
183 gerrit_auth_type: LDAP
184 gerrit_ldap_server: "ldap://${_param:cluster_vip_address}"
185 gerrit_ldap_bind_user: "cn=admin,${_param:openldap_dn}"
186 gerrit_ldap_bind_password: ${_param:openldap_admin_password}
187 gerrit_ldap_account_base: ou=people,${_param:openldap_dn}
188 gerrit_ldap_group_base: ou=groups,${_param:openldap_dn}
189
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400190 # Rundeck
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300191 docker_image_rundeck: "docker-prod-local.artifactory.mirantis.com/mirantis/oss/rundeck:latest"
192 rundeck_db_user: rundeck
193 rundeck_db_user_password: password
194 rundeck_db_host: ${_param:haproxy_postgresql_bind_host}
195 rundeck_postgresql_username: ${_param:rundeck_db_user}
196 rundeck_postgresql_password: ${_param:rundeck_db_user_password}
197 rundeck_postgresql_database: rundeck
198 rundeck_postgresql_host: ${_param:rundeck_db_host}
199
200 rundeck_cis_enabled: True
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400201 rundeck_cis_os_auth_url: http://172.16.10.254:5000/v3/auth/tokens
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300202 rundeck_cis_os_username: "${_param:oss_openstack_username}"
203 rundeck_cis_os_password: "${_param:oss_openstack_password}"
204 rundeck_cis_os_project_name: "${_param:oss_openstack_project}"
205 rundeck_cis_os_domain_id: "${_param:oss_openstack_domain_id}"
206 rundeck_cis_jobs_repository: "https://gerrit.mcp.mirantis.net/oss/rundeck-cis-jobs"
207 rundeck_cis_jobs_revision: "master"
208 rundeck_cis_os_docker_image: "docker-prod-local.artifactory.mirantis.com/mirantis/oss/cis-openstack:latest"
209 rundeck_cis_elasticsearch_url: http://${_param:haproxy_elasticsearch_bind_host}:${_param:haproxy_elasticsearch_http_bind_port}
210
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400211 rundeck_runbook_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBPHRctBuN16hVe05HxKeN1AqPqbjvWvqQ1zcr/sbJJXHgVBTACRD6G+DAi7SSJr7dLzyeNo042szJclsH/qf9h0tcytINATzye//x6MtzXZ4YIDkcd1Yhz1LRgCXk1PvIensJAdClYOymx+SRaJxEEzbLxgqhSnYOUY3xVGbUrgfXI9+ZG9hs9zfq5JEMRjQay5p+xuYv/wCoU+pbFPDmsW0hQ99O+XBHcwrpU3crkImetTM2WfnRlBkoJypLv/HicTJtnL91/BWcebvW50oxrEq1QQ82T1Wl3pQsJw24M48fXyl/HbF2QVP6O1Ptqr3O7cIByxJWHih3paZncVEj
212 rundeck_runbook_private_key: |
213 -----BEGIN RSA PRIVATE KEY-----
214 MIIEpAIBAAKCAQEAwTx0XLQbjdeoVXtOR8SnjdQKj6m471r6kNc3K/7GySVx4FQU
215 wAkQ+hvgwIu0kia+3S88njaNONrMyXJbB/6n/YdLXMrSDQE88nv/8ejLc12eGCA5
216 HHdWIc9S0YAl5NT7yHp7CQHQpWDspsfkkWicRBM2y8YKoUp2DlGN8VRm1K4H1yPf
217 mRvYbPc36uSRDEY0GsuafsbmL/8AqFPqWxTw5rFtIUPfTvlwR3MK6VN3K5CJnrUz
218 Nln50ZQZKCcqS7/x4nEybZy/dfwVnHm71udKMaxKtUEPNk9Vpd6ULCcNuDOPH18p
219 fx2xdkFT+jtT7aq9zu3CAcsSVh4od6WmZ3FRIwIDAQABAoIBAQCsnUNY2G7Quzec
220 /KQFyi7eq+6vPK596ihwIEAhpdqPLkrWWGWc0bx/n02a0nGAKOpQjPS6ZAKtKg7L
221 WMLmll4cRLJWdrtCcLuv5ILS5uBu8s7ZwFckDZo8Y4YYrT+sdXFhOcAUYLGwOa/M
222 oD2WgvsseHl3eDZgtDJXQhTo4jtleW4/ZETmduUBx2djSfwx2vv8N6V7+5bH2kvL
223 3PgR3PYp1uD+dPDy00SwuiWDDwljubQzpres8K4ikIWWaU4/t9TUBv+PJt3Kbavi
224 0ca+jdpRdPCW4QmEhNT+D10B3DCN9uVt9leCrYzvcrT1ElqiL4ODBefG0clKq64d
225 Zc59IVypAoGBAO2PX2qApylv+uuVe2dscH10qUjgYIuXeszJYtSCiPbu7yMcuFWo
226 c6sqU2/l/4vdd8qeHvS75VPzmX2QfF9p1EsL+LE5tzc3m54WfJ884LLI+nx8ynKU
227 HrbaLCGCK09bLNXM7XkFTe9s+XrJzgqdff/rF2nZHHyoqPObSgaG//HnAoGBANA8
228 TusN74PUX4ABLwGCLEd4/qRa0kgFtwngrcUY9XMWhrJUqi9tKJLN2URhqTbOzFA0
229 qv3n6TgZQSVH4ojmgL8EElSU2qKjDQ/jk/kEr5A+sBLdzXWZWdGv/BdB2yn95JH4
230 qoD4E9PWkNwz+e6I5PivXrVVIA0PEZ2cthutR/dlAoGBAORHzvfoEzpliijSZ1h2
231 Qw67iWUngH8DnJSnvRnbKkSoTBJgqd5eVnCX5r/zs4Ky2kdRdQvWd0QaJVgc/Pcv
232 GjrXkS60+JPOEvNyRmU6ue3z5Yi03lIGdhFeS+QTUw0Z31bAaz7NUxwNixtsS1u2
233 Bftj7QbhBFfiNyCJDDSDi/XnAoGAbsd2sIO0ZSypNZ7rk+Ddj5Rl26fZcKlhq+aU
234 a2OQyI42UE7MTvjCef760+8kp1yywwSR5wvmPYrp5lxsvqnp2jTfT5H1Ekqt20MV
235 6Ic+ov1GjHLlJ+fSKcR21ySY5KkGXUWt53iSi8L9Q7h/ARBgx4/8UXmc2HWoyHGj
236 S+wOeiUCgYA2EMH3QOP+LewScNkdgDr9e20+NxmZs+b0ZOk6JAUE+/YLSNDlRQZV
237 fL0f0cjIyCdKfv+nR4gdMnm8RDHBiAqrKK3X9tiZ0fGmPHB+OLwYV8wE1u9jkJDA
238 IJA5GNU+Uj6+WbPO+hGn3NBWfb7/tR3ojSv7cBf2eEUh/vLSE9joKA==
239 -----END RSA PRIVATE KEY-----
240
Simon Pasquierc9bf7122017-07-06 09:40:53 +0200241 # Pushkin
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300242 docker_image_pushkin: "docker-sandbox.sandbox.mirantis.net/vstoiko/oss/pushkin:latest"
243 pushkin_db_user: pushkin
244 pushkin_db_user_password: kRQaFJWiqhQfy6sN
245 pushkin_db_host: ${_param:haproxy_postgresql_bind_host}
246 #..WebHook notification senders
Simon Pasquierc9bf7122017-07-06 09:40:53 +0200247 webhook_from: pushkin@example.com
248 webhook_recipients: alerts@example.com
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300249 webhook_application_id: "23"
250 webhook_login_id: "11"
Simon Pasquierc9bf7122017-07-06 09:40:53 +0200251 webhook_sfdc_username: pushkin
252
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400253 # SecurityMonkey
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300254 docker_image_security_monkey_api: "docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-api:6700"
255 docker_image_security_monkey_scheduler: "docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-scheduler:6700"
256 secmonkey_db_user: secmonkey
257 secmonkey_db_user_password: rt7HoJbb36eR9wWe
258 secmonkey_db_host: ${_param:haproxy_postgresql_bind_host}
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400259 security_monkey_openstack:
260 username: admin
261 password: workshop
262 auth_url: http://172.16.10.254:5000/v3/
263 project_name: admin
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300264 user_domain_name: "${_param:oss_openstack_domain_id}"
265 project_domain_name: "${_param:oss_openstack_domain_id}"
266
267 # OSS OpenStack
268 oss_openstack_username: "admin"
269 oss_openstack_password: "password"
270 oss_openstack_project: "admin"
271 oss_openstack_domain_id: "default"
272
273 # DevOps Portal
274 docker_image_devops_portal: "docker-prod-local.artifactory.mirantis.com/mirantis/oss/devops-portal:latest"
275
276 # ElasticSearch
277 docker_image_elasticsearch: "docker.elastic.co/elasticsearch/elasticsearch:5.4.1"
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400278
279
asledzinskiy159d7bf2017-06-12 15:25:21 +0300280 linux:
281 system:
282 package:
283 ca-certificates-java:
284 version: latest
285 network:
286 interface:
287 ens3:
288 enabled: true
289 type: eth
290 proto: static
291 address: ${_param:single_address}
292 netmask: 255.255.255.0