Serverless Ini Env

Nice Serverless plugin to setup environment variables with ini file

View on Github

serverless-ini-env

serverless Issues License NPM PRs Welcome

Install

npm install -D serverless-ini-env

or

serverless plugin install --name serverless-ini-env

Add the plugin to your serverless.yml file:

plugins:
  - serverless-ini-env

Serverless configuration

custom:
  serverless-ini-env:
    dev: "./your_configs/dev.ini"
    prod: "./your_configs/prod.ini"

functions:
  my_function_name_a:
    handler: handler.a_func
  my_function_name_b:
    handler: handler.b_func

Note: If you did not specify any configuration, plugins will consider root folder and stage options ex.

sls deploy --stage qa -> ./qa.ini

sls deploy --stage dev -> ./dev.ini

Environment configuration example

./your_configs/dev.ini

# will be available for both functions
MY_GLOBAL_VAR=DEV_VALUE

[my_function_name_a]
  NAME="function A"
  FOO=DEV_VALUE

[my_function_name_b]
  NAME="function B"
  BAR=DEV_VALUE

[my_function_name_a,my_function_name_b]
  SHARED_VARS="function A and B"

./your_configs/prod.ini

# will be available for both functions
MY_GLOBAL_VAR=PROD_VALUE

[my_function_name_a]
  NAME="function A"
  FOO=PROD_VALUE

[my_function_name_b]
  NAME="function B"
  BAR=PROD_VALUE

[my_function_name_a,my_function_name_b]
  SHARED_VARS="function A and B"

Usage and command line options

# Update all lambda environments
sls update-environments --stage prod

# Update a single function environments vars
sls update-environments function -f my_function_name_a --stage qa

Contributing

Yes, thank you! This plugin is community-driven, most of its features are from different authors. Please update the docs and tests and add your name to the package.json file. We try to follow Airbnb's JavaScript Style Guide.

License

MIT