@bedrock/config-yaml
v4.3.0
Published
Bedrock Config YAML
Downloads
1,272
Readme
bedrock-config-yaml
This module is used to layer a deployment Bedrock configuration defined in
a YAML file onto bedrock.config
. Values defined in the YAML config may add
and overwrite values in bedrock.config
. The YAML configuration is applied
after all conventional Bedrock module configuration has been completed. If
there is no YAML configuration file found in the location specified by the
bedrock-config-yaml
config, Bedrock startup proceeds normally and no
configuration changes are applied.
Usage
To ensure that no other module will override the YAML configuration,
bedrock-config-yaml
should be the last import before bedrock.start()
is
called. If bedrock-config-yaml
is not the last bedrock-cli.parsed
or
bedrock.configure
event handler, an error will be thrown that will prevent
application startup.
There are two separate configuration files that are applied when different
events occur during Bedrock startup: core
and app
.
Core Config
The core
config is used to configure core Bedrock features such as the
number of workers or the default log formatter. The core
config is applied by
the last handler for the bedrock-cli.parsed
event. The default location for
the core
config is: /etc/bedrock-config/core.yaml
.
Sample core.yaml
core:
workers: 2
loggers:
console:
bedrock:
formatter: logstash
App Config
The app
config is used to configure Bedrock application/module features.
The app
config is applied by the last handler for the bedrock.configure
event. The default location for the app
config is:
/etc/bedrock-config/app.yaml
.
Sample app.yaml
test-bedrock-module:
foo: fromYaml
overwriteMe: fromYaml
another-bedrock-module:
host: example.com
port: 18443
Loading From Environment Variable
It is possible to load the config YAML from a BEDROCK_CONFIG
environment
variable. The value is a base64 encoded version of the entire YAML config file.
If this variable is found, the filesystem based config setup will be skipped.
License
Apache License, Version 2.0 Copyright 2011-2024 Digital Bazaar, Inc.
Other Bedrock libraries are available under a non-commercial license for uses such as self-study, research, personal projects, or for evaluation purposes. See the Bedrock Non-Commercial License v1.0 for details.
Commercial licensing and support are available by contacting Digital Bazaar [email protected].