Sha256: 91505130db063de465c1cf406bfb7518b204afdbbdbb1e5c812f2ce259ea12cf

Contents?: true

Size: 1.6 KB

Versions: 6

Compression:

Stored size: 1.6 KB

Contents

command :configure do |c|
  c.summary = 'Configure all Docker containers in a host using knife solo'
  c.syntax = 'ops configure [host_name]'
  c.description = "Configure all docker containers described in #{Ops::CONTAINERS_DIR}/[host_name].yml"
  c.option '--container CONTAINER_NAME', String, 'Only configure this container'
  c.example "Create a container called 'www' in the host example.com. This is described in '#{Ops::CONTAINERS_DIR}/example.com.yml' like:\n    #      www:\n    #        detach: true\n    #        image: jlebrijo/prun\n    #        ports:\n    #          - '2222:22'\n    #          - '80:80'\n    #      db:\n    #        detach: true\n    #        image: jlebrijo/prun-db\n    #        ports:\n    #          - '2223:22'\n    #          - '5432'\n    # Equivalent to run:\n    #      knife solo cook root@www.example.com -p 2222\n    #      knife solo cook root@db.example.com -p 2223'\n    # So you will need to create chef node files as 'nodes/[container_name].[host_name].json':\n    #      nodes/www.example.com.json\n    #      nodes/db.example.com.json", 'ops configure example.com'
  c.action do |args, options|
    options.default container: 'all'
    host = args[0]
    user = Ops::DEFAULT_USER
    containers = Docker::containers_for(host)

    if options.container == "all"
      containers.each do |container_name, config|
        ssh_port = Docker::get_container_port config
        Chef::cook(user,container_name, host, ssh_port)
      end
    else
      ssh_port = Docker::get_container_port containers[options.container]
      Chef::cook(user, options.container, host, ssh_port)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
open-dock-0.1.13 lib/open-dock/commands/configure_host.rb
open-dock-0.1.11 lib/open-dock/commands/configure_host.rb
open-dock-0.1.10 lib/open-dock/commands/configure_host.rb
open-dock-0.1.9 lib/open-dock/commands/configure_host.rb
open-dock-0.1.8 lib/open-dock/commands/configure_host.rb
open-dock-0.1.7 lib/open-dock/commands/configure_host.rb