blob: 5bdbb9a1967359abc711e8f8e6818db5d27b603b [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
asledzinskiy159d7bf2017-06-12 15:25:21 +030092 control_vip_address: ${_param:cicd_control_address}
Dennis Dmitriev55c0f602017-07-13 21:03:29 +030093 cluster_vip_address: ${_param:control_vip_address}
94 glusterfs_service_host: ${_param:control_vip_address}
asledzinskiy159d7bf2017-06-12 15:25:21 +030095 cluster_public_host: ${_param:control_vip_address}
96 salt_api_password: Dnx3fapzHIcGuURdDck3DPv78V3ehwue
97 # Docker images and versions
98 docker_registry_http_secret: jvJRsYDEPts2HdNk
99 # CI/CD service databases
100 mysql_admin_password: TSi6AgDGv2nZjblQ
101 mysql_gerrit_password: f6XRcwSNHTh8zCuS
102
103 # Proxy
104 cluster_ssl_certificate:
105 enabled: true
106 pem_file: /etc/haproxy/ssl/${_param:cluster_public_host}-all.pem
107 haproxy_bind_address: ${_param:cluster_vip_address}
108 haproxy_mysql_source_port: 13306
109 salt_minion_ca_host: cfg01.${_param:cluster_domain}
110
111 # Aptly
112 aptly_gpg_keypair_id: none
113 aptly_gpg_passphrase: none
114 aptly_server_secure: false
115 aptly_gpg_public_key: none
116 aptly_gpg_private_key: none
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400117
asledzinskiy159d7bf2017-06-12 15:25:21 +0300118 # OpenLDAP
119 openldap_organisation: "${_param:cluster_name}"
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300120 openldap_dn: "dc=virtual-mcp-ocata-cicd,dc=local"
asledzinskiy159d7bf2017-06-12 15:25:21 +0300121 openldap_domain: "virtual-mcp-ocata-cicd.local"
122 openldap_admin_password: UdTuP7GPPTaCoPSV
123 openldap_config_password: RQK8h0F3aNdvv26U
124 openldap_readonly_password: myMSnD6mn8ziUP2S
125
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400126 # PostgreSQL
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300127 docker_image_postgresql: "library/postgres:9.6"
128 postgresql_admin_user_password: faeRpEA4uye2Sj2s
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400129 postgresql_client_user: ${_param:postgresql_admin_user}
130 postgresql_client_password: ${_param:postgresql_admin_user_password}
131 postgresql_client_host: ${_param:haproxy_postgresql_bind_host}
132 postgresql_client_port: ${_param:haproxy_postgresql_bind_port}
133
asledzinskiy159d7bf2017-06-12 15:25:21 +0300134 # Jenkins
135 jenkins_slave_user: admin
136 jenkins_client_user: admin
137 jenkins_admin_password: ${_param:openldap_admin_password}
138 jenkins_security_ldap_server: ${_param:cluster_vip_address}
139 jenkins_security_ldap_root_dn: ${_param:openldap_dn}
140 jenkins_security_ldap_manager_dn: "cn=admin,${_param:openldap_dn}"
141 jenkins_security_ldap_manager_password: ${_param:openldap_admin_password}
142 jenkins_slave_password: ${_param:jenkins_admin_password}
143 jenkins_client_password: ${_param:jenkins_admin_password}
144 jenkins_admin_email: ${_param:admin_email}
145 jenkins_admin_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3PNQbFye7OC13h7esNT+LXtIKOZbmSmQdj2wrVW1nwFQBodgG2XFJUyKwVZ3gCqS68sN0kOzqix/R4oOL2lm1vZX69Mx3mON6fkvMdgpaEE78VH/SAiuUhCLP83Ic1QRp55uriZ0a1Pa91kqqXnqWLQX7NK4oTtps1sukxg+WVyT55jnwJ8F4a2HIgf+heZNunfw1NlQI6tGXwdiTON7agVybodtRQZctB3/6rQrxKFT9No5BYrEtt2sEg4xBl/XvhbBIyKmi2URgSOplpezGGJcVHTCddRRP0st4etsh39I8H0qzwWnufgYr1dGCr7AOt0grQOUaAKivjK/PV7IL
146 jenkins_admin_private_key: |
147 -----BEGIN RSA PRIVATE KEY-----
148 MIIEpQIBAAKCAQEAtzzUGxcnuzgtd4e3rDU/i17SCjmW5kpkHY9sK1VtZ8BUAaHY
149 BtlxSVMisFWd4AqkuvLDdJDs6osf0eKDi9pZtb2V+vTMd5jjen5LzHYKWhBO/FR/
150 0gIrlIQiz/NyHNUEaeebq4mdGtT2vdZKql56li0F+zSuKE7abNbLpMYPllck+eY5
151 8CfBeGthyIH/oXmTbp38NTZUCOrRl8HYkzje2oFcm6HbUUGXLQd/+q0K8ShU/TaO
152 QWKxLbdrBIOMQZf174WwSMipotlEYEjqZaXsxhiXFR0wnXUUT9LLeHrbId/SPB9K
153 s8Fp7n4GK9XRgq+wDrdIK0DlGgCor4yvz1eyCwIDAQABAoIBAB3a5Vw8m5afgpj1
154 HfILAv18R5Cu7W08Na+zTJaK5rZ+2bEiY4ZKK3EdAIvmh0CXu1tSbpIxgsh8PoT9
155 +RzySKeZ6jPnauEZoga1SThZCzq9aYEna2QWQm+CUAG90pvsAToYKH78fwJ+LG2l
156 2qiDmEmbsFvLq4yZvHD7VlbUhnmiFm1kzPPa2SdeimYl0TlOKOMS/l0UkG0isMEQ
157 3dGR3GOCA9az7UAuBvB0rAhOjWUfDEFGeKYlZ9kHgK6r7eYMA0Ij7eIbZYvE0tAE
158 slhhevDbrnEpzD3XClSmco62RhRIhvS639Q09IksA+yLBFLnjVOtEsWroD4iFDPI
159 4kLTewECgYEA6x6i5YlY5Mxsq7S22d4XcSafd7FJm7FNZeM+8/aPeQjSunXby5rD
160 pYQBYGZG9pNuJ6R6hxunlWiTmzkogZLoWqDfTrjjJ7qnYpA/6NS97jdDBq8o5lIb
161 LWFLn86QyuLUFLUzPbeBsAfiRAoKm6qdmwCMNHEuleLOGVUdTx84PksCgYEAx4Kr
162 8jvyRazRQtbYWTvMViHs7w5tYRUI7NZ35DfI2nJA/VRWfCvK7F/QpgFfeEB3vBVM
163 +s9HBiJ23cqS44Iw/WhGMdoXSXFqiz6Ry8oQ0LXl1ed1eq8Bq/Y6qbGpgUv6QdYX
164 DDE2vezsq4jcmFVRCKexCTVKgf/bSN8VhSLfA0ECgYEAsP1w9oU7y5AvRdpVww+y
165 adT/OiTVGkSP1OEJ5LB4NE52AzLxcAVivdfvCVg0ly1IQMNKESa6Mnh0lOakHVYv
166 Xvm24BXBuYiCtGmOEoEDMK2c4Q0+JpMsLi8NtJDU4kV6DNSSbCUVlSN6Kmm8ro3y
167 8lmpMVj6Do6bQuqVk5gWyJ0CgYEApTU6p1smkrW5jyyTeMkAuu5a4dZDktm1S1GJ
168 dA0RoHpuAJjfCPHGlpf9EgofAVf5DmFhHmuX96eAYMbHfeeoI58+STe8gs+NF4MX
169 ffZ0mC+YA9onuRDERJ6gEzcQEwZUVEIxUaJLH1ja3mx1pxs3AADEo8hiS2YQMraw
170 fk/S9kECgYEAmB1tL0F796xtfaeNwQ35FZW2gpWvJLrBfO5vkXrA8JFhldW5LHr0
171 7xy+goivnFtD2rvCMNOVWdGT4yEftajz6vXsXLr2XQ8X3HH8O0BIqWyobguQs3t0
172 d4sWoM2Qt45r+B/UoLMPmkjtebmQe+gKbdv8rv+FWPAckc7L7MCkveA=
173 -----END RSA PRIVATE KEY-----
174 # Jobs params
175 jenkins_gerrit_url: ssh://admin@${_param:haproxy_gerrit_bind_host}:${_param:haproxy_gerrit_ssh_bind_port}
176 jenkins_aptly_api_url: http://${_param:haproxy_aptly_api_bind_host}:${_param:haproxy_aptly_api_bind_port}
177 jenkins_aptly_url: http://${_param:haproxy_aptly_public_bind_host}:${_param:haproxy_aptly_public_bind_port}
178 # Gerrit
179 gerrit_admin_password: ${_param:openldap_admin_password}
180 gerrit_admin_email: ${_param:admin_email}
181 gerrit_public_host: http://${_param:haproxy_gerrit_bind_host}:${_param:haproxy_gerrit_bind_port}
182 gerrit_admin_public_key: ${_param:jenkins_admin_public_key}
183 gerrit_admin_private_key: ${_param:jenkins_admin_private_key}
184 gerrit_auth_type: LDAP
185 gerrit_ldap_server: "ldap://${_param:cluster_vip_address}"
186 gerrit_ldap_bind_user: "cn=admin,${_param:openldap_dn}"
187 gerrit_ldap_bind_password: ${_param:openldap_admin_password}
188 gerrit_ldap_account_base: ou=people,${_param:openldap_dn}
189 gerrit_ldap_group_base: ou=groups,${_param:openldap_dn}
190
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400191 # Rundeck
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300192 docker_image_rundeck: "docker-prod-local.artifactory.mirantis.com/mirantis/oss/rundeck:latest"
193 rundeck_db_user: rundeck
194 rundeck_db_user_password: password
195 rundeck_db_host: ${_param:haproxy_postgresql_bind_host}
196 rundeck_postgresql_username: ${_param:rundeck_db_user}
197 rundeck_postgresql_password: ${_param:rundeck_db_user_password}
198 rundeck_postgresql_database: rundeck
199 rundeck_postgresql_host: ${_param:rundeck_db_host}
200
201 rundeck_cis_enabled: True
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400202 rundeck_cis_os_auth_url: http://172.16.10.254:5000/v3/auth/tokens
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300203 rundeck_cis_os_username: "${_param:oss_openstack_username}"
204 rundeck_cis_os_password: "${_param:oss_openstack_password}"
205 rundeck_cis_os_project_name: "${_param:oss_openstack_project}"
206 rundeck_cis_os_domain_id: "${_param:oss_openstack_domain_id}"
207 rundeck_cis_jobs_repository: "https://gerrit.mcp.mirantis.net/oss/rundeck-cis-jobs"
208 rundeck_cis_jobs_revision: "master"
209 rundeck_cis_os_docker_image: "docker-prod-local.artifactory.mirantis.com/mirantis/oss/cis-openstack:latest"
210 rundeck_cis_elasticsearch_url: http://${_param:haproxy_elasticsearch_bind_host}:${_param:haproxy_elasticsearch_http_bind_port}
211
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400212 rundeck_runbook_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBPHRctBuN16hVe05HxKeN1AqPqbjvWvqQ1zcr/sbJJXHgVBTACRD6G+DAi7SSJr7dLzyeNo042szJclsH/qf9h0tcytINATzye//x6MtzXZ4YIDkcd1Yhz1LRgCXk1PvIensJAdClYOymx+SRaJxEEzbLxgqhSnYOUY3xVGbUrgfXI9+ZG9hs9zfq5JEMRjQay5p+xuYv/wCoU+pbFPDmsW0hQ99O+XBHcwrpU3crkImetTM2WfnRlBkoJypLv/HicTJtnL91/BWcebvW50oxrEq1QQ82T1Wl3pQsJw24M48fXyl/HbF2QVP6O1Ptqr3O7cIByxJWHih3paZncVEj
213 rundeck_runbook_private_key: |
214 -----BEGIN RSA PRIVATE KEY-----
215 MIIEpAIBAAKCAQEAwTx0XLQbjdeoVXtOR8SnjdQKj6m471r6kNc3K/7GySVx4FQU
216 wAkQ+hvgwIu0kia+3S88njaNONrMyXJbB/6n/YdLXMrSDQE88nv/8ejLc12eGCA5
217 HHdWIc9S0YAl5NT7yHp7CQHQpWDspsfkkWicRBM2y8YKoUp2DlGN8VRm1K4H1yPf
218 mRvYbPc36uSRDEY0GsuafsbmL/8AqFPqWxTw5rFtIUPfTvlwR3MK6VN3K5CJnrUz
219 Nln50ZQZKCcqS7/x4nEybZy/dfwVnHm71udKMaxKtUEPNk9Vpd6ULCcNuDOPH18p
220 fx2xdkFT+jtT7aq9zu3CAcsSVh4od6WmZ3FRIwIDAQABAoIBAQCsnUNY2G7Quzec
221 /KQFyi7eq+6vPK596ihwIEAhpdqPLkrWWGWc0bx/n02a0nGAKOpQjPS6ZAKtKg7L
222 WMLmll4cRLJWdrtCcLuv5ILS5uBu8s7ZwFckDZo8Y4YYrT+sdXFhOcAUYLGwOa/M
223 oD2WgvsseHl3eDZgtDJXQhTo4jtleW4/ZETmduUBx2djSfwx2vv8N6V7+5bH2kvL
224 3PgR3PYp1uD+dPDy00SwuiWDDwljubQzpres8K4ikIWWaU4/t9TUBv+PJt3Kbavi
225 0ca+jdpRdPCW4QmEhNT+D10B3DCN9uVt9leCrYzvcrT1ElqiL4ODBefG0clKq64d
226 Zc59IVypAoGBAO2PX2qApylv+uuVe2dscH10qUjgYIuXeszJYtSCiPbu7yMcuFWo
227 c6sqU2/l/4vdd8qeHvS75VPzmX2QfF9p1EsL+LE5tzc3m54WfJ884LLI+nx8ynKU
228 HrbaLCGCK09bLNXM7XkFTe9s+XrJzgqdff/rF2nZHHyoqPObSgaG//HnAoGBANA8
229 TusN74PUX4ABLwGCLEd4/qRa0kgFtwngrcUY9XMWhrJUqi9tKJLN2URhqTbOzFA0
230 qv3n6TgZQSVH4ojmgL8EElSU2qKjDQ/jk/kEr5A+sBLdzXWZWdGv/BdB2yn95JH4
231 qoD4E9PWkNwz+e6I5PivXrVVIA0PEZ2cthutR/dlAoGBAORHzvfoEzpliijSZ1h2
232 Qw67iWUngH8DnJSnvRnbKkSoTBJgqd5eVnCX5r/zs4Ky2kdRdQvWd0QaJVgc/Pcv
233 GjrXkS60+JPOEvNyRmU6ue3z5Yi03lIGdhFeS+QTUw0Z31bAaz7NUxwNixtsS1u2
234 Bftj7QbhBFfiNyCJDDSDi/XnAoGAbsd2sIO0ZSypNZ7rk+Ddj5Rl26fZcKlhq+aU
235 a2OQyI42UE7MTvjCef760+8kp1yywwSR5wvmPYrp5lxsvqnp2jTfT5H1Ekqt20MV
236 6Ic+ov1GjHLlJ+fSKcR21ySY5KkGXUWt53iSi8L9Q7h/ARBgx4/8UXmc2HWoyHGj
237 S+wOeiUCgYA2EMH3QOP+LewScNkdgDr9e20+NxmZs+b0ZOk6JAUE+/YLSNDlRQZV
238 fL0f0cjIyCdKfv+nR4gdMnm8RDHBiAqrKK3X9tiZ0fGmPHB+OLwYV8wE1u9jkJDA
239 IJA5GNU+Uj6+WbPO+hGn3NBWfb7/tR3ojSv7cBf2eEUh/vLSE9joKA==
240 -----END RSA PRIVATE KEY-----
241
Simon Pasquierc9bf7122017-07-06 09:40:53 +0200242 # Pushkin
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300243 docker_image_pushkin: "docker-sandbox.sandbox.mirantis.net/vstoiko/oss/pushkin:latest"
244 pushkin_db_user: pushkin
245 pushkin_db_user_password: kRQaFJWiqhQfy6sN
246 pushkin_db_host: ${_param:haproxy_postgresql_bind_host}
247 #..WebHook notification senders
Simon Pasquierc9bf7122017-07-06 09:40:53 +0200248 webhook_from: pushkin@example.com
249 webhook_recipients: alerts@example.com
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300250 webhook_application_id: "23"
251 webhook_login_id: "11"
Simon Pasquierc9bf7122017-07-06 09:40:53 +0200252 webhook_sfdc_username: pushkin
253
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400254 # SecurityMonkey
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300255 docker_image_security_monkey_api: "docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-api:6700"
256 docker_image_security_monkey_scheduler: "docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-scheduler:6700"
257 secmonkey_db_user: secmonkey
258 secmonkey_db_user_password: rt7HoJbb36eR9wWe
259 secmonkey_db_host: ${_param:haproxy_postgresql_bind_host}
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400260 security_monkey_openstack:
261 username: admin
262 password: workshop
263 auth_url: http://172.16.10.254:5000/v3/
264 project_name: admin
Dennis Dmitrievd81aae92017-07-10 15:52:30 +0300265 user_domain_name: "${_param:oss_openstack_domain_id}"
266 project_domain_name: "${_param:oss_openstack_domain_id}"
267
268 # OSS OpenStack
269 oss_openstack_username: "admin"
270 oss_openstack_password: "password"
271 oss_openstack_project: "admin"
272 oss_openstack_domain_id: "default"
273
274 # DevOps Portal
275 docker_image_devops_portal: "docker-prod-local.artifactory.mirantis.com/mirantis/oss/devops-portal:latest"
276
277 # ElasticSearch
278 docker_image_elasticsearch: "docker.elastic.co/elasticsearch/elasticsearch:5.4.1"
Ilya Kharin04fe8f12017-06-27 14:06:40 +0400279
280
asledzinskiy159d7bf2017-06-12 15:25:21 +0300281 linux:
282 system:
283 package:
284 ca-certificates-java:
285 version: latest
286 network:
287 interface:
288 ens3:
289 enabled: true
290 type: eth
291 proto: static
292 address: ${_param:single_address}
293 netmask: 255.255.255.0