Sha256: b530c6ab073e0500fd3fa3339fc7cd804fd24c63113f1f9a32a797d79a39b265
Contents?: true
Size: 1.31 KB
Versions: 3
Compression:
Stored size: 1.31 KB
Contents
require 'shellwords' module Aptible module CLI module Subcommands module SSH def self.included(thor) thor.class_eval do include Helpers::Operation include Helpers::App desc 'ssh [COMMAND]', 'Run a command against an app' long_desc <<-LONGDESC Runs an interactive command against a remote Aptible app If specifying an app, invoke via: aptible ssh [--app=APP] COMMAND LONGDESC app_options option :force_tty, type: :boolean def ssh(*args) app = ensure_app(options) host = app.account.bastion_host port = app.account.bastion_port ENV['ACCESS_TOKEN'] = fetch_token ENV['APTIBLE_COMMAND'] = command_from_args(*args) ENV['APTIBLE_APP'] = app.href opts = options[:force_tty] ? '-t -t' : '' opts << " -o 'SendEnv=*' -o StrictHostKeyChecking=no " \ '-o UserKnownHostsFile=/dev/null' Kernel.exec "ssh #{opts} -p #{port} root@#{host}" end private def command_from_args(*args) args.empty? ? '/bin/bash' : Shellwords.join(args) end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
aptible-cli-0.7.1 | lib/aptible/cli/subcommands/ssh.rb |
aptible-cli-0.7.0 | lib/aptible/cli/subcommands/ssh.rb |
aptible-cli-0.6.9 | lib/aptible/cli/subcommands/ssh.rb |