lamby_updated 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: ada64f0fcc5827ba566af490ce2ad78a2ff657862eb8e1f70e50d2298f6cd2ec
4
+ data.tar.gz: ba2e08342f30d72303145d9bdcb512f5d7472dd72e13a2c2bdb2f6a679a0f71c
5
+ SHA512:
6
+ metadata.gz: 47595c1d3f4e024463c5c8b1f0e3f134b537963fcbfacdbee9e79c05f077dbda63855bec70c6662c5d25133eed903eb65dff23e3019733b2d5583e9e28ccfbae
7
+ data.tar.gz: 76402476451efc40977d3ab3bff2d4ec11ebcd47763d9a427c26b6293448d19a52484bd64c56ae6ce26f0139ff9f2d6182e17cb2cda8ed450e2a45c15674ce42
@@ -0,0 +1 @@
1
+ FROM mcr.microsoft.com/devcontainers/ruby:3.1
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "lamby",
3
+ "build": {
4
+ "dockerfile": "Dockerfile"
5
+ },
6
+ "features": {
7
+ "ghcr.io/devcontainers/features/node:latest": {},
8
+ "ghcr.io/devcontainers/features/docker-in-docker:latest": {},
9
+ "ghcr.io/devcontainers/features/sshd:latest": {}
10
+ },
11
+ "customizations": {
12
+ "vscode": {
13
+ "settings": {
14
+ "editor.formatOnSave": true
15
+ },
16
+ "extensions": []
17
+ }
18
+ },
19
+ "remoteUser": "vscode"
20
+ }
@@ -0,0 +1,35 @@
1
+ name: CI/CD
2
+ on: [push]
3
+ jobs:
4
+ image:
5
+ name: Image
6
+ runs-on: ubuntu-20.04
7
+ steps:
8
+ - uses: actions/checkout@v3
9
+ - uses: docker/login-action@v2
10
+ with:
11
+ registry: ghcr.io
12
+ username: ${{ github.repository_owner }}
13
+ password: ${{ secrets.GITHUB_TOKEN }}
14
+ - uses: devcontainers/ci@v0.3
15
+ with:
16
+ push: always
17
+ imageName: ghcr.io/rails-lambda/lamby-devcontainer
18
+ cacheFrom: ghcr.io/rails-lambda/lamby-devcontainer
19
+ runCmd: echo DONE!
20
+ test:
21
+ runs-on: ubuntu-20.04
22
+ needs: image
23
+ steps:
24
+ - name: Checkout
25
+ uses: actions/checkout@v3
26
+ - name: Setup & Test
27
+ uses: devcontainers/ci@v0.3
28
+ with:
29
+ push: never
30
+ cacheFrom: ghcr.io/rails-lambda/lamby-devcontainer
31
+ env: |
32
+ CI
33
+ runCmd: |
34
+ ./bin/setup
35
+ ./bin/test
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /pkg/
6
+ /spec/reports/
7
+ /tmp/
8
+ /vendor/bundle
9
+ test/dummy_app/.gitignore
10
+ test/dummy_app/app.rb
11
+ test/dummy_app/template.yaml
12
+ test/dummy_app/bin/build
13
+ test/dummy_app/bin/deploy
14
+ test/dummy_app/tmp
15
+ test/dummy_app/log/**/*
data/CHANGELOG.md ADDED
@@ -0,0 +1,364 @@
1
+ # Keep A Changelog!
2
+
3
+ See this http://keepachangelog.com link for information on how we want this documented formatted.
4
+
5
+ ## v5.2.0
6
+
7
+ ### Fixed
8
+
9
+ - Safely Pass Percent Symbols in Paths Fixes #170
10
+
11
+ ## v5.1.0
12
+
13
+ ### Added
14
+
15
+ - New CloudWatch cold start metrics. Defaults to off. Enable with `config.cold_start_metrics = true`.
16
+
17
+ ## v5.0.0
18
+
19
+ ### Changed
20
+
21
+ - ⚠️ Breaking Changes ⚠️
22
+ - Remove Lamby::Runner & Lamby::Command in favor of LambdaConsole Ruby gem.
23
+ - New runner pattern exceptions from above. Now: LambdaConsole::Run::UnknownCommandPattern
24
+ - Switch your own runner events to new https://github.com/rails-lambda/lambda-console spec.
25
+
26
+ ## v4.3.1, v4.3.2
27
+
28
+ ### Changed
29
+
30
+ - Command response will be #inspect for every command.
31
+ - Added x-lambda-console option to the event.
32
+
33
+ ## v4.3.0
34
+
35
+ ### Changed
36
+
37
+ - Default Lamby::Runner::PATTERNS to allow everything.
38
+
39
+ ### Added
40
+
41
+ - New Lamby::Command for IRB style top level binding evals.
42
+
43
+ ## v4.2.1
44
+
45
+ ### Added
46
+
47
+ - Local Development Proxy Server with Puma. See #164
48
+
49
+ ## v4.2.0
50
+
51
+ ### Added
52
+
53
+ - Local Development Proxy Server. See #164
54
+
55
+ ## v4.1.1
56
+
57
+ ### Changed
58
+
59
+ - New lamby.cloud site and GitHub community organization.
60
+
61
+ ## v4.1.0
62
+
63
+ ### Added
64
+
65
+ - Future-ready LambdaCable.cmd handler detection.
66
+
67
+ ## v4.0.2
68
+
69
+ ### Fixed
70
+
71
+ - Runner's Open3 uses crypteia friendly env.
72
+
73
+ ## v4.0.1
74
+
75
+ ### Added
76
+
77
+ - New `Lamby.config.handled_proc` called with ensure via `Lamby.cmd`
78
+
79
+ ## v4.0.0
80
+
81
+ ### Added
82
+
83
+ - New `Lamby.config.rack_app` with default Rack builder.
84
+ - The `Lamby.cmd` to simplify `CMD` with the new config.app from above.
85
+
86
+ #### Removed
87
+
88
+ - All lamby installer templates.
89
+ - Remove SAM env checks used during debug mode.
90
+ - Removed showing environment variables in debug mode.
91
+ - Need to `require: false` when adding the Lamby gem to your `Gemfile`.
92
+ - Dotenv integration. Use [Crypteia](https://github.com/customink/crypteia) now.
93
+
94
+ #### Changed
95
+
96
+ - Tested Rack 3.x.
97
+
98
+ ## v3.1.3
99
+
100
+ #### Fixed
101
+
102
+ - The ::Rack::Utils namespace. Fixes #123.
103
+
104
+ ## v3.1.2
105
+
106
+ #### Fixed
107
+
108
+ - Lambdakiq Handler Integration. Fixes #120.
109
+
110
+ ## v3.1.1
111
+
112
+ #### Fixed
113
+
114
+ - X-Request-Start header value for New Relic with API Gateway.
115
+
116
+ ## v3.1.0
117
+
118
+ #### Added
119
+
120
+ - Add X-Request-Start header for New Relic with API Gateway.
121
+
122
+ ## v3.0.3
123
+
124
+ #### Fixed
125
+
126
+ - Ruby 2.7 Warnings | Logger. Thanks @jessedoyle
127
+
128
+ ## v3.0.2
129
+
130
+ #### Added
131
+
132
+ - Runner now returns STDOUT/STDERR as body.
133
+
134
+ ## v3.0.1
135
+
136
+ #### Fixed
137
+
138
+ - Fix Lambdakiq integration. Thanks #97.
139
+
140
+ ## v3.0.0
141
+
142
+ #### Added
143
+
144
+ - Automatically handle `Lambdakiq.jobs?(event)`.
145
+ - New event for tasks like DB migrations. #80 #93
146
+
147
+ #### Changed
148
+
149
+ - Updated template files to latest lambda container standards.
150
+
151
+ ## v2.8.0
152
+
153
+ #### Fixed
154
+
155
+ - Perform rack body closing hooks on request #85
156
+
157
+ ## v2.7.1
158
+
159
+ #### Removed
160
+
161
+ - Bootsnap setup convenience require.
162
+
163
+ ## v2.7.0
164
+
165
+ #### Added
166
+
167
+ - Support EventBridge events in handler with default proc to log.
168
+
169
+ ## v2.6.3
170
+
171
+ #### Added
172
+
173
+ - Bootsnap setup convenience require.
174
+
175
+ ## v2.6.2
176
+
177
+ - Fixed Rack::Deflate usage with an ALB.
178
+
179
+ ## v2.6.1
180
+
181
+ #### Fixed
182
+
183
+ - Support redirects with empty response body.
184
+
185
+ #### Added
186
+
187
+ - Tests for enabling Rack::Deflate middleware by passing RACK_DEFLATE_ENABLED env variable.
188
+
189
+ ## v2.6.0
190
+
191
+ #### Fixed
192
+
193
+ - Support multiple Set-Cookie headers for all rest types.
194
+
195
+ ## v2.5.3
196
+
197
+ #### Fixed
198
+
199
+ - Base64 encode response body if the rack response is gzip or brotli compressed.
200
+
201
+ ## v2.5.2
202
+
203
+ - SSM file always overwrites. Fixes #65.
204
+
205
+ ## v2.5.1
206
+
207
+ #### Fixed
208
+
209
+ - Quoting in describe-subnets #62 Thanks @atwoodjw
210
+
211
+ ## v2.5.0
212
+
213
+ #### Changed
214
+
215
+ - Install files to favor containers.
216
+
217
+ ## v2.2.2
218
+
219
+ #### Changed
220
+
221
+ - More ActiveSupport removal. Better ENV.to_h.
222
+
223
+ ## v2.2.1
224
+
225
+ #### Changed
226
+
227
+ - More ActiveSupport removal from SsmParameterStore.
228
+
229
+ ## v2.2.0
230
+
231
+ #### Changed
232
+
233
+ - Remove dependency on `activesupport` for rack-only applications.
234
+ - Remove ActiveSupport artifacts:
235
+ - Replace `strip_heredoc` with `<<~HEREDOC`.
236
+ - Remove instances of `Object#try`, replace with `&.`.
237
+ - Use `Rack::Utils.build_nested_query` in place of `Object#to_query`.
238
+ - Replace `Object#present?` with `to_s.empty?`.
239
+ - Replace `Array.wrap` with `Array[obj].compact.flatten`.
240
+ - Add a check against the `RAILS_ENV` AND `RACK_ENV` environment
241
+ variables prior to enabling debug mode.
242
+
243
+ ## v2.1.0
244
+
245
+ #### Changed
246
+
247
+ - Only load the railtie if `Rails` is defined.
248
+
249
+ ## v2.0.1
250
+
251
+ #### Changed
252
+
253
+ - Remove Rails runtime dep. Only rack is needed.
254
+
255
+ ## v2.0.0
256
+
257
+ Support for new API Gateway HTTP APIs!!!
258
+
259
+ #### Changed
260
+
261
+ - The `Lamby.handler` must have a `:rack` option. One of `:http`, `:rest`, `:alb`.
262
+ - Renamed template generators to match options above.
263
+ - The `lamby:install` task now defaults to HTTP API.
264
+ - Changed the name of `:api` rack option to `:rest`.
265
+ - Removed `export` from Dotenv files. Better Docker compatability.
266
+
267
+ #### Added
268
+
269
+ - New rack handler for HTTP API v1 and v2.
270
+ - Lots of backfill tests for, ALBs & REST APIs.
271
+
272
+ ## v1.0.3
273
+
274
+ #### Changed
275
+
276
+ - Change shebangs to `#!/usr/bin/env bash`
277
+
278
+ ## v1.0.2
279
+
280
+ #### Changed
281
+
282
+ - Adds an optional 'overwrite' parameter to #to_env.
283
+
284
+ ## v1.0.1
285
+
286
+ #### Changed
287
+
288
+ - Links in bin/build templates to point to lamby.custominktech.com site.
289
+
290
+ ## v1.0.0
291
+
292
+ #### Fixed
293
+
294
+ - ALB query params & binary responses. Fixes #38.
295
+
296
+ ## v0.6.0
297
+
298
+ #### Added
299
+
300
+ - APPLICATION LOAD BALANACER SUPPORT!!! The new default. Use `rack: :api` option to handler for API Gateway support.
301
+
302
+ #### Changed
303
+
304
+ - Rake task `lamby:install` now defaults to `application_load_balancer`
305
+
306
+ ## v0.5.1
307
+
308
+ #### Fixed
309
+
310
+ - The .gitignore file template. Fix .aws-sam dir.
311
+
312
+ ## v0.5.0
313
+
314
+ #### Added
315
+
316
+ - Template generators for first install. Ex: `./bin/rake -r lamby lamby:install:api_gateway`.
317
+ - New `Lamby::SsmParameterStore.get!` helper.
318
+
319
+ ## v0.4.1
320
+
321
+ #### Fixed
322
+
323
+ - Fix type in v0.4.0 fix below.
324
+
325
+ ## v0.4.0
326
+
327
+ #### Fixed
328
+
329
+ - File uploads in #33 using `CONTENT_TYPE` and `CONTENT_LENGTH`.
330
+
331
+ ## v0.3.2
332
+
333
+ #### Added
334
+
335
+ - Pass Request ID for CloudWatch logs. Fixes #30.
336
+
337
+ ## v0.3.1
338
+
339
+ #### Changed
340
+
341
+ - Docs and SAM template tweaks.
342
+
343
+ ## v0.3.0
344
+
345
+ #### Added
346
+
347
+ - Secure configs rake task.
348
+ - Project bin setup and tests.
349
+
350
+ #### Changed
351
+
352
+ - SAM template tweaks.
353
+
354
+ ## v0.2.0
355
+
356
+ #### Changed
357
+
358
+ - Simple docs and project re-organization.
359
+
360
+ ## v0.1.0
361
+
362
+ #### Added
363
+
364
+ - New gem and placeholder in rubygems.
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at ken@metaskills.net. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source "https://rubygems.org"
2
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ gemspec
4
+
5
+ gem 'rails'
6
+
7
+ group :test do
8
+ gem 'lambdakiq'
9
+ end