From 4a869878b082f6feed41e5caba793453cba875af Mon Sep 17 00:00:00 2001 From: Pedro Diaz Date: Wed, 11 Mar 2020 15:22:27 -0400 Subject: [PATCH 1/2] sample --- examples/ridge_bcrypt/Makefile | 24 +++++++++++++++++++ .../ridge_bcrypt/docker/Dockerfile.bcrypt | 5 ++++ examples/ridge_bcrypt/lambda_function.py | 13 ++++++++++ examples/ridge_bcrypt/manifest.yml | 12 ++++++++++ examples/ridge_bcrypt/requirements/base.txt | 1 + .../requirements/bcrypt_layer.txt | 1 + examples/ridge_bcrypt/sam.yml | 21 ++++++++++++++++ 7 files changed, 77 insertions(+) create mode 100644 examples/ridge_bcrypt/Makefile create mode 100644 examples/ridge_bcrypt/docker/Dockerfile.bcrypt create mode 100644 examples/ridge_bcrypt/lambda_function.py create mode 100644 examples/ridge_bcrypt/manifest.yml create mode 100644 examples/ridge_bcrypt/requirements/base.txt create mode 100644 examples/ridge_bcrypt/requirements/bcrypt_layer.txt create mode 100644 examples/ridge_bcrypt/sam.yml diff --git a/examples/ridge_bcrypt/Makefile b/examples/ridge_bcrypt/Makefile new file mode 100644 index 0000000..c9f4158 --- /dev/null +++ b/examples/ridge_bcrypt/Makefile @@ -0,0 +1,24 @@ +s3_bucket=temp-awsdev +stack_name ?= juni-ridge +sam_template_base=sam +sam_template=$(sam_template_base).yml +sam_output=$(sam_template_base)-new.yml + + +build: + juni build + +package: + sam package \ + --s3-bucket $(s3_bucket) \ + --template-file $(sam_template) \ + --output-template-file ./dist/$(sam_output) \ + --profile $(profile) + +deploy: package + sam deploy \ + --template-file ./dist/$(sam_output) \ + --stack-name $(stack_name) \ + --capabilities CAPABILITY_IAM \ + --region us-east-1 \ + --profile $(profile) diff --git a/examples/ridge_bcrypt/docker/Dockerfile.bcrypt b/examples/ridge_bcrypt/docker/Dockerfile.bcrypt new file mode 100644 index 0000000..3f1bc05 --- /dev/null +++ b/examples/ridge_bcrypt/docker/Dockerfile.bcrypt @@ -0,0 +1,5 @@ +FROM lambci/lambda:build-python3.6 + +RUN yum install gcc libffi-devel python-devel -y + +RUN mkdir -p /var/task/lambda_lib/ diff --git a/examples/ridge_bcrypt/lambda_function.py b/examples/ridge_bcrypt/lambda_function.py new file mode 100644 index 0000000..ae818a7 --- /dev/null +++ b/examples/ridge_bcrypt/lambda_function.py @@ -0,0 +1,13 @@ +import bcrypt + + +def lambda_handler(event, context): + password = b"super secret password" + # Hash a password for the first time, with a randomly-generated salt + hashed = bcrypt.hashpw(password, bcrypt.gensalt()) + # Check that an unhashed password matches one that has previously been + # hashed + if bcrypt.checkpw(password, hashed): + return {"value": "It Matches!"} + + return {"value": "It Does not Match :("} diff --git a/examples/ridge_bcrypt/manifest.yml b/examples/ridge_bcrypt/manifest.yml new file mode 100644 index 0000000..fd0a875 --- /dev/null +++ b/examples/ridge_bcrypt/manifest.yml @@ -0,0 +1,12 @@ + +functions: + sample: + requirements: ./requirements/base.txt + include: + - ./lambda_function.py + +layers: + + bcrypt: + image: juniper/bcrypt + requirements: ./requirements/bcrypt_layer.txt \ No newline at end of file diff --git a/examples/ridge_bcrypt/requirements/base.txt b/examples/ridge_bcrypt/requirements/base.txt new file mode 100644 index 0000000..441145a --- /dev/null +++ b/examples/ridge_bcrypt/requirements/base.txt @@ -0,0 +1 @@ +bcrypt \ No newline at end of file diff --git a/examples/ridge_bcrypt/requirements/bcrypt_layer.txt b/examples/ridge_bcrypt/requirements/bcrypt_layer.txt new file mode 100644 index 0000000..441145a --- /dev/null +++ b/examples/ridge_bcrypt/requirements/bcrypt_layer.txt @@ -0,0 +1 @@ +bcrypt \ No newline at end of file diff --git a/examples/ridge_bcrypt/sam.yml b/examples/ridge_bcrypt/sam.yml new file mode 100644 index 0000000..b8b2b5e --- /dev/null +++ b/examples/ridge_bcrypt/sam.yml @@ -0,0 +1,21 @@ +AWSTemplateFormatVersion: '2010-09-09' +Transform: AWS::Serverless-2016-10-31 +Description: API Gateway with Lambda Token Authorizer + +Resources: + + APIHandlerFunction: + Type: AWS::Serverless::Function + Properties: + Runtime: python3.6 + Handler: lambda_function.lambda_handler + CodeUri: ./dist/sample.zip + # Layers: + # - !Ref BcryptLayer + + BcryptLayer: + Type: 'AWS::Serverless::LayerVersion' + Properties: + ContentUri: ./dist/bcrypt.zip + CompatibleRuntimes: # optional + - python3.6 \ No newline at end of file From a51abe66c1e0e1c3cd8555d3f97f88314cf4caed Mon Sep 17 00:00:00 2001 From: Pedro Diaz Date: Wed, 11 Mar 2020 15:25:34 -0400 Subject: [PATCH 2/2] wip --- examples/ridge_bcrypt/Makefile | 2 +- examples/ridge_bcrypt/docker/Dockerfile.bcrypt | 5 ----- examples/ridge_bcrypt/manifest.yml | 1 - examples/ridge_bcrypt/requirements/base.txt | 1 - examples/ridge_bcrypt/sam.yml | 4 ++-- 5 files changed, 3 insertions(+), 10 deletions(-) delete mode 100644 examples/ridge_bcrypt/docker/Dockerfile.bcrypt diff --git a/examples/ridge_bcrypt/Makefile b/examples/ridge_bcrypt/Makefile index c9f4158..dcf4032 100644 --- a/examples/ridge_bcrypt/Makefile +++ b/examples/ridge_bcrypt/Makefile @@ -1,4 +1,4 @@ -s3_bucket=temp-awsdev +s3_bucket=temp-$(profile) stack_name ?= juni-ridge sam_template_base=sam sam_template=$(sam_template_base).yml diff --git a/examples/ridge_bcrypt/docker/Dockerfile.bcrypt b/examples/ridge_bcrypt/docker/Dockerfile.bcrypt deleted file mode 100644 index 3f1bc05..0000000 --- a/examples/ridge_bcrypt/docker/Dockerfile.bcrypt +++ /dev/null @@ -1,5 +0,0 @@ -FROM lambci/lambda:build-python3.6 - -RUN yum install gcc libffi-devel python-devel -y - -RUN mkdir -p /var/task/lambda_lib/ diff --git a/examples/ridge_bcrypt/manifest.yml b/examples/ridge_bcrypt/manifest.yml index fd0a875..1405c99 100644 --- a/examples/ridge_bcrypt/manifest.yml +++ b/examples/ridge_bcrypt/manifest.yml @@ -8,5 +8,4 @@ functions: layers: bcrypt: - image: juniper/bcrypt requirements: ./requirements/bcrypt_layer.txt \ No newline at end of file diff --git a/examples/ridge_bcrypt/requirements/base.txt b/examples/ridge_bcrypt/requirements/base.txt index 441145a..e69de29 100644 --- a/examples/ridge_bcrypt/requirements/base.txt +++ b/examples/ridge_bcrypt/requirements/base.txt @@ -1 +0,0 @@ -bcrypt \ No newline at end of file diff --git a/examples/ridge_bcrypt/sam.yml b/examples/ridge_bcrypt/sam.yml index b8b2b5e..03c0726 100644 --- a/examples/ridge_bcrypt/sam.yml +++ b/examples/ridge_bcrypt/sam.yml @@ -10,8 +10,8 @@ Resources: Runtime: python3.6 Handler: lambda_function.lambda_handler CodeUri: ./dist/sample.zip - # Layers: - # - !Ref BcryptLayer + Layers: + - !Ref BcryptLayer BcryptLayer: Type: 'AWS::Serverless::LayerVersion'