Skip to content

forgotpw/forgotpw-restapi-lambda

Repository files navigation

ForgotPW REST API Lambda

NOTE: Rosa (www.rosa.bot) is the new name for ForgotPW

API Gateway REST endpoints for api.forgotpw.com/v1/.

Setup

Install local dependencies needed for performing deployments and tests

npm install serverless -g
pip install iam-starter iam-docker-run ssm-starter

Deploy

Apply Terraform, then deploy CloudFormation stack:

export AWS_ENV="dev" && export PROFILE="fpw$AWS_ENV"
# will export environment variables needed for serverless.yml
source ./exports.sh

iam-starter \
    --profile $PROFILE \
    --command sls deploy --verbose

Invoke Locally

Initial setup:

nvm use 8.10.0

export AWS_ENV="dev" && export PROFILE="fpw$AWS_ENV"
source ./exports.sh
export USERTOKENS_S3_BUCKET="forgotpw-usertokens-$AWS_ENV"
export AWS_REGION=us-east-1

export EVENT="./events/AutogenPasswordRequest.json"

iam-starter \
    --role role-ops-devops \
    --profile $PROFILE \
    --command sls invoke local \
    -f fpw-restapi \
    -p $EVENT \
    -l

Invoke Tests

Invoke tests locally

export AWS_REGION="us-east-1"
export AWS_ENV="dev" && export PROFILE="fpw$AWS_ENV"
iam-starter \
    --role role-ops-devops \
    --profile $PROFILE \
    --command ./invoke-test.sh

Or invoke tests through Docker

docker build -t forgotpw/forgotpw-restapi-lambda .
iam-docker-run \
    --interactive \
    --image forgotpw/forgotpw-restapi-lambda \
    --profile fpw$AWS_ENV \
    -e AWS_ENV=$AWS_ENV \
    -e AWS_REGION=us-east-1 \
    --full-entrypoint "/bin/bash /app/invoke-test.sh"

Test Live Endpoints

export SUBDOMAIN="api-dev"

# request an autogenerated password
curl -X POST \
    --header "Content-Type: application/json" \
    -d '{"languageCode": "en-us"}' \
    https://$SUBDOMAIN.forgotpw.com/v1/secrets/autogen

License

GNU General Public License v3.0

See LICENSE to see the full text.

About

API Gateway REST endpoints for api.rosa.bot/v1/

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published