Class: Gitlab::QA::Component::InternetTunnel
- Defined in:
- lib/gitlab/qa/component/internet_tunnel.rb
Constant Summary collapse
- DOCKER_IMAGE =
'gitlab/ssh-tunnel'
- DOCKER_IMAGE_TAG =
'1.0.0'
Instance Attribute Summary collapse
-
#gitlab_hostname ⇒ Object
writeonly
Sets the attribute gitlab_hostname.
Attributes inherited from Base
#docker, #environment, #network, #ports, #runner_network, #volumes
Instance Method Summary collapse
-
#initialize ⇒ InternetTunnel
constructor
A new instance of InternetTunnel.
- #instance ⇒ Object
- #url ⇒ Object
Methods inherited from Base
#add_network_alias, #hostname, #image, #prepare, #prepare_docker_container, #prepare_docker_image, #prepare_network, #process_exec_commands, #pull, #restart, #tag, #teardown!
Methods included from Scenario::Actable
Constructor Details
#initialize ⇒ InternetTunnel
Returns a new instance of InternetTunnel.
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/gitlab/qa/component/internet_tunnel.rb', line 14 def initialize super key_dir = ENV['CI_PROJECT_DIR'] || Dir.tmpdir @ssh_key = Tempfile.new('tunnel-ssh-private-key', key_dir) @ssh_key.write(ENV.fetch('TUNNEL_SSH_PRIVATE_KEY')) @ssh_key.close File.chmod(0o600, @ssh_key.path) @volumes['/root/.ssh/id_rsa'] = @ssh_key.path end |
Instance Attribute Details
#gitlab_hostname=(value) ⇒ Object (writeonly)
Sets the attribute gitlab_hostname
12 13 14 |
# File 'lib/gitlab/qa/component/internet_tunnel.rb', line 12 def gitlab_hostname=(value) @gitlab_hostname = value end |
Instance Method Details
#instance ⇒ Object
27 28 29 30 31 |
# File 'lib/gitlab/qa/component/internet_tunnel.rb', line 27 def instance raise 'Please provide a block!' unless block_given? super end |
#url ⇒ Object
33 34 35 |
# File 'lib/gitlab/qa/component/internet_tunnel.rb', line 33 def url "https://#{subdomain}.#{tunnel_server_hostname}" end |