terra_boi 1.0.3 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eb679b4c8cdd86155d384ae140855418f08dfa4be915012e8793c760d45492a3
4
- data.tar.gz: '00908e67753df845806abcff37d2d77356e21ee140bd740868d91d133460ef44'
3
+ metadata.gz: 7c8b8a00f0a510df857ec245094274f164b0f4c99146d32612507dfb12b5de42
4
+ data.tar.gz: f4682351027c398f643d278e21844d8acdab0c2a638768f23d80290bf5bb640e
5
5
  SHA512:
6
- metadata.gz: c13891a90eced82df61fc806153ab37f4dcda8bc1c6eb6868deabba38b560fb10ddd28c384eb682bce0e39f91a0e9f206537504a0c1e0b5c3982897f4c4b7c0d
7
- data.tar.gz: fc865f442eafd954b0a13bdb36a54ce9aab26bcc375b958c251506bdcb7efa14f60a4c59d81f868e4914b1f93f2fc54458f14dada1be076073e6444e6caca11d
6
+ metadata.gz: 0a2b04b216bf689a4fe72c05d63bedb09fca2a62b9928488fc806c79332f8d3ede3676cd764cb63b7520f41de4e1ddc63cdab66ac9cba54c72f75de9675a7342
7
+ data.tar.gz: 604fe4ee618898ca7a2cd377597b35fb81c1efbac1b631457a33a05ac89d6a85b9eeee382200b0e2c78e58f5207bf0fb0ef46341be9d272fba55e0b821e1d55f
@@ -1,29 +1,34 @@
1
1
  module TerraBoi
2
2
  module GeneratorHelpers
3
3
  # https://api.rubyonrails.org/classes/Rails/Generators/NamedBase.html#method-i-application_name
4
- def generate_application_name
4
+ def generate_application_name(separators: false)
5
5
  if defined?(Rails) && Rails.application
6
- Rails.application.class.name.split("::").first.underscore
7
- else
8
- "application"
9
- end
10
- end
6
+ app_name = Rails.application.class.name.split("::").first.underscore
7
+ unless separators
8
+ app_name = app_name.gsub('_', '')
9
+ end
11
10
 
12
- def generate_terraform_files(args)
13
- args[:env].each do |env|
14
- template(args[:template],
15
- "terraform_v2/#{env}/#{args[:file_path]}",
16
- {
17
- env: env,
18
- domain_name: (class_options && class_options[:domain_name]) || generate_application_name + '.com'
19
- }
20
- )
21
- end
22
- end
23
- end
11
+ app_name
12
+ else
13
+ "application"
14
+ end
15
+ end
16
+
17
+ def generate_terraform_files(args)
18
+ args[:env].each do |env|
19
+ template(args[:template],
20
+ "terraform_v2/#{env}/#{args[:file_path]}",
21
+ {
22
+ env: env,
23
+ domain_name: (class_options && class_options[:domain_name]) || generate_application_name + '.com'
24
+ }
25
+ )
26
+ end
27
+ end
28
+ end
24
29
  end
25
30
 
26
31
  class Rails::Generators::Base
27
- include TerraBoi::GeneratorHelpers
32
+ include TerraBoi::GeneratorHelpers
28
33
  end
29
-
34
+
@@ -15,11 +15,11 @@ module TerraBoi
15
15
 
16
16
  def init
17
17
  # defined in lib/generators/extensions
18
- self.application_name = generate_application_name
18
+ self.application_name = generate_application_name separators: false
19
19
  end
20
20
 
21
21
  def create_db_config_file
22
22
  template "db_config.erb", "config/database.yml"
23
23
  end
24
24
  end
25
- end
25
+ end
@@ -27,4 +27,4 @@ production:
27
27
  username: <%%= ENV["DB_USERNAME"] %>
28
28
  password: <%%= ENV["DB_PASSWORD"] %>
29
29
  host: <%%= ENV["DB_HOST"] %>
30
- pool: <%%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
30
+ pool: <%%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
@@ -20,7 +20,7 @@ variable "db_username" {}
20
20
  variable "db_password" {}
21
21
 
22
22
  module "db_and_s3" {
23
- source = "github.com/charliereese/terraform_modules//data?ref=v0.0.27"
23
+ source = "github.com/charliereese/terraform_modules//data?ref=v0.0.28"
24
24
 
25
25
  env = "<%= config[:env] %>"
26
26
  app_name = "<%= application_name %>"
@@ -28,4 +28,4 @@ module "db_and_s3" {
28
28
  db_encrypted = <%= config[:env] == 'prod' ? true : false %>
29
29
  db_username = var.db_username
30
30
  db_password = var.db_password
31
- }
31
+ }
@@ -3,8 +3,8 @@
3
3
  # ---------------------------------------------------------------------------------------------------------------------
4
4
 
5
5
  module "remote_state_locking" {
6
- source = "github.com/charliereese/terraform_modules//state?ref=v0.0.25"
6
+ source = "github.com/charliereese/terraform_modules//state?ref=v0.0.28"
7
7
 
8
- app_name = "<%= application_name %>"
9
- region = "us-east-2"
8
+ app_name = "<%= application_name %>"
9
+ region = "us-east-2"
10
10
  }
@@ -35,7 +35,7 @@ module TerraBoi
35
35
 
36
36
  def init
37
37
  # defined in lib/generators/extensions
38
- self.application_name = generate_application_name
38
+ self.application_name = generate_application_name separators: false
39
39
  self.class_options = options
40
40
  end
41
41
 
@@ -51,4 +51,4 @@ module TerraBoi
51
51
  end
52
52
  end
53
53
  end
54
- end
54
+ end
@@ -14,11 +14,11 @@ module TerraBoi
14
14
  )
15
15
 
16
16
  def init
17
- self.application_name = generate_application_name
17
+ self.application_name = generate_application_name separators: false
18
18
  end
19
19
 
20
20
  def create_main_terraform_file
21
21
  template "state_main.erb", "terraform/state/main.tf"
22
22
  end
23
23
  end
24
- end
24
+ end
@@ -26,7 +26,8 @@ namespace :terra_boi do
26
26
  apply_terraform_cert
27
27
  apply_ecr
28
28
  apply_data
29
- push_container_to_ecr
29
+ run_wheneverize
30
+ push_container_to_ecr
30
31
  apply_web_app_and_worker
31
32
  puts_urls_for_alb
32
33
  puts_how_to_connect_domain_and_load_balancer
@@ -106,6 +107,10 @@ def get_envs(args)
106
107
  end
107
108
  end
108
109
 
110
+ def run_wheneverize
111
+ sh "bundle exec wheneverize ."
112
+ end
113
+
109
114
  def create_boilerplate_files
110
115
  config = {}
111
116
 
@@ -271,4 +276,4 @@ def get_domain_name
271
276
 
272
277
  puts "\nRad! Setting #{domain_name} as your domain_name.".bold
273
278
  return domain_name
274
- end
279
+ end
@@ -1,3 +1,3 @@
1
1
  module TerraBoi
2
- VERSION = '1.0.3'
2
+ VERSION = '1.1.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terra_boi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charlie Reese
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-11 00:00:00.000000000 Z
11
+ date: 2020-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -44,6 +44,34 @@ dependencies:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: pg
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: whenever
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
47
75
  description: |-
48
76
  Deploy your rails application to AWS with `rake deploy`.
49
77
 
@@ -124,7 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
152
  - !ruby/object:Gem::Version
125
153
  version: '0'
126
154
  requirements: []
127
- rubygems_version: 3.1.2
155
+ rubygems_version: 3.1.4
128
156
  signing_key:
129
157
  specification_version: 4
130
158
  summary: Deploy your rails application to AWS with `rake deploy`. terra_boi generates