Big news!Introducing Socket AI - ChatGPT-Powered Threat Analysis. Learn more
Socket
Log inDemoInstall

serverless-plugin-env-stage-config

Package Overview
Dependencies
2
Maintainers
1
Versions
12
Issues
File Explorer

Advanced tools

serverless-plugin-env-stage-config

Serverless plugin to define environment variables files for stages

    1.3.4latest
    GitHub

Version published
Maintainers
1
Weekly downloads
103
decreased by-83.78%

Weekly downloads

Changelog

Source

v1.3.4

1.3.4 (2023-03-20)

Bug Fixes

  • deps: bump @serverless/utils from 6.8.2 to 6.9.2 (#90) (683d6fc)

Readme

Source

serverless-plugin-env-stage-config

npm version XO code style

This Serverless plugin allows to define environment variable configuration files for stages. It exposes a new variable resolver ($esc) that automatically picks the correct value based on the selected stage. For development stages (local, dev, development), the variables will default to the system’s environment variables.

CI

Tests Release

Installation

yarn add --dev serverless-plugin-env-stage-config plugins: - serverless-plugin-env-stage-config

Usage

For non-development stages, the variables will be retrieved from a serverless.env.${stage}.yml file, alongside the serverless.yml.

Let’s consider the following serverless.yml:

name: my-service useDotenv: true resources: Resources: MyQueue: Type: AWS::SQS::Queue Properties: QueueName: some-queue provider: name: aws environment: MYSQL_HOST: ${esc:MYSQL_HOST} MYSQL_PORT: ${esc:MYSQL_PORT} functions: run-something: handler: handler.run environment: QUEUE_URL: ${esc:QUEUE_URL} SECRET_TOKEN: ${esc:SECRET_TOKEN}

Local stages

In a local environment, the variables resolved with the esc: prefix will be equivalent to using env:. Using useDotenv: true alongside a .env file will alow you to define your environement variables.

The supported local stages are:

  • local
  • dev
  • development

Other stages

If you need to define a different source for the environement variables for your prod stage, you can define a serverless.env.prod.yml to redefine the variables.

For example, if you’re using AWS SSM Parameter Store, you could create the following file:

MYSQL_HOST: ${ssm:/my-service/prod/MYSQL_HOST} QUEUE_URL: !Ref MyQueue SECRET_TOKEN: ${ssm:/my-service/prod/SECRET_TOKEN}

Any variable that is not included in the serverless.env.prod.yml file will produce a warning and fallback to using env:. In this case, you will get the following warning:

Serverless: env-stage-config: WARNING: the MYSQL_PORT variable is not defined in serverless.env.prod.yml, defaulting to ${env:MYSQL_PORT, null}.

If a variable is not defined in the stage environment configuration file, or the environment (process.env), it will default to null.

License

MIT

Miscellaneous

╚⊙ ⊙╝ ╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝

Keywords

FAQs

Last updated on 20 Mar 2023

Did you know?

Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install Socket
Socket
support@socket.devSocket SOC 2 Logo

Product

  • Package Issues
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc