|
12 | 12 | 'PASSBOLT_GPG_KEYRING' => '/var/lib/passbolt/.gnupg' |
13 | 13 | } |
14 | 14 |
|
15 | | - @image = Docker::Image.build_from_dir(ROOT_DOCKERFILES, { 'dockerfile' => $dockerfile, 'buildargs' => JSON.generate($buildargs) } ) |
| 15 | + if ENV['GITLAB_CI'] |
| 16 | + Docker.authenticate!( |
| 17 | + 'username' => ENV['CI_REGISTRY_USER'].to_s, |
| 18 | + 'password' => ENV['CI_REGISTRY_PASSWORD'].to_s, |
| 19 | + 'serveraddress' => 'https://registry.gitlab.com/' |
| 20 | + ) |
| 21 | + if ENV['ROOTLESS'] |
| 22 | + @image = Docker::Image.create('fromImage' => "#{ENV['CI_REGISTRY_IMAGE']}:#{ENV['PASSBOLT_FLAVOUR']}-rootless-latest") |
| 23 | + else |
| 24 | + @image = Docker::Image.create('fromImage' => "#{ENV['CI_REGISTRY_IMAGE']}:#{ENV['PASSBOLT_FLAVOUR']}-root-latest") |
| 25 | + end |
| 26 | + else |
| 27 | + @image = Docker::Image.build_from_dir(ROOT_DOCKERFILES, { 'dockerfile' => $dockerfile, 'buildargs' => JSON.generate($buildargs) } ) |
| 28 | + end |
16 | 29 | set :docker_image, @image.id |
17 | 30 | set :docker_container_create_options, { 'Cmd' => '/bin/sh' } |
18 | 31 | end |
|
67 | 80 | expect(file(wait_for)).to exist and be_executable |
68 | 81 | end |
69 | 82 | end |
70 | | - |
| 83 | + |
71 | 84 | describe 'entrypoint' do |
72 | 85 | it 'is installed' do |
73 | | - expect(file('/docker-entrypoint.sh')).to exist and be_executable |
74 | | - expect(file('/passbolt/entrypoint.sh')).to exist and be_owned_by(passbolt_owner) |
75 | | - expect(file('/passbolt/env.sh')).to exist and be_owned_by(passbolt_owner) |
76 | | - expect(file('/passbolt/entropy.sh')).to exist and be_owned_by(passbolt_owner) |
77 | | - expect(file('/passbolt/deprecated_paths.sh')).to exist and be_executable |
| 86 | + expect(file('/docker-entrypoint.sh')).to exist and be_executable.by(passbolt_owner) |
| 87 | + if ENV['ROOTLESS'] == 'true' |
| 88 | + expect(file('/passbolt/entrypoint-rootless.sh')).to exist and be_readable.by(passbolt_owner) |
| 89 | + else |
| 90 | + expect(file('/passbolt/entrypoint.sh')).to exist and be_readable.by(passbolt_owner) |
| 91 | + end |
| 92 | + expect(file('/passbolt/env.sh')).to exist and be_readable.by(passbolt_owner) |
| 93 | + expect(file('/passbolt/entropy.sh')).to exist and be_readable.by(passbolt_owner) |
| 94 | + expect(file('/passbolt/deprecated_paths.sh')).to exist and be_readable.by(passbolt_owner) |
78 | 95 | end |
79 | 96 | end |
80 | 97 |
|
|
137 | 154 | describe 'ports exposed' do |
138 | 155 | it 'exposes port' do |
139 | 156 | exposed_ports.each do |port| |
140 | | - expect(@image.json['ContainerConfig']['ExposedPorts']).to include("#{port}/tcp") |
| 157 | + expect(@image.json['Config']['ExposedPorts']).to include("#{port}/tcp") |
141 | 158 | end |
142 | 159 | end |
143 | 160 | end |
|
0 commit comments