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
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
./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"
# 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
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.
MIT