|
12 | 12 | String $cam_admin_password = '',
|
13 | 13 | String $cam_agent_name = $facts['networking']['fqdn'],
|
14 | 14 | String $cam_agent_password = '',
|
15 |
| -# String $tls_server_key, |
16 |
| -# String $tls_server_cert, |
17 |
| -# String $tls_server_ca, |
| 15 | + Optional[String] $tls_server_key = undef, |
| 16 | + Optional[String] $tls_server_cert = undef, |
| 17 | + Optional[String] $tls_server_ca = undef, |
18 | 18 | ) {
|
19 | 19 | require Class['anms::hostenv']
|
20 | 20 |
|
|
24 | 24 | file { '/ammos/anms/.env':
|
25 | 25 | ensure => 'file',
|
26 | 26 | content => epp('anms/env.epp'),
|
27 |
| - } |
28 |
| - file { '/ammos/anms/docker-compose.yml': |
29 |
| - ensure => 'file', |
30 |
| - source => 'puppet:///modules/anms/docker-compose.yml', |
| 27 | + owner => 'root', |
| 28 | + group => 'root', |
| 29 | + mode => '0644', |
31 | 30 | }
|
32 | 31 | file { ['/ammos/etc', '/ammos/etc/pki', '/ammos/etc/pki/tls',
|
33 | 32 | '/ammos/etc/pki/tls/private', '/ammos/etc/pki/tls/certs']:
|
34 | 33 | ensure => 'directory'
|
35 | 34 | }
|
36 | 35 | file { '/ammos/etc/pki/tls/private/ammos-server-key.pem':
|
37 | 36 | ensure => 'file',
|
| 37 | + source => $tls_server_key, |
38 | 38 | owner => 'root',
|
39 | 39 | group => 'root',
|
40 | 40 | mode => '0644',
|
41 | 41 | }
|
42 | 42 | file { '/ammos/etc/pki/tls/certs/ammos-server-cert.pem':
|
43 | 43 | ensure => 'file',
|
| 44 | + source => $tls_server_cert, |
44 | 45 | owner => 'root',
|
45 | 46 | group => 'root',
|
46 | 47 | mode => '0644',
|
47 | 48 | }
|
48 | 49 | file { '/ammos/etc/pki/tls/certs/ammos-ca-bundle.crt':
|
49 | 50 | ensure => 'file',
|
| 51 | + source => $tls_server_ca, |
50 | 52 | owner => 'root',
|
51 | 53 | group => 'root',
|
52 | 54 | mode => '0644',
|
|
101 | 103 | # Images pulled from remote registry
|
102 | 104 | if !empty($docker_image_prefix) and !empty($docker_registry_user) and !empty($docker_registry_pass) {
|
103 | 105 | exec { 'docker-login':
|
104 |
| - command => "docker login ${docker_image_prefix} --username \"${docker_registry_user}\" --password \"${docker_registry_pass}\"", |
105 | 106 | path => $facts['path'],
|
| 107 | + command => "docker login ${docker_image_prefix} --username \"${docker_registry_user}\" --password \"${docker_registry_pass}\"", |
| 108 | + require => Service['docker'], |
106 | 109 | before => [
|
107 |
| - Exec['anms-pull'], |
108 |
| - Exec['agents-pull'], |
109 |
| - ], |
110 |
| - } |
111 |
| - exec { 'anms-pull': |
112 |
| - command => 'docker-compose -f /ammos/anms/docker-compose.yml pull', |
113 |
| - path => $facts['path'], |
114 |
| - require => [ |
115 |
| - File['/ammos/anms/docker-compose.yml'], |
116 |
| - File['/ammos/anms/.env'], |
117 |
| - ], |
118 |
| - before => Anms::Docker_compose['anms'], |
119 |
| - } |
120 |
| - exec { 'agents-pull': |
121 |
| - command => 'docker-compose -f /ammos/anms/agent-compose.yml pull', |
122 |
| - path => $facts['path'], |
123 |
| - require => [ |
124 |
| - File['/ammos/anms/agent-compose.yml'], |
125 |
| - File['/ammos/anms/.env'], |
| 110 | + Anms::Docker_compose['anms'], |
| 111 | + Anms::Docker_compose['agents'], |
126 | 112 | ],
|
127 |
| - before => Anms::Docker_compose['agents'], |
128 | 113 | }
|
129 | 114 | }
|
| 115 | + |
| 116 | + # volume for TLS-related PKIX files |
| 117 | + file { '/ammos/anms/create_volume.sh': |
| 118 | + ensure => 'file', |
| 119 | + source => 'puppet:///modules/anms/create_volume.sh', |
| 120 | + owner => 'root', |
| 121 | + group => 'root', |
| 122 | + mode => '0755', |
| 123 | + } |
| 124 | + exec { 'volume-ammos-tls': |
| 125 | + path => $facts['path'], |
| 126 | + command => '/ammos/anms/create_volume.sh', |
| 127 | + unless => 'docker volume inspect ammos-tls', |
| 128 | + require => [ |
| 129 | + Service['docker'], |
| 130 | + File['/ammos/anms/create_volume.sh'], |
| 131 | + ], |
| 132 | + subscribe => [ |
| 133 | + File['/ammos/etc/pki/tls/private/ammos-server-key.pem'], |
| 134 | + File['/ammos/etc/pki/tls/certs/ammos-server-cert.pem'], |
| 135 | + File['/ammos/etc/pki/tls/certs/ammos-ca-bundle.crt'], |
| 136 | + ], |
| 137 | + before => Anms::Docker_compose['anms'], |
| 138 | + notify => Anms::Docker_compose['anms'], |
| 139 | + } |
| 140 | + |
| 141 | + file { '/ammos/anms/docker-compose.yml': |
| 142 | + ensure => 'file', |
| 143 | + source => 'puppet:///modules/anms/docker-compose.yml', |
| 144 | + owner => 'root', |
| 145 | + group => 'root', |
| 146 | + mode => '0644', |
| 147 | + } |
130 | 148 | anms::docker_compose { 'anms':
|
131 | 149 | ensure => 'present',
|
132 | 150 | compose_files => ['/ammos/anms/docker-compose.yml'],
|
|
140 | 158 | file { '/ammos/anms/agent-compose.yml':
|
141 | 159 | ensure => 'file',
|
142 | 160 | source => 'puppet:///modules/anms/agent-compose.yml',
|
| 161 | + owner => 'root', |
| 162 | + group => 'root', |
| 163 | + mode => '0644', |
143 | 164 | }
|
144 | 165 | anms::docker_compose { 'agents':
|
145 | 166 | ensure => 'present',
|
|
0 commit comments