Class: Develoz::Generators::KamalGenerator

Inherits:
Base
  • Object
show all
Defined in:
lib/generators/develoz/kamal/kamal_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#add_gem, #app_class, #app_name, #append_env, #apply_template, #ensure_gitignore, #inject_once, #insert_route, #migration_exists?, next_migration_timestamp

Class Method Details

.source_rootObject



8
9
10
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 8

def self.source_root
  File.expand_path("templates", __dir__)
end

Instance Method Details

#add_kamal_gemObject



14
15
16
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 14

def add_kamal_gem
  add_gem "kamal", require: false, group: :development
end

#create_deploy_configObject



18
19
20
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 18

def create_deploy_config
  template "deploy.yml.tt", "config/deploy.yml"
end

#create_kamal_secretsObject



26
27
28
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 26

def create_kamal_secrets
  template "kamal_secrets.tt", ".kamal/secrets"
end

#create_postgres_accessoryObject



30
31
32
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 30

def create_postgres_accessory
  template "accessories_postgres.yml.tt", "config/accessories/postgres.yml"
end

#create_production_dockerfileObject



22
23
24
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 22

def create_production_dockerfile
  template "dockerfile_prod.tt", "Dockerfile.prod"
end

#ensure_secrets_gitignoredObject



34
35
36
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 34

def ensure_secrets_gitignored
  ensure_gitignore ".kamal/secrets"
end

#kamal_app_nameObject



38
39
40
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 38

def kamal_app_name
  ENV.fetch("KAMAL_APP_NAME", app_name)
end

#kamal_imageObject



42
43
44
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 42

def kamal_image
  ENV.fetch("KAMAL_IMAGE", kamal_app_name)
end

#kamal_registryObject



46
47
48
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 46

def kamal_registry
  ENV.fetch("KAMAL_REGISTRY", "")
end

#kamal_serversObject



50
51
52
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 50

def kamal_servers
  ENV.fetch("KAMAL_SERVERS", "")
end

#push_enabled?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/generators/develoz/kamal/kamal_generator.rb', line 54

def push_enabled?
  options[:push]
end