lib/gitlab/qa/component/postgresql.rb (35 lines of code) (raw):
# frozen_string_literal: true
module Gitlab
module QA
module Component
class PostgreSQL < Base
DOCKER_IMAGE = 'postgres'
DOCKER_IMAGE_TAG = '11'
def name
@name ||= "postgres"
end
def start
@docker.run(image: image, tag: tag) do |command|
command << "-d"
command << "--name #{name}"
command << "--net #{network}"
command.env("POSTGRES_PASSWORD", "SQL_PASSWORD")
end
end
def run_psql(command)
@docker.exec(name, %(psql -U postgres #{command}))
end
private
def wait_until_ready
start = Time.now
begin
run_psql 'template1'
rescue StandardError
sleep 5
retry if Time.now - start < 60
raise
end
end
end
end
end
end