CLI Configuration File (.configu)
The .configu
file is an optional configuration file used by the Configu CLI
to customize its behavior. The file should be named .configu
regardless of the format used: JSON, YAML, or JavaScript object.
File Location
The CLI recursively searches for the .configu
file starting from the current working directory and continuing up to the user's home directory. Once the CLI finds a .configu
file, it stops searching.
File Formats
The .configu
file can be written in one of the following formats: JSON, YAML, or JavaScript object. Below, you'll find examples of each format using the provided type information.
JSON Format:
Example .configu
file in JSON format:
{
"stores": {
"store1": {
"type": "storeType1",
"configuration": {
"option1": "value1",
"option2": "value2"
}
},
"store2": {
"type": "storeType2",
"configuration": {
"option3": "value3",
"option4": "value4"
}
}
},
"scripts": {
"script1": "configu command1 --option1 value1",
"script2": "configu command2 --option2 value2 | configu command3"
}
}
YAML Format:
Example .configu
file in YAML format:
stores:
store1:
type: storeType1
configuration:
option1: value1
option2: value2
store2:
type: storeType2
configuration:
option3: value3
option4: value4
scripts:
script1: 'configu command1 --option1 value1'
script2: 'configu command2 --option2 value2 | configu command3'
JavaScript Object Format:
Example .configu
file in JavaScript object format:
module.exports = {
stores: {
store1: {
type: 'storeType1',
configuration: {
option1: 'value1',
option2: 'value2',
},
},
store2: {
type: 'storeType2',
configuration: {
option3: 'value3',
option4: 'value4',
},
},
},
scripts: {
script1: 'configu command1 --option1 value1',
script2: 'configu command2 --option2 value2 | configu command3',
},
};
Options
Stores
The .configu
file allows you to save ConfigStore configurations as friendly names, which can be later used as values for the --store
flag in all the commands.
To define a custom store, add a new key-value pair to the stores
section of the .configu
file, where the key represents the friendly name, and the value is an object with the type
and configuration
properties. The type
property represents the store type, and the configuration
property contains the specific configuration options for the store.
For detailed information about the available store options, please refer to the relevant store on the ConfigStore
page.
Scripts
The .configu
file allows you to save Configu CLI
snippets as friendly names, which can be later used as values for the --script
flag in the configu run --script <label>
command.
To define a custom script, add a new key-value pair to the scripts
section of the .configu
file, where the key represents the friendly name, and the value is the script content. The script content should consist of Configu CLI
commands or a pipe of commands.
The .configu
configuration file provides a way to customize the behavior of the Configu CLI. It can be written in JSON, YAML, or JavaScript object format, using the .configu
file name. By defining custom stores and scripts in this file, you can easily reference them in CLI commands, making it more convenient to manage and collaborate on software configurations.
Remember that the .configu
file is optional, and if present, it will be automatically discovered by the CLI during its recursive search process.