Configuration
Edit this page# Introduction
All of the configuration files for Firelayer are stored in the config
directory.
If they don't exist already, start by copying all the *.dist.json
files and rename to *.json
in their respective folder and fill out with the respective configurations content:
# > config/keys/key.json
It's the service account key downloaded from the firebase console which will allow access the Admin SDK functionalities for the Firelayer CLI and for apps/functions
local development.
# > config/app.json
This is the global configuration file, all applications will receive these configs. A good example of what to inject into all the applications would be the Firebase config.
# > config/{folder}/env.json
Each folder contains the configuration file for the respective apps/{folder}
application. Configurations set in these files will ovewrite config/app.json
properties (when the keys are the same).
# Using
The configurations are intended to be used with the help of the command firelayer run
which will inject all the configurations into process.env
So when running firelayer run "node index.js"
it will inject all the configurations into process.env
, like so:
// will create a key for each app in apps/{folder}
// stringified version of config files
// config/admin/env.json + config/app.json
process.env.admin = '{"firebase": {"projectId": "new-firebase-project"}}'
// config/functions/env.json + config/app.json
process.env.functions = '{"firebase": {"projectId": "new-firebase-project"}}'
// config/app.json is injected in all applications
// because is the global configuration file for the project
// and the path for the the Service Account key
process.env.GOOGLE_APPLICATION_CREDENTIALS = '..../config/keys/key.json'
// so it can be used in the initialization of the Firebase Admin SDK
// like so: admin.credential.applicationDefault()