4.23.2 • Published 5 months ago

@evdy-consumer/cloudcms-internal-api v4.23.2

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

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 lerna

  • Copy env-template to .env

  • Add .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, or yarn run dev:ma to get the respective projects running
    • Optionally you can run yarn run dev as long as you have PROJECT and local set 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:do command to point to staging instead of local

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 watch script. If you run into that, you can run the build and run scripts. Alternatively, and preferably, you can fix the watch issue :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/ or dist/ directory to the "watch" array within nodemon.json. Then run lerna 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 offline

Then 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

4.18.1

11 months ago

4.18.0

11 months ago

4.21.1

8 months ago

4.23.0

6 months ago

4.23.1

6 months ago

4.23.2

5 months ago

4.21.0

8 months ago

4.19.0

9 months ago

4.17.0

12 months ago

4.17.1

12 months ago

4.22.0

8 months ago

4.22.1

7 months ago

4.20.0

9 months ago

4.16.0

1 year ago

4.14.1

1 year ago

4.12.0

1 year ago

4.14.0

1 year ago

4.15.0

1 year ago

4.11.4

1 year ago

4.11.1

1 year ago

4.13.0

1 year ago

4.11.2

1 year ago

4.11.3

1 year ago

4.11.0

1 year ago

4.10.1

2 years ago

4.10.0

2 years ago

4.9.1

2 years ago

4.9.0

2 years ago

4.8.0

2 years ago

4.7.2

2 years ago

4.7.1

2 years ago

4.7.0

2 years ago

4.6.0

2 years ago

4.5.1

2 years ago

4.5.0

2 years ago

4.4.0

3 years ago

4.3.0

3 years ago

4.2.2

3 years ago

4.2.1

3 years ago

4.2.0

3 years ago

4.0.4

3 years ago

4.1.0

3 years ago

4.1.1

3 years ago

3.2.2

3 years ago

3.3.0

3 years ago

3.2.1

3 years ago

3.2.0

3 years ago

3.2.3

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago

4.0.3

3 years ago

4.0.2

3 years ago

3.1.3

3 years ago

3.0.4

3 years ago

3.1.2

3 years ago

3.0.3

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.1

4 years ago

1.0.0

4 years ago