serverless_hub 0.1.10 → 1.0.0

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: e4fbef685ee6599dd6d8da8c5fd32e6f078f28f97edf9569515020beecc53873
4
- data.tar.gz: a1bc01b472bdfe793861caffef86f4c859aa4893f0030248f361f730ddfe10b5
3
+ metadata.gz: 78dddd07d3a363073ad81fcdca3e33f85edd52c8cd3d2a9dbe5e689a988285fc
4
+ data.tar.gz: 92d40764480304a0b80faca2fb9c249e72d8fc4dc041aeff2aeb4f1988a8d294
5
5
  SHA512:
6
- metadata.gz: f2d6f080b50ff2b6776d6c60f6bd8d86333d717ebd8847fc07aab198a00ab26eb83734eb873ba5ce9726757ead9c7792bec2afd7ab1c3cd149653c1a4158f035
7
- data.tar.gz: c4aa13f8d8d6d3ce935f5517c59df62ad8224cc2d544c735ff24ca638b9d8c06c4d648efaf2ed31fa7b846c9aebc0e1ece89d84c86e7edb4b27c65b08e3babf3
6
+ metadata.gz: b1f069e12f40dad8c04f33eb5e2b1398f1b718e48c2d0e0d96ef0f9d56a32057f529417231beaac60496322c59358baf9c7f64d8b1ecfe2fb68019aef6691f0c
7
+ data.tar.gz: 98af094fbf04b7ccdc24aa275e19c8f5b3b5844ef65c8d2b26833f697e7c0bdeb6f6aa52532d22a6301128914375d0d9e6315dd44941d983913f7b9372d531db
data/.gitignore CHANGED
@@ -9,3 +9,7 @@
9
9
 
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
+
13
+ *.gem
14
+ .ruby-version
15
+ .ruby-gemset
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'serverless_hub'
4
+ require 'rails/generators'
5
+
6
+ class SLSGenerator < Rails::Generators::Base
7
+ source_root File.expand_path('../lib/serverless_hub/templates', __dir__)
8
+
9
+ def copy
10
+ directory "./", "./"
11
+ end
12
+ end
13
+
14
+
15
+ generator = SLSGenerator.new
16
+
17
+ generator.copy
@@ -19,6 +19,8 @@ module ServerlessHub
19
19
  DefaultApiEntry
20
20
  end
21
21
 
22
+ use AuthorizerTokenDecoder
23
+ use Authorizer
22
24
  run app
23
25
  end.to_app
24
26
 
@@ -0,0 +1,52 @@
1
+ # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+ # Ignore bundler config.
8
+ /.bundle
9
+ .DS_Store
10
+
11
+ # Ignore all logfiles and tempfiles.
12
+ /log/*
13
+ /tmp/*
14
+ !/log/.keep
15
+ !/tmp/.keep
16
+
17
+ /node_modules
18
+ /yarn-error.log
19
+
20
+ .byebug_history
21
+ /public/packs
22
+ /public/packs-test
23
+ /node_modules
24
+
25
+ .byebug_history
26
+ .idea/*
27
+ vendor/bundle
28
+
29
+ # Ignore general setting
30
+ .ruby-version
31
+ .ruby-gemset
32
+ .env
33
+ /test/*
34
+ !/test/mailers
35
+ /public/packs
36
+ /public/packs-test
37
+ yarn-debug.log*
38
+ .yarn-integrity
39
+ vendor
40
+ .serverless
41
+ lib
42
+ layer
43
+ .bundle
44
+ config.priv.yml
45
+ node_modules
46
+ layer
47
+ node_modules
48
+ serverless.priv.yml
49
+ .serverless
50
+ .byebug_history
51
+ tmp
52
+ .env
@@ -0,0 +1,8 @@
1
+ FROM lambci/lambda:build-ruby2.5
2
+
3
+ RUN yum install -y postgresql postgresql-devel
4
+
5
+ ADD Gemfile /var/task/Gemfile
6
+ ADD Gemfile.lock /var/task/Gemfile.lock
7
+
8
+ RUN bundle install --deployment
@@ -0,0 +1,44 @@
1
+ service: hello
2
+
3
+ custom:
4
+ settings: ${file(./config/serverless.priv.yml):${self:provider.stage}}
5
+
6
+ provider:
7
+ name: aws
8
+ runtime: ruby2.5
9
+ region: ap-southeast-2
10
+ stage: ${opt:stage, 'dev'}
11
+ environment:
12
+ RACK_ENV: production
13
+ RAILS_ENV: production
14
+ JWKS_URL: ${env:JWKS_URL, self:custom.settings.jwks_url}
15
+ DATABASE_URL: ${env:DATABASE_URL, self:custom.settings.database_url}
16
+
17
+ package:
18
+ exclude:
19
+ - layer/**
20
+ - node_modules/**
21
+ - "*.yml"
22
+ - "*.json"
23
+ - Dockerfile
24
+ - db/**
25
+ - Rakefile
26
+ - bin/**
27
+ - log/**
28
+ - public/**
29
+ - tmp/**
30
+ - .gitignore
31
+ - "*.js"
32
+ - README.md
33
+ - config/*.yml
34
+ - vendor/**
35
+
36
+ functions:
37
+ helloWorld:
38
+ handler: serverless_hub.ServerlessHub::Handler.call
39
+ layers:
40
+ - ${self:custom.layerArn}
41
+ events:
42
+ - http:
43
+ path: hello
44
+ method: get
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "hello_world",
3
+ "version": "1.0.0",
4
+ "description": "##",
5
+ "private": true,
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git@gitlab.devhub.co:DevHubCo/hello_world.git"
12
+ },
13
+ "author": "",
14
+ "license": "ISC",
15
+ "devDependencies": {
16
+ "optimist": "^0.6.1",
17
+ "serverless-domain-manager": "^3.1.0",
18
+ "serverless-offline": "^4.10.0",
19
+ "serverless-plugin-warmup": "^4.4.3-rc.1",
20
+ "yaml-boost": "^1.9.17"
21
+ }
22
+ }
@@ -0,0 +1,54 @@
1
+ const path = require("path")
2
+ const optimist = require('optimist')
3
+ const yaml = require("yaml-boost")
4
+
5
+ const config = yaml.load(path.join(__dirname, "config/serverless.yml"), optimist.argv)
6
+ const stage = optimist.argv.stage ? optimist.argv.stage : "dev"
7
+
8
+ const layerName = config.service.charAt(0).toUpperCase() + config.service.slice(1) + stage.charAt(0).toUpperCase() + stage.slice(1)
9
+ const layerStackName = config.service + "-layer-" + stage
10
+
11
+ let targetConfig
12
+
13
+ if(optimist.argv["stack"] == "layer") {
14
+ let layers = {}
15
+
16
+ layers[layerName] = {
17
+ path: "layer",
18
+ description: "Ruby project layer",
19
+ compatibleRuntimes: ["ruby2.5"]
20
+ }
21
+ delete config.provider.environment
22
+
23
+ targetConfig = {
24
+ service: config.service + "-layer",
25
+ provider: config.provider,
26
+ layers: layers,
27
+ package: {
28
+ include: ["layer/**"]
29
+ }
30
+ }
31
+
32
+ } else {
33
+ let layerArn = `\${cf:${layerStackName}.` + `${layerName}LambdaLayerQualifiedArn}`.replace(/-/g, 'Dash')
34
+
35
+ if(config.custom) {
36
+ config.custom["layerArn"] = layerArn
37
+ } else {
38
+ config.custom = {
39
+ layerArn: layerArn
40
+ }
41
+ }
42
+
43
+ targetConfig = config
44
+ }
45
+
46
+ if(process.env.CI){
47
+ if(targetConfig.custom) {
48
+ delete targetConfig.custom.settings
49
+ }
50
+ } else {
51
+ targetConfig.provider["profile"] = "devhub-" + stage
52
+ }
53
+
54
+ module.exports = targetConfig
@@ -1,3 +1,3 @@
1
1
  module ServerlessHub
2
- VERSION = "0.1.10"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -31,8 +31,9 @@ Gem::Specification.new do |spec|
31
31
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
32
32
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
33
33
  end
34
- spec.bindir = "exe"
35
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
34
+ spec.bindir = "bin"
35
+ # spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
36
+ spec.executables = ['serverless_hub']
36
37
  spec.require_paths = ["lib"]
37
38
 
38
39
  spec.add_development_dependency "bundler", "~> 2.0.2"
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serverless_hub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Will
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2019-10-17 00:00:00.000000000 Z
12
12
  dependencies:
@@ -117,7 +117,8 @@ dependencies:
117
117
  description: Write a longer description or delete this line.
118
118
  email:
119
119
  - will@devhub.co
120
- executables: []
120
+ executables:
121
+ - serverless_hub
121
122
  extensions: []
122
123
  extra_rdoc_files: []
123
124
  files:
@@ -131,10 +132,16 @@ files:
131
132
  - README.md
132
133
  - Rakefile
133
134
  - bin/console
135
+ - bin/serverless_hub
134
136
  - bin/setup
135
137
  - lib/serverless_hub.rb
136
138
  - lib/serverless_hub/authorizer.rb
137
139
  - lib/serverless_hub/handler.rb
140
+ - lib/serverless_hub/templates/.gitignore
141
+ - lib/serverless_hub/templates/Dockerfile
142
+ - lib/serverless_hub/templates/config/serverless.yml
143
+ - lib/serverless_hub/templates/package.json
144
+ - lib/serverless_hub/templates/serverless.js
138
145
  - lib/serverless_hub/version.rb
139
146
  - serverless_hub.gemspec
140
147
  homepage: https://goolge.com.au