NOTE: Rosa (www.rosa.bot) is the new name for ForgotPW
API Gateway REST endpoints for api.forgotpw.com/v1/.
Install local dependencies needed for performing deployments and tests
npm install serverless -g
pip install iam-starter iam-docker-run ssm-starter
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
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 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"
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
GNU General Public License v3.0
See LICENSE to see the full text.