CLI
From the version >= 0.5.0
a command line it's available to query and test config-client.
Installing cli dependencies
pip install 'config-client[cli]'
Usage
python -m config
Example output
Usage: python -m config [OPTIONS] COMMAND [ARGS]...
Options:
--version Show the version and exit.
-h, --help Show this message and exit.
Commands:
client Interact with Spring Cloud Server via cli.
decrypt Decrypt a input via Spring Cloud Config.
encrypt Encrypt a input via Spring Cloud Config.
example 1: show client help.
python -m config client -h
Example output
Usage: python -m config client [OPTIONS] APP_NAME
Interact with Spring Cloud Server via cli.
Options:
-a, --address TEXT ConfigServer address. [default: http://localhost:8888;
required]
-l, --label TEXT Branch config. [default: master; required]
-p, --profile TEXT Profile config. [default: development; required]
-f, --filter TEXT Filter output by.
--auth TEXT Basic authentication credentials.
--digest TEXT Digest authentication credentials.
--file TEXT Gets remote file from server and saves locally.
--json Save output as json.
-v, --verbose Extend output info.
-h, --help Show this message and exit.
If you preferer can you set the command line options in environment variables
.
Example of environment variables available to override the command line options.
example 2: querying for a specific configuration.
Command syntax: config client <application_name> <filter>
python -m config client simpleweb000 -l master -v
Example output
╭─────────────────────────────────────────────────────── client info ────────────────────────────────────────────────────────╮
│ address: http://localhost:8888 │
│ label: master │
│ profile: development │
│ URL: http://localhost:8888/simpleweb000/development/master │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭───────────────────────────────────────────────── report for filter: 'all' ─────────────────────────────────────────────────╮
│ { │
│ "example": [ │
│ 1, │
│ 2 │
│ ], │
│ "examples": { │
│ "float": [ │
│ 1.1, │
│ 2.2, │
│ 3.3, │
│ 4.4 │
│ ], │
│ "int": [ │
│ 1, │
│ 2 │
│ ], │
│ "str": [ │
│ "example 1", │
│ "example 2", │
│ "example 3" │
│ ] │
│ }, │
│ "first": { │
│ "second_1": [ │
│ 1, │
│ 2 │
│ ], │
│ "second_2": [ │
│ 1 │
│ ], │
│ "second_3": { │
│ "third_1": [ │
│ 1, │
│ 2 │
│ ], │
│ "third_2": [ │
│ 1.1, │
│ 2.2, │
│ 3.3 │
│ ], │
│ "third_3": { │
│ "fourth_1": [ │
│ "1", │
│ "2" │
│ ], │
│ "fourth_2": [ │
│ 1 │
│ ], │
│ "fourth_3": [ │
│ 1, │
│ 2.2, │
│ "three" │
│ ], │
│ "fourth_4": { │
│ "fifth_1": [ │
│ 1, │
│ 2 │
│ ], │
│ "fifth_2": [ │
│ 1, │
│ 2, │
│ 3 │
│ ] │
│ } │
│ } │
│ } │
│ }, │
│ "health": { │
│ "config": { │
│ "enabled": false │
│ } │
│ }, │
│ "info": { │
│ "app": { │
│ "description": "pws simpleweb000 - development profile", │
│ "name": "simpleweb000", │
│ "password": "123" │
│ } │
│ }, │
│ "python": { │
│ "cache": { │
│ "timeout": 10, │
│ "type": "simple" │
│ } │
│ }, │
│ "server": { │
│ "port": 8080 │
│ }, │
│ "spring": { │
│ "cloud": { │
│ "consul": { │
│ "host": "discovery", │
│ "port": 8500 │
│ } │
│ } │
│ } │
│ } │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
example 3: saving the output to a file.
Command syntax: config client <application_name> <filter> --json
python -m config client simpleweb000 -f spring.cloud.consul --json
Example output
File saved: response.json
example 4: retrieving a remote file and saving locally.
Command syntax: config client <application_name> --file <filename>
python -m config client simpleweb000 --file nginx.conf
Example output
File saved: nginx.conf
example 5: encrypting a secret
Command syntax: config encrypt <my_secret>
python -m config encrypt 123
Example output
╭─────────────────────────────────────────────────────────────────────────────────────╮
│ encrypted data: 'f6d620453e28359fa05a2a96f2a089f5a46d858ee0174f5506e73a526ac6aed2' │
╰─────────────────────────────────────────────────────────────────────────────────────╯
python -m config encrypt 123 --raw
Example output
╭─────────────────────────────────────────────────────────────────────────────────────────────╮
│ encrypted data: '{cipher}59e4bf2fff4a0411eb216e617886f3464d1c0d5a13fec0c00b746ed007ef28d5' │
╰─────────────────────────────────────────────────────────────────────────────────────────────╯
example 6: decrypting a secret
Command syntax: config decrypt <my_encrypted_secret>
python -m config decrypt {cipher}59e4bf2fff4a0411eb216e617886f3464d1c0d5a13fec0c00b746ed007ef28d5
Example output
╭────────────────────────╮
│ decrypted data: '123' │
╰────────────────────────╯
python -m config decrypt 59e4bf2fff4a0411eb216e617886f3464d1c0d5a13fec0c00b746ed007ef28d5
Example output
╭────────────────────────╮
│ decrypted data: '123' │
╰────────────────────────╯
example 7: request config with basic auth
Command syntax: config decrypt <application_name> --auth <user:pass>
python -m config client simpleweb000 -f spring.cloud.consul --auth user:pass
Example output
╭───────────────────────────────────────────── client info ─────────────────────────────────────────────╮
│ address: http://localhost:8888 │
│ label: master │
│ profile: development │
│ URL: http://localhost:8888/simpleweb000/development/master │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭────────────────────────────────────── report for filter: 'all' ───────────────────────────────────────╮
│ { │
│ "description": "Spring Cloud Samples", │
│ "url": "https://github.com/spring-cloud-samples" │
│ } │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯
example 8: request config with digest auth
Command syntax: config client <application_name> --digest <user:pass>
python -m config client simpleweb000 'spring.cloud.consul' --digest user:pass
Example output
╭───────────────────────────────────────────── client info ─────────────────────────────────────────────╮
│ address: http://localhost:8888 │
│ label: master │
│ profile: development │
│ URL: http://localhost:8888/simpleweb000/development/master │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭────────────────────────────────────── report for filter: 'all' ───────────────────────────────────────╮
│ { │
│ "description": "Spring Cloud Samples", │
│ "url": "https://github.com/spring-cloud-samples" │
│ } │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯