lib/gitlab/qa/docker/volumes.rb (20 lines of code) (raw):
# frozen_string_literal: true
require 'tmpdir'
module Gitlab
module QA
module Docker
class Volumes
VOLUMES = { 'config' => '/etc/gitlab',
'data' => '/var/opt/gitlab' }.freeze
QA_CONTAINER_WORKDIR = '/home/gitlab/qa'
def initialize(volumes = VOLUMES)
@volumes = volumes
end
def with_temporary_volumes
# macOS's tmpdir is a symlink /var/folders -> /private/var/folders
# but Docker on macOS exposes /private and disallow exposing /var/
# so we need to get the real tmpdir path
Dir.mktmpdir('gitlab-qa-', File.realpath(Dir.tmpdir)).tap do |dir|
yield @volumes.transform_keys { |k| "#{dir}/#{k}" }
end
end
end
end
end
end