Sha256: 7ada0fc48874f6dd0574318a94af33c0a4cbbf4f7c75e448a3841a2f519fc4fa
Contents?: true
Size: 1.43 KB
Versions: 1
Compression:
Stored size: 1.43 KB
Contents
# frozen_string_literal: true class Kraaken::App attr_reader :name, :server, :destination def initialize(name:, destination:, server:, config:) @name = name @destination = destination @server = server @config = config end def environment create ssh.connect(server) do |ssh| ssh.read_file("~/#{full_name}/.env") end end def environment=(content) ssh.connect(server) do |ssh| ssh.write_file("~/#{full_name}/.env", content) end end def create ssh.connect(server) do |ssh| ssh.run("mkdir -p ~/#{full_name}") ssh.run("touch ~/#{full_name}/.env") end end def deploy(file) ssh.connect(server) do |ssh| ssh.run <<~BASH mkdir -p ~/#{full_name} cd ~/#{full_name} touch .env BASH ssh.write_file("~/#{full_name}/docker-compose.yml", config.load_template(file.path, app: self)) ssh.run <<~BASH cd ~/#{full_name} docker-compose pull docker-compose up -d BASH end end def destroy ssh.connect(server) do |ssh| ssh.run("cd ~/#{full_name} && docker-compose down --volumes --remove-orphans") ssh.run("rm -rf ~/#{full_name}") end end def logs ssh.connect(server) do |ssh| ssh.run("cd ~/#{full_name} && docker-compose logs -f") end end def full_name "#{name}-#{destination}" end private attr_reader :config delegate :ssh, to: :config end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kraaken-0.0.1 | lib/kraaken/app.rb |