Class: Keel::Generators::ServiceGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/keel/service_generator.rb

Instance Method Summary collapse

Instance Method Details

#generate_templateObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/generators/keel/service_generator.rb', line 8

def generate_template
  config    = Keel::GCloud::Config.new
  prompter  = Keel::GCloud::Prompter.new

  # Fetch namespaces from k8s
  namespaces = Keel::GCloud::Kubernetes::Namespace.fetch_all
  unless namespaces
    message = 'Unable to connect to Kubernetes, please try again later...'
    prompter.print message, :error
    return
  end

  # Prompt the user for the env, database url, and secret key to be used
  deploy_env    = prompter.prompt_for_namespace namespaces

  unless deploy_env
    message = 'Missing required parameters: deploy_env'
    prompter.print message, :error
    return
  end

  set_params(
    config:       config,
    env:          deploy_env,
  )

  template "gc-service.yml.erb", "ops/#{@params[:app]}-service.yml"
end