class Dip::Commands::SSH::Up
Public Class Methods
new(key:, volume:, interactive:, user: nil)
click to toggle source
# File lib/dip/commands/ssh.rb, line 10 def initialize(key:, volume:, interactive:, user: nil) @key = key @volume = volume @interactive = interactive @user = user end
Public Instance Methods
execute()
click to toggle source
# File lib/dip/commands/ssh.rb, line 17 def execute exec_subprocess("docker", "volume create --name ssh_data", out: File::NULL, err: File::NULL) exec_subprocess( "docker", "run #{user_args}--detach --volume ssh_data:/ssh --name=ssh-agent whilp/ssh-agent" ) key = Dip.env.interpolate(@key) exec_subprocess("docker", "run #{container_args} whilp/ssh-agent ssh-add #{key}") end
Private Instance Methods
container_args()
click to toggle source
# File lib/dip/commands/ssh.rb, line 35 def container_args result = %w[--rm] volume = Dip.env.interpolate(@volume) result << "--volume ssh_data:/ssh" result << "--volume #{volume}:#{volume}" result << "--interactive --tty" if @interactive result.join(" ") end
user_args()
click to toggle source
# File lib/dip/commands/ssh.rb, line 31 def user_args "-u #{@user} " if @user end