It's required to store configuration JSON with Firebase projects to start using CLI. JSON format is the following:
{
"projects": [
{
"project_number": string,
"name": string, // project name will be only used in CLI terminal ouput
"app_ids": [string]
}
]
}
To store config run config store path_to_config
subcommand
rcm config store ./config.json
It's also possible to add single project using command line.
Run config add
subcommand with required -n | --name
and --project_number
and optional -a | --app_ids
arguments
rcm config add -n=project_name --project_number=project_number -a first_app_id -a second_app_id
To remove project run config rm proejct_name
subcommand.
To view stored projects run config show
subcommand with optional -n | --name
argument.
rcm config show -n=project_name
To add parameter run add
subcommand with optional -n | --name
and -d | --description
arguments.
$ rcm add -n=new_parameter_name -d="Very useful feature flag"
If you have multiple projects added to rcm
, you can specify project you want to update using -p | --project
argument.
$ rcm add -n=new_parameter_name -p=my_project
If parameter
argument is not passed rcm
will make attempt to add parameter to all projects.
Program will ask you value type, default and optional conditional values.
To update the parameter run update
subcommand with required -n | --name
argument.
$ rcm update -n=existing_parameter_name
You can also specify project if you want update only parameter only in specific one.
Pass -m | --main
argument with project name you want to update first.
Parameters for other projects will inherit description and conditions.
$ rcm update -n=existing_parameter_name -m=project_will_run_first
To delete parameter in all projects run delete
subcommand with required -n | --name
argument.
$ rcm delete -n=existing_parameter_name
Remote config allow you to group parameters together.
To move parameter to the group, even from another one, run move-to
command with required -n | --name
and optional -g | --group
arguments.
$ rcm move-to -n=existing_parameter_name -g="Group name"
To move parameter out of the group run move-out
subcommand with -n | --name
argument.
$ rcm move-out -n=existing_parameter_name
To view configuration run show
command with optional -p | --project
argument.
By default, it will display all projects in separate tables.
$ rcm show -p=my_project
rcm
is written in Rust.
The recommended way to install Rust for development is from the official download page, using rustup.
Put client_secret.json
with Google OAuth 2.0 secret to the root directory of the project.
Once Rust is installed and secret file is placed, you can compile rcm
with Cargo:
cargo build
cargo build --release