hephaestus 0.8.11 → 0.8.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +6 -0
  4. data/README.md +3 -1
  5. data/bin/hephaestus +31 -13
  6. data/lib/hephaestus/app_builder.rb +23 -145
  7. data/lib/hephaestus/app_name.rb +33 -0
  8. data/lib/hephaestus/generators/app_generator.rb +70 -72
  9. data/lib/hephaestus/generators/config_generator.rb +3 -114
  10. data/lib/hephaestus/generators/core_generator.rb +18 -58
  11. data/lib/hephaestus/generators/db_generator.rb +12 -0
  12. data/lib/hephaestus/generators/deployment_generator.rb +1 -6
  13. data/lib/hephaestus/generators/lib_generator.rb +0 -10
  14. data/lib/hephaestus/generators/license_generator.rb +4 -1
  15. data/lib/hephaestus/generators/rubocop_generator.rb +1 -1
  16. data/lib/hephaestus/version.rb +1 -1
  17. data/lib/hephaestus.rb +2 -0
  18. data/templates/Dockerfile +7 -75
  19. data/templates/Gemfile +73 -0
  20. data/templates/Procfile +2 -0
  21. data/templates/app/controllers/app_controller.rb.tt +35 -0
  22. data/templates/app/controllers/application_controller.rb +1 -7
  23. data/templates/app/controllers/concerns/authable.rb.tt +50 -0
  24. data/templates/app/controllers/settings_controller.rb +5 -28
  25. data/templates/app/controllers/yetto_controller.rb +9 -10
  26. data/templates/app/lib/body_parameter/yetto_parameters.rb +8 -29
  27. data/templates/app/lib/{constants/app.rb → constants.rb} +1 -3
  28. data/templates/app/services/{http_service.rb → app_service.rb.tt} +6 -6
  29. data/templates/app/views/settings/new.json.jbuilder.tt +18 -0
  30. data/templates/bin/bundle +115 -0
  31. data/templates/bin/docker-entrypoint +20 -10
  32. data/templates/bin/foreman +27 -0
  33. data/templates/bin/jobs +7 -0
  34. data/templates/bin/rails +6 -0
  35. data/templates/bin/rake +6 -0
  36. data/templates/bin/setup +28 -0
  37. data/templates/bin/tapioca +27 -0
  38. data/templates/config/application.rb.tt +36 -0
  39. data/templates/config/boot.rb +7 -0
  40. data/templates/config/environment.rb +8 -0
  41. data/templates/config/environments/blank.rb +7 -0
  42. data/templates/config/initializers/environment.rb +2 -36
  43. data/templates/config/locales/en.yml +5 -31
  44. data/templates/config/puma.rb +5 -0
  45. data/templates/config/routes.rb.tt +28 -0
  46. data/templates/config.ru +9 -0
  47. data/templates/db/queue_schema.rb +132 -0
  48. data/templates/db/schema.rb +17 -0
  49. data/templates/lib/schemas/api/2023-03-06/components/parameters/headers/yetto.json +42 -0
  50. data/templates/lib/schemas/api/2023-03-06/components/parameters/plugInstallation.json +12 -0
  51. data/templates/lib/schemas/api/2023-03-06/components/schemas/plug.json +9 -0
  52. data/templates/lib/schemas/api/2023-03-06/components/schemas/responses.json +64 -0
  53. data/templates/lib/schemas/api/2023-03-06/components/schemas/yetto.json +116 -0
  54. data/templates/lib/schemas/api/2023-03-06/openapi.json +30 -0
  55. data/templates/lib/schemas/api/2023-03-06/paths/app.json +90 -0
  56. data/templates/lib/schemas/api/2023-03-06/paths/yetto/message_created.json +51 -0
  57. data/templates/lib/schemas/api/2023-03-06/paths/yetto/plug_installation_created.json +51 -0
  58. data/templates/script/docker-build-prod.tt +11 -0
  59. data/templates/script/docker-run.tt +8 -0
  60. data/templates/script/edit-credentials +12 -3
  61. data/templates/script/hmac_text +1 -1
  62. data/templates/script/ngrok.tt +7 -0
  63. data/templates/script/server +6 -45
  64. data/templates/test/controllers/app_controller_test.rb.tt +188 -0
  65. data/templates/test/controllers/settings_controller_test.rb.tt +125 -0
  66. data/templates/test/controllers/yetto_controller_test.rb +100 -71
  67. data/templates/test/fixtures/files/plug_installation_settings/valid.json +1 -1
  68. data/templates/test/support/rails.rb +16 -36
  69. data/templates/test/support/webmocks/app_webmock.rb.tt +29 -0
  70. data/templates/test/test_helper.rb +1 -31
  71. data/templates/vendor/fly/{fly-production.toml → fly-production.toml.tt} +24 -11
  72. data/templates/vendor/fly/{fly-staging.toml → fly-staging.toml.tt} +18 -15
  73. metadata +46 -71
  74. data/templates/Gemfile.erb +0 -120
  75. data/templates/Procfile.debug +0 -2
  76. data/templates/Procfile.dev +0 -2
  77. data/templates/app/controllers/app_controller.rb +0 -72
  78. data/templates/app/controllers/concerns/authable.rb +0 -50
  79. data/templates/app/controllers/staff_controller.rb +0 -15
  80. data/templates/app/jobs/update_yetto_job.rb +0 -26
  81. data/templates/app/lib/headers/yetto.rb +0 -19
  82. data/templates/app/lib/headers.rb +0 -5
  83. data/templates/app/lib/path_parameter/settings_parameters.rb +0 -22
  84. data/templates/app/lib/path_parameter/yetto_parameters.rb +0 -28
  85. data/templates/app/lib/path_parameter.rb +0 -8
  86. data/templates/app/lib/plug_app/http.rb +0 -37
  87. data/templates/app/lib/plug_app/middleware/malformed_request.rb +0 -110
  88. data/templates/app/lib/plug_app/middleware/openapi_validation.rb +0 -83
  89. data/templates/app/lib/plug_app/middleware/tracing_attributes.rb +0 -46
  90. data/templates/app/lib/query_parameter.rb +0 -6
  91. data/templates/app/serializers/error_serializer.rb +0 -16
  92. data/templates/app/services/yetto_service.rb +0 -51
  93. data/templates/app/views/settings/new.json.jbuilder +0 -21
  94. data/templates/compose.yml +0 -5
  95. data/templates/config/initializers/000-oj.rb +0 -6
  96. data/templates/config/initializers/cors.rb +0 -19
  97. data/templates/config/initializers/filter_parameter_logging.rb +0 -25
  98. data/templates/config/initializers/inflections.rb +0 -20
  99. data/templates/config/initializers/lograge.rb +0 -25
  100. data/templates/config/initializers/opentelemetry.rb +0 -32
  101. data/templates/config/initializers/sidekiq.rb +0 -11
  102. data/templates/config/initializers/slack_webhook_logger.rb +0 -17
  103. data/templates/config/sidekiq.yml +0 -20
  104. data/templates/script/ngrok +0 -5
  105. data/templates/test/controllers/settings_controller_test.rb +0 -27
  106. data/templates/test/fixtures/plug_installation_settings/invalid.json +0 -3
  107. data/templates/test/fixtures/plug_installation_settings/valid.json +0 -3
  108. data/templates/test/jobs/update_yetto_job_test.rb +0 -26
  109. data/templates/test/support/api.rb +0 -76
  110. data/templates/test/support/webmocks/slack_webmock.rb +0 -24
  111. data/templates/test/support/webmocks/yetto_webmock.rb +0 -119
  112. data/templates/test/support/webmocks.rb +0 -5
@@ -1,40 +1,20 @@
1
1
  # typed: false
2
2
  # frozen_string_literal: true
3
3
 
4
- ENV["RAILS_ENV"] ||= "test"
5
- require_relative "../../config/environment"
6
-
7
- module ActiveSupport
8
- class TestCase
9
- extend T::Sig
10
-
11
- # Run tests in parallel with specified workers
12
- parallelize(workers: :number_of_processors)
13
-
14
- def setup
15
- @organization_id ||= "org_#{Faker::Alphanumeric.alphanumeric(number: 26).upcase}"
16
- @plug_installation_id ||= "pli_#{Faker::Alphanumeric.alphanumeric(number: 26).upcase}"
17
- @inbox_id ||= "ibx_#{Faker::Alphanumeric.alphanumeric(number: 26).upcase}"
18
- @plug_id ||= "plg_#{Faker::Alphanumeric.alphanumeric(number: 26).upcase}"
19
- @message_id ||= "msg_#{Faker::Alphanumeric.alphanumeric(number: 26).upcase}"
20
- @conversation_id ||= "cnv_#{Faker::Alphanumeric.alphanumeric(number: 26).upcase}"
21
- end
22
-
23
- def file_fixture_path(dir, name)
24
- Rails.root.join("test", "fixtures", "files", dir, name)
25
- end
26
-
27
- def assert_expected_args(expected_args)
28
- lambda do |job_args_arr|
29
- job_args_arr.first.each do |actual_args|
30
- actual_key = actual_args.first
31
- actual_value = actual_args.second
32
-
33
- expected_value = expected_args[actual_key]
34
-
35
- assert_equal(expected_value, actual_value, "Expected `#{actual_key}` to be `#{expected_value.nil? ? "nil" : expected_value}`, but was `#{actual_value.nil? ? "nil" : actual_value}`")
36
- end
37
- end
38
- end
39
- end
4
+ def create_installation(valid: true, expires_at: 8.hours.from_now)
5
+ {
6
+ installed_on_inbox: {
7
+ id: @inbox_id,
8
+ organization: {
9
+ id: @organization_id,
10
+ status: "active",
11
+ },
12
+ },
13
+ plug: {
14
+ id: @plug_id,
15
+ },
16
+ # TODO: fill these out!
17
+ settings: {},
18
+ credentials: {},
19
+ }
40
20
  end
@@ -0,0 +1,29 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+ module Webmocks
5
+ module <%= capital_plug_name %>Webmock
6
+ extend T::Sig
7
+ extend T::Helpers
8
+
9
+ # TODO: Add webmocks here which are specific to your application
10
+ # For example, if your application interacts with GitHub, you can add webmocks for GitHub here
11
+ #
12
+ # sig { params(state: String).returns(T.untyped) }
13
+ # def assert_requested_user_access_token(state)
14
+ # assert_requested(:post, "https://github.com/login/oauth/access_token?#{token_query_params(state)}")
15
+ # end
16
+
17
+ # sig { params(state: String, valid: T::Boolean, status: Integer).returns(T.untyped) }
18
+ # def stub_request_user_access_token(state, valid: true, status: 200)
19
+ # response_body = JSON.parse(file_fixture_path("gh_access_token", valid ? "valid.json" : "invalid.json").read).deep_symbolize_keys
20
+ # stub_request(:post, "https://github.com/login/oauth/access_token?#{token_query_params(state)}")
21
+ # .to_return(
22
+ # status: status,
23
+ # headers: { content_type: "application/json; charset=utf-8" },
24
+ # body: response_body.to_json,
25
+ # )
26
+ # end
27
+
28
+ end
29
+ end
@@ -1,37 +1,7 @@
1
1
  # typed: false
2
2
  # frozen_string_literal: true
3
3
 
4
- require "debug" if ENV.fetch("DEBUG", false)
4
+ require "hephaestus/test_helper"
5
5
 
6
- if ENV["COVERAGE"] == "1"
7
- require "simplecov"
8
- require "simplecov-console"
9
-
10
- SimpleCov.start("rails")
11
-
12
- # do not crash on failure; we want a distinct job to report the coverage error
13
- module SimpleCov
14
- class << self
15
- def result_exit_status(_)
16
- SimpleCov::ExitCodes::SUCCESS
17
- end
18
- end
19
- end
20
- end
21
-
22
- require "httpx"
23
- require "webmock/minitest"
24
- require "httpx/adapters/webmock"
25
- WebMock.enable!
26
- WebMock.disable_net_connect!(allow_localhost: true)
27
-
28
- require_relative "support/rails"
29
-
30
- require "minitest/pride"
31
-
32
- require "webmock/minitest"
33
6
  # Load everything else from test/support
34
7
  Dir[File.expand_path("support/**/*.rb", __dir__)].each { |rb| require(rb) }
35
-
36
- # https://github.com/freerange/mocha#rails
37
- require "mocha/minitest"
@@ -2,16 +2,12 @@
2
2
  # See https://fly.io/docs/reference/configuration/ for information about how to use this file.
3
3
  #
4
4
 
5
- app = "plug-app-production"
5
+ app = "plug-<%= plug_name %>-production"
6
6
  primary_region = "iad"
7
7
 
8
- [env]
9
- RAILS_ENV = "production"
10
- LD_PRELOAD_PATH = "/usr/lib/x86_64-linux-gnu/libjemalloc.so.2"
11
-
12
8
  [processes]
13
- web = "./bin/rails server"
14
- worker = "bundle exec sidekiq"
9
+ web = "/app/bin/rails server"
10
+ supervisor = "/app/bin/jobs"
15
11
 
16
12
  [[vm]]
17
13
  cpu_kind = "performance"
@@ -23,7 +19,17 @@ processes = ["web"]
23
19
  cpu_kind = "performance"
24
20
  cpus = 1
25
21
  memory = "2gb"
26
- processes = ["worker"]
22
+ processes = ["supervisor"]
23
+
24
+ [[restart]]
25
+ policy = "always"
26
+ retries = 5
27
+ processes = ["supervisor"]
28
+
29
+ [[restart]]
30
+ policy = "on-failure"
31
+ retries = 5
32
+ processes = ["web"]
27
33
 
28
34
  [http_service]
29
35
  internal_port = 3000
@@ -39,13 +45,20 @@ hard_limit = 250
39
45
 
40
46
  [checks]
41
47
  [checks.alive]
42
- type = "tcp"
43
- interval = "15s"
48
+ type = "http"
49
+ interval = "10s"
44
50
  timeout = "2s"
45
51
  grace_period = "5s"
52
+ method = "GET"
53
+ path = "/up"
54
+ protocol = "http"
55
+ tls_skip_verify = false
56
+ processes = ["web"]
57
+ [checks.alive.headers]
58
+ X-Forwarded-Proto = "https"
46
59
 
47
60
  [[statics]]
48
- guest_path = "/plug-app/public"
61
+ guest_path = "/plug-<%= plug_name %>/public"
49
62
  url_prefix = "/"
50
63
 
51
64
  [deploy]
@@ -1,13 +1,13 @@
1
- app = "plug-app-staging"
2
- primary_region = "iad"
1
+ #
2
+ # See https://fly.io/docs/reference/configuration/ for information about how to use this file.
3
+ #
3
4
 
4
- [env]
5
- RAILS_ENV = "staging"
6
- LD_PRELOAD_PATH = "/usr/lib/x86_64-linux-gnu/libjemalloc.so.2"
5
+ app = "plug-<%= plug_name %>-staging"
6
+ primary_region = "iad"
7
7
 
8
8
  [processes]
9
- web = "./bin/rails server"
10
- worker = "bundle exec sidekiq"
9
+ web = "/app/bin/rails server"
10
+ supervisor = "/app/bin/jobs"
11
11
 
12
12
  [[vm]]
13
13
  cpu_kind = "shared"
@@ -19,7 +19,11 @@ processes = ["web"]
19
19
  cpu_kind = "shared"
20
20
  cpus = 2
21
21
  memory = "1gb"
22
- processes = ["worker"]
22
+ processes = ["supervisor"]
23
+
24
+ [[restart]]
25
+ policy = "on-failure"
26
+ retries = 5
23
27
 
24
28
  [http_service]
25
29
  internal_port = 3000
@@ -33,15 +37,14 @@ type = "requests"
33
37
  soft_limit = 200
34
38
  hard_limit = 250
35
39
 
36
- [checks]
37
- [checks.alive]
38
- type = "tcp"
39
- interval = "15s"
40
- timeout = "2s"
41
- grace_period = "5s"
40
+ [[services]]
41
+ auto_stop_machines = "stop"
42
+ auto_start_machines = true
43
+ min_machines_running = 0
44
+ processes = ["supervisor"]
42
45
 
43
46
  [[statics]]
44
- guest_path = "/plug-app/public"
47
+ guest_path = "/plug-<%= plug_name %>/public"
45
48
  url_prefix = "/"
46
49
 
47
50
  [deploy]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hephaestus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.11
4
+ version: 0.8.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-11 00:00:00.000000000 Z
11
+ date: 2024-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bootsnap
@@ -24,7 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- force_ruby_platform: false
28
27
  - !ruby/object:Gem::Dependency
29
28
  name: bundler
30
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +52,6 @@ dependencies:
53
52
  - - "~>"
54
53
  - !ruby/object:Gem::Version
55
54
  version: '0.15'
56
- force_ruby_platform: false
57
55
  - !ruby/object:Gem::Dependency
58
56
  name: hiredis
59
57
  requirement: !ruby/object:Gem::Requirement
@@ -68,7 +66,6 @@ dependencies:
68
66
  - - "~>"
69
67
  - !ruby/object:Gem::Version
70
68
  version: '0.6'
71
- force_ruby_platform: false
72
69
  - !ruby/object:Gem::Dependency
73
70
  name: httpsensible
74
71
  requirement: !ruby/object:Gem::Requirement
@@ -83,7 +80,6 @@ dependencies:
83
80
  - - "~>"
84
81
  - !ruby/object:Gem::Version
85
82
  version: '0.3'
86
- force_ruby_platform: false
87
83
  - !ruby/object:Gem::Dependency
88
84
  name: jbuilder
89
85
  requirement: !ruby/object:Gem::Requirement
@@ -98,7 +94,6 @@ dependencies:
98
94
  - - "~>"
99
95
  - !ruby/object:Gem::Version
100
96
  version: '2.12'
101
- force_ruby_platform: false
102
97
  - !ruby/object:Gem::Dependency
103
98
  name: jwt
104
99
  requirement: !ruby/object:Gem::Requirement
@@ -113,7 +108,6 @@ dependencies:
113
108
  - - "~>"
114
109
  - !ruby/object:Gem::Version
115
110
  version: '2.8'
116
- force_ruby_platform: false
117
111
  - !ruby/object:Gem::Dependency
118
112
  name: lograge
119
113
  requirement: !ruby/object:Gem::Requirement
@@ -128,7 +122,6 @@ dependencies:
128
122
  - - "~>"
129
123
  - !ruby/object:Gem::Version
130
124
  version: '0.14'
131
- force_ruby_platform: false
132
125
  - !ruby/object:Gem::Dependency
133
126
  name: mission_control-jobs
134
127
  requirement: !ruby/object:Gem::Requirement
@@ -143,7 +136,6 @@ dependencies:
143
136
  - - "~>"
144
137
  - !ruby/object:Gem::Version
145
138
  version: '0.5'
146
- force_ruby_platform: false
147
139
  - !ruby/object:Gem::Dependency
148
140
  name: openapi_first
149
141
  requirement: !ruby/object:Gem::Requirement
@@ -158,7 +150,6 @@ dependencies:
158
150
  - - "~>"
159
151
  - !ruby/object:Gem::Version
160
152
  version: '2.0'
161
- force_ruby_platform: false
162
153
  - !ruby/object:Gem::Dependency
163
154
  name: parser
164
155
  requirement: !ruby/object:Gem::Requirement
@@ -173,7 +164,6 @@ dependencies:
173
164
  - - "~>"
174
165
  - !ruby/object:Gem::Version
175
166
  version: '3.0'
176
- force_ruby_platform: false
177
167
  - !ruby/object:Gem::Dependency
178
168
  name: pg
179
169
  requirement: !ruby/object:Gem::Requirement
@@ -188,7 +178,6 @@ dependencies:
188
178
  - - "~>"
189
179
  - !ruby/object:Gem::Version
190
180
  version: '1.5'
191
- force_ruby_platform: false
192
181
  - !ruby/object:Gem::Dependency
193
182
  name: puma
194
183
  requirement: !ruby/object:Gem::Requirement
@@ -203,7 +192,6 @@ dependencies:
203
192
  - - "~>"
204
193
  - !ruby/object:Gem::Version
205
194
  version: '6.4'
206
- force_ruby_platform: false
207
195
  - !ruby/object:Gem::Dependency
208
196
  name: rails
209
197
  requirement: !ruby/object:Gem::Requirement
@@ -218,7 +206,6 @@ dependencies:
218
206
  - - ">="
219
207
  - !ruby/object:Gem::Version
220
208
  version: '8.0'
221
- force_ruby_platform: false
222
209
  - !ruby/object:Gem::Dependency
223
210
  name: rainbow
224
211
  requirement: !ruby/object:Gem::Requirement
@@ -233,7 +220,6 @@ dependencies:
233
220
  - - "~>"
234
221
  - !ruby/object:Gem::Version
235
222
  version: '3.0'
236
- force_ruby_platform: false
237
223
  - !ruby/object:Gem::Dependency
238
224
  name: redis
239
225
  requirement: !ruby/object:Gem::Requirement
@@ -248,7 +234,6 @@ dependencies:
248
234
  - - "~>"
249
235
  - !ruby/object:Gem::Version
250
236
  version: '5.2'
251
- force_ruby_platform: false
252
237
  - !ruby/object:Gem::Dependency
253
238
  name: retriable
254
239
  requirement: !ruby/object:Gem::Requirement
@@ -263,7 +248,6 @@ dependencies:
263
248
  - - "~>"
264
249
  - !ruby/object:Gem::Version
265
250
  version: '3.1'
266
- force_ruby_platform: false
267
251
  - !ruby/object:Gem::Dependency
268
252
  name: slack_webhook_logger
269
253
  requirement: !ruby/object:Gem::Requirement
@@ -278,7 +262,6 @@ dependencies:
278
262
  - - "~>"
279
263
  - !ruby/object:Gem::Version
280
264
  version: '0.6'
281
- force_ruby_platform: false
282
265
  - !ruby/object:Gem::Dependency
283
266
  name: solid_queue
284
267
  requirement: !ruby/object:Gem::Requirement
@@ -293,7 +276,6 @@ dependencies:
293
276
  - - "~>"
294
277
  - !ruby/object:Gem::Version
295
278
  version: '1.0'
296
- force_ruby_platform: false
297
279
  - !ruby/object:Gem::Dependency
298
280
  name: sqlite3
299
281
  requirement: !ruby/object:Gem::Requirement
@@ -308,7 +290,6 @@ dependencies:
308
290
  - - "~>"
309
291
  - !ruby/object:Gem::Version
310
292
  version: '2.0'
311
- force_ruby_platform: false
312
293
  - !ruby/object:Gem::Dependency
313
294
  name: opentelemetry-exporter-otlp
314
295
  requirement: !ruby/object:Gem::Requirement
@@ -323,7 +304,6 @@ dependencies:
323
304
  - - "~>"
324
305
  - !ruby/object:Gem::Version
325
306
  version: '0.26'
326
- force_ruby_platform: false
327
307
  - !ruby/object:Gem::Dependency
328
308
  name: opentelemetry-instrumentation-all
329
309
  requirement: !ruby/object:Gem::Requirement
@@ -338,7 +318,6 @@ dependencies:
338
318
  - - "~>"
339
319
  - !ruby/object:Gem::Version
340
320
  version: '0.63'
341
- force_ruby_platform: false
342
321
  - !ruby/object:Gem::Dependency
343
322
  name: opentelemetry-sdk
344
323
  requirement: !ruby/object:Gem::Requirement
@@ -353,7 +332,6 @@ dependencies:
353
332
  - - "~>"
354
333
  - !ruby/object:Gem::Version
355
334
  version: '1.4'
356
- force_ruby_platform: false
357
335
  - !ruby/object:Gem::Dependency
358
336
  name: opentelemetry-semantic_conventions
359
337
  requirement: !ruby/object:Gem::Requirement
@@ -368,7 +346,6 @@ dependencies:
368
346
  - - "~>"
369
347
  - !ruby/object:Gem::Version
370
348
  version: '1.10'
371
- force_ruby_platform: false
372
349
  - !ruby/object:Gem::Dependency
373
350
  name: propshaft
374
351
  requirement: !ruby/object:Gem::Requirement
@@ -383,7 +360,6 @@ dependencies:
383
360
  - - "~>"
384
361
  - !ruby/object:Gem::Version
385
362
  version: '1.1'
386
- force_ruby_platform: false
387
363
  - !ruby/object:Gem::Dependency
388
364
  name: dotenv-rails
389
365
  requirement: !ruby/object:Gem::Requirement
@@ -452,12 +428,14 @@ files:
452
428
  - lib/hephaestus/actions.rb
453
429
  - lib/hephaestus/actions/strip_comments_action.rb
454
430
  - lib/hephaestus/app_builder.rb
431
+ - lib/hephaestus/app_name.rb
455
432
  - lib/hephaestus/engine.rb
456
433
  - lib/hephaestus/exit_on_failure.rb
457
434
  - lib/hephaestus/generators/app_generator.rb
458
435
  - lib/hephaestus/generators/base.rb
459
436
  - lib/hephaestus/generators/config_generator.rb
460
437
  - lib/hephaestus/generators/core_generator.rb
438
+ - lib/hephaestus/generators/db_generator.rb
461
439
  - lib/hephaestus/generators/deployment_generator.rb
462
440
  - lib/hephaestus/generators/lib_generator.rb
463
441
  - lib/hephaestus/generators/license_generator.rb
@@ -479,50 +457,41 @@ files:
479
457
  - lib/tasks/rubocop.rake
480
458
  - lib/version.rb
481
459
  - templates/Dockerfile
482
- - templates/Gemfile.erb
483
- - templates/Procfile.debug
484
- - templates/Procfile.dev
460
+ - templates/Gemfile
461
+ - templates/Procfile
485
462
  - templates/README.md.erb
486
- - templates/app/controllers/app_controller.rb
463
+ - templates/app/controllers/app_controller.rb.tt
487
464
  - templates/app/controllers/application_controller.rb
488
- - templates/app/controllers/concerns/authable.rb
465
+ - templates/app/controllers/concerns/authable.rb.tt
489
466
  - templates/app/controllers/root_controller.rb
490
467
  - templates/app/controllers/settings_controller.rb
491
- - templates/app/controllers/staff_controller.rb
492
468
  - templates/app/controllers/yetto_controller.rb
493
469
  - templates/app/jobs/application_job.rb
494
- - templates/app/jobs/update_yetto_job.rb
495
470
  - templates/app/lib/body_parameter.rb
496
471
  - templates/app/lib/body_parameter/yetto_parameters.rb
497
- - templates/app/lib/constants/app.rb
498
- - templates/app/lib/headers.rb
499
- - templates/app/lib/headers/yetto.rb
500
- - templates/app/lib/path_parameter.rb
501
- - templates/app/lib/path_parameter/settings_parameters.rb
502
- - templates/app/lib/path_parameter/yetto_parameters.rb
503
- - templates/app/lib/plug_app/http.rb
504
- - templates/app/lib/plug_app/middleware/malformed_request.rb
505
- - templates/app/lib/plug_app/middleware/openapi_validation.rb
506
- - templates/app/lib/plug_app/middleware/tracing_attributes.rb
507
- - templates/app/lib/query_parameter.rb
508
- - templates/app/serializers/error_serializer.rb
509
- - templates/app/services/http_service.rb
510
- - templates/app/services/yetto_service.rb
511
- - templates/app/views/settings/new.json.jbuilder
472
+ - templates/app/lib/constants.rb
473
+ - templates/app/services/app_service.rb.tt
474
+ - templates/app/views/settings/new.json.jbuilder.tt
475
+ - templates/bin/bundle
512
476
  - templates/bin/docker-entrypoint
513
- - templates/compose.yml
514
- - templates/config/initializers/000-oj.rb
515
- - templates/config/initializers/cors.rb
477
+ - templates/bin/foreman
478
+ - templates/bin/jobs
479
+ - templates/bin/rails
480
+ - templates/bin/rake
481
+ - templates/bin/setup
482
+ - templates/bin/tapioca
483
+ - templates/config.ru
484
+ - templates/config/application.rb.tt
485
+ - templates/config/boot.rb
486
+ - templates/config/environment.rb
487
+ - templates/config/environments/blank.rb
516
488
  - templates/config/initializers/environment.rb
517
- - templates/config/initializers/filter_parameter_logging.rb
518
- - templates/config/initializers/inflections.rb
519
- - templates/config/initializers/lograge.rb
520
- - templates/config/initializers/opentelemetry.rb
521
- - templates/config/initializers/sidekiq.rb
522
- - templates/config/initializers/slack_webhook_logger.rb
523
489
  - templates/config/locales/en.yml
524
490
  - templates/config/locales/settings/en.yml
525
- - templates/config/sidekiq.yml
491
+ - templates/config/puma.rb
492
+ - templates/config/routes.rb.tt
493
+ - templates/db/queue_schema.rb
494
+ - templates/db/schema.rb
526
495
  - templates/hephaestus_gitignore
527
496
  - templates/lib/plug_app/schemas/api/2023-03-06/components/parameters/headers/yetto.json
528
497
  - templates/lib/plug_app/schemas/api/2023-03-06/components/parameters/plugInstallation.json
@@ -533,34 +502,40 @@ files:
533
502
  - templates/lib/plug_app/schemas/api/2023-03-06/paths/plug.json
534
503
  - templates/lib/plug_app/schemas/api/2023-03-06/paths/yetto/message_created.json
535
504
  - templates/lib/plug_app/schemas/api/2023-03-06/paths/yetto/plug_installation_created.json
505
+ - templates/lib/schemas/api/2023-03-06/components/parameters/headers/yetto.json
506
+ - templates/lib/schemas/api/2023-03-06/components/parameters/plugInstallation.json
507
+ - templates/lib/schemas/api/2023-03-06/components/schemas/plug.json
508
+ - templates/lib/schemas/api/2023-03-06/components/schemas/responses.json
509
+ - templates/lib/schemas/api/2023-03-06/components/schemas/yetto.json
510
+ - templates/lib/schemas/api/2023-03-06/openapi.json
511
+ - templates/lib/schemas/api/2023-03-06/paths/app.json
512
+ - templates/lib/schemas/api/2023-03-06/paths/yetto/message_created.json
513
+ - templates/lib/schemas/api/2023-03-06/paths/yetto/plug_installation_created.json
536
514
  - templates/lib/tasks/test_tasks.rake
537
515
  - templates/script/ci
516
+ - templates/script/docker-build-prod.tt
517
+ - templates/script/docker-run.tt
538
518
  - templates/script/edit-credentials
539
519
  - templates/script/hmac_text
540
520
  - templates/script/licenses
541
- - templates/script/ngrok
521
+ - templates/script/ngrok.tt
542
522
  - templates/script/server
543
523
  - templates/script/sorbet
544
524
  - templates/script/test
545
525
  - templates/sorbet/custom.rbi
526
+ - templates/test/controllers/app_controller_test.rb.tt
546
527
  - templates/test/controllers/application_controller_test.rb
547
528
  - templates/test/controllers/root_controller_test.rb
548
- - templates/test/controllers/settings_controller_test.rb
529
+ - templates/test/controllers/settings_controller_test.rb.tt
549
530
  - templates/test/controllers/yetto_controller_test.rb
550
531
  - templates/test/fixtures/files/fake_pem_file/fake.pem
551
532
  - templates/test/fixtures/files/plug_installation_settings/invalid.json
552
533
  - templates/test/fixtures/files/plug_installation_settings/valid.json
553
- - templates/test/fixtures/plug_installation_settings/invalid.json
554
- - templates/test/fixtures/plug_installation_settings/valid.json
555
- - templates/test/jobs/update_yetto_job_test.rb
556
- - templates/test/support/api.rb
557
534
  - templates/test/support/rails.rb
558
- - templates/test/support/webmocks.rb
559
- - templates/test/support/webmocks/slack_webmock.rb
560
- - templates/test/support/webmocks/yetto_webmock.rb
535
+ - templates/test/support/webmocks/app_webmock.rb.tt
561
536
  - templates/test/test_helper.rb
562
- - templates/vendor/fly/fly-production.toml
563
- - templates/vendor/fly/fly-staging.toml
537
+ - templates/vendor/fly/fly-production.toml.tt
538
+ - templates/vendor/fly/fly-staging.toml.tt
564
539
  homepage: http://github.com/yettoapp/hephaestus
565
540
  licenses:
566
541
  - MIT
@@ -575,14 +550,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
575
550
  requirements:
576
551
  - - ">="
577
552
  - !ruby/object:Gem::Version
578
- version: 3.3.0
553
+ version: 3.3.6
579
554
  required_rubygems_version: !ruby/object:Gem::Requirement
580
555
  requirements:
581
556
  - - ">="
582
557
  - !ruby/object:Gem::Version
583
558
  version: 3.4.7
584
559
  requirements: []
585
- rubygems_version: 3.5.3
560
+ rubygems_version: 3.5.22
586
561
  signing_key:
587
562
  specification_version: 4
588
563
  summary: Generate a Rails app that can be used to create plugs for Yetto.