Class: Wco::Serverhost

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Document, Mongoid::Timestamps
Defined in:
lib/wco/serverhost.rb

Overview

require ‘autoinc’

Instance Method Summary collapse

Instance Method Details

#docker_add_service(rendered_str = nil, config = {}) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/wco/serverhost.rb', line 53

def docker_add_service rendered_str=nil, config={}
  # puts! config, '#docker_add_service'
  File.write( "/Users/piousbox/projects/docker_demo/dc-#{config[:service_name]}.yml", rendered_str )
  out = ` mkdir /Users/piousbox/projects/docker_demo/#{config[:service_name]}_data `
  puts! out, 'out'
  out = ` cd /Users/piousbox/projects/docker_demo/ ; \
    docker compose -f dc-#{config[:service_name]}.yml up -d #{config[:service_name]} ; \
    echo ok
  `;
  puts! out, 'out'
end

#load_data(rendered_str = nil, config = {}) ⇒ Object



65
66
67
# File 'lib/wco/serverhost.rb', line 65

def load_data rendered_str=nil, config={}
  File.write( "/Users/piousbox/projects/docker_demo/#{config[:service_name]}_data/index.html", rendered_str )
end

#nginx_add_site(rendered_str = nil, config = {}) ⇒ Object

def nginx_add_site rendered_str=nil, config={}

# puts! config, '#nginx_add_site'
File.write( "/usr/local/etc/nginx/sites-available/#{config[:service_name]}", rendered_str )
out = `sudo nginx enable-site #{config[:service_name]} ; \
  nginx -s reload ; \
  echo ok
`;
puts! out, 'out'

end



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/wco/serverhost.rb', line 36

def nginx_add_site rendered_str=nil, config={}
  puts! rendered_str, '#nginx_add_site // rendered_str'
  puts! config, '#nginx_add_site // config'

  File.write( "tmp/#{config[:service_name]}", rendered_str )
  Net::SSH.start( ssh_host, ssh_username, keys: ssh_key ) do |ssh|

    out = ssh.scp.upload! "tmp/#{config[:service_name]}", "#{nginx_root}/conf/sites-available/"
    puts! out, 'out'

    out = ssh.exec! "#{nginx_root}/nginx enable-site #{config[:service_name]} ; #{nginx_root}/nginx -s reload"
    puts! out, 'out'

  end

end

#ssh_hostObject

net-ssh, sshkit



19
# File 'lib/wco/serverhost.rb', line 19

field :ssh_host