Sha256: 2cec30eff26c46930b3e2d73a1029867a298ea208e601ba986e93d0a237f1b6c

Contents?: true

Size: 988 Bytes

Versions: 32

Compression:

Stored size: 988 Bytes

Contents

module Kontena::Cli::Nodes
  class SshCommand < Kontena::Command
    include Kontena::Cli::Common
    include Kontena::Cli::GridOptions

    parameter "NODE_ID", "Node id"
    option ["-i", "--identity-file"], "IDENTITY_FILE", "Path to ssh private key"
    option ["-u", "--user"], "USER", "Login as a user", default: "core"
    option "--private-ip", :flag, "Connect to node's private IP address"
    option "--internal-ip", :flag, "Connect to node's internal IP address (requires VPN connection)"

    def execute
      require_api_url
      require_current_grid
      token = require_token

      node = client(token).get("grids/#{current_grid}/nodes/#{node_id}")
      cmd = ['ssh']
      cmd << "-i #{identity_file}" if identity_file
      if internal_ip?
        ip = "10.81.0.#{node['node_number']}"
      elsif private_ip?
        ip = node['private_ip']
      else
        ip = node['public_ip']
      end
      cmd << "#{user}@#{ip}"
      exec(cmd.join(" "))
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
kontena-cli-1.0.0.rc2 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-1.0.0.rc1 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-1.0.0.pre4 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-1.0.0.pre3 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-1.0.0.pre2 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-1.0.0.pre1 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.17.0.pre5 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.17.0.pre4 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.17.0.pre3 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.17.0.pre2 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.17.0.pre1 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.16.3 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.16.3.rc1 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.16.2 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.16.2.rc1 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.16.1 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.16.1.rc3 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.16.1.rc2 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.16.1.rc1 lib/kontena/cli/nodes/ssh_command.rb
kontena-cli-0.16.0 lib/kontena/cli/nodes/ssh_command.rb