@evdy-consumer/cloudcms-internal-api v4.23.2
cloudcms-internal-api
Lambda for our internal apis available to use with CloudCMS
Setup
Install lerna globally if you haven't already:
npm install -g lernaCopy
env-templateto.envAdd .env-local to /env/(do|li|ma|recipes)/ folders
Install dependencies:
lerna bootstrap
Running
Starting the service
To compile the source and start the service:
- Run
yarn run dev:do,yarn run dev:li, oryarn run dev:mato get the respective projects running- Optionally you can run
yarn run devas long as you havePROJECTandlocalset as variables in the terminal in which you are starting the app- Example: If you want to start the project in nodemon dev mode dailyom but point to staging env variables you would run
export PROJECT=do && export ENV=staging && yarn run dev- alternatively you can update the
yarn run dev:docommand to point tostaginginstead oflocal
- alternatively you can update the
- Example: If you want to start the project in nodemon dev mode dailyom but point to staging env variables you would run
- Optionally you can run
Docker locally
- Compile lib with
yarn build:docker - In the root of the project run
docker build -t internal-api --build-arg NPM_TOKEN=$NPM_TOKEN . - Copy AWS export Credentials from the web (sso doesnt work inside the container)
- Run the image with
docker run -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN internal-api
AWS Docker locally
- Compile lib with
yarn build:docker - In the docker folder run
docker build --build-arg NPM_TOKEN=$NPM_TOKEN -t internal-api-aws --progress=plain --no-cache -f Dockerfile-aws ../ --debug - Copy AWS export Credentials from the web (sso doesnt work inside the container)
docker run -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN -p 3000:3000 internal-api-aws
ENV management
Env variables are dynamically pulled from S3 and secrets as well as process.env on application startup. When you need to add, update, or remove an env there are a few things that you might want to do. 1) add, update, or remove the value in the env file under env/(do|ma|li|recipes)/.env-(local|dev|staging|preprod|preview|prod) 2) once added you will want to push to your bucket file. 1) if not using a unique bucket please let the dev team know that default will be updated (this will effect applications so best practice is to update to a ticket number and remove the file later from s3) 2) upload command and jobs flows can be found here https://drive.google.com/file/d/1lecEqNvWFGmsUjdf0BB3H285jMlJdWdv/view?usp=sharing 3) once s3 has been pushed you will want to hit the /internal-local/v1/cache/purge url if the application is running or simply restart your app.
Start and watch for changes
- To transpile the source, start the service and watch for any changes:
yarn watch
NOTE: At the time of writing this there is an occasional issue with the
watchscript. If you run into that, you can run thebuildandrunscripts. Alternatively, and preferably, you can fix thewatchissue :trollface:
Watch additional packages within the lerna repo and restart
- To trigger a restart of cloudcms-api-proxy when changes are made within other packages within this lerna repo, add it's
lib/ordist/directory to the "watch" array withinnodemon.json. Then runlerna run watch
Debugging
To run in debug mode, you can start the application with serverless offline like this
node --inspect-brk ../../node_modules/serverless/bin/serverless.js offlineThen follow these instructions for opening chrome dev tools for debugging the application
Supported endpoints
To see all supported endpoints, please reference the functions section in serverless.yml
To view the source for one of those functions/endpoints, you can check the handler value, and then look for that file within the src directory instead of lib directory
11 months ago
11 months ago
8 months ago
6 months ago
6 months ago
5 months ago
8 months ago
9 months ago
12 months ago
12 months ago
8 months ago
7 months ago
9 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago