Class: Contained::CLI::Init

Inherits:
Base
  • Object
show all
Defined in:
lib/contained/cli/init.rb

Overview

Examples:

Contained::CLI::Init.handle!(stdout: $stdout, stderr: $stderr, argv: %i[--image example/app --stack app])

Constant Summary collapse

Arguments =
Data.define(:image, :stack)
CONFIG_DEPLOY_COMPOSE_YML =
<<~YAML
  services:
    app:
      image: example/app
      ports:
        - "80:80"
      healthcheck:
        test: ["CMD", "curl", "-f", "http://localhost/up"]
        interval: 30s
        timeout: 10s
        retries: 3
YAML
CONFIG_DEPLOY_YML =
<<~YAML
  stack: example

  registry:
    server: hub.docker.com
    username:
      - DOCKER_REGISTRY_TOKEN
    password:
      - DOCKER_REGISTRY_TOKEN

  environments:
    production:
      hosts
        - 1.2.3.4
        - 5.6.7.8
    test:
      hosts
        - 4.3.2.1
        - 8.7.6.5
YAML

Instance Method Summary collapse

Methods inherited from Base

handle!, #initialize

Constructor Details

This class inherits a constructor from Contained::CLI::Base

Instance Method Details

#handle!Object



46
47
48
49
50
51
52
53
# File 'lib/contained/cli/init.rb', line 46

def handle!
  arguments = arguments!
  path = arguments.fetch(:path)

  setup_config_dir(path:)
  setup_config_deploy_yml(path:)
  setup_config_deploy_compose_yml(path:)
end