Class: Nvoi::Cli::Deploy::Steps::ConfigureTunnel
- Inherits:
-
Object
- Object
- Nvoi::Cli::Deploy::Steps::ConfigureTunnel
- Defined in:
- lib/nvoi/cli/deploy/steps/configure_tunnel.rb
Overview
ConfigureTunnel handles Cloudflare tunnel setup for services
Instance Method Summary collapse
-
#initialize(config, log) ⇒ ConfigureTunnel
constructor
A new instance of ConfigureTunnel.
- #run ⇒ Object
Constructor Details
#initialize(config, log) ⇒ ConfigureTunnel
Returns a new instance of ConfigureTunnel.
9 10 11 12 13 14 15 |
# File 'lib/nvoi/cli/deploy/steps/configure_tunnel.rb', line 9 def initialize(config, log) @config = config @log = log cf = config.cloudflare @cf_client = External::Dns::Cloudflare.new(cf.api_token, cf.account_id) end |
Instance Method Details
#run ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/nvoi/cli/deploy/steps/configure_tunnel.rb', line 17 def run @log.info "Configuring Cloudflare tunnels" tunnels = [] @config.deploy.application.app.each do |service_name, service_config| next unless service_config.domain && !service_config.domain.empty? next unless service_config.port && service_config.port.positive? tunnel_info = configure_service_tunnel(service_name, service_config) tunnels << tunnel_info end @log.success "All tunnels configured (%d)", tunnels.size tunnels end |