3 releases
Uses old Rust 2015
0.1.2 | Mar 8, 2016 |
---|---|
0.1.1 | Mar 3, 2016 |
0.1.0 | Mar 3, 2016 |
#4 in #puppet
19KB
424 lines
Rust Implementation of a PuppetDB CLI
Compatibility
This CLI is compatible with PuppetDB v4.
Installation
Using rustc
and cargo
(stable, beta, or nightly):
<rust-puppetdb-cli>$ export PATH=./target/debug
<rust-puppetdb-cli>$ cargo build
<rust-puppetdb-cli>$ puppet-query 'nodes[certname]{}'
[
{
"certname" : "baz.example.com"
},
{
"certname" : "bar.example.com"
},
{
"certname" : "foo.example.com"
}
]
<rust-puppetdb-cli>$ puppet-db status
{
"puppetdb-status": {
"service_version": "4.0.0-SNAPSHOT",
"service_status_version": 1,
"detail_level": "info",
"state": "running",
"status": {
"maintenance_mode?": false,
"queue_depth": 0,
"read_db_up?": true,
"write_db_up?": true
}
},
"status-service": {
"service_version": "0.3.1",
"service_status_version": 1,
"detail_level": "info",
"state": "running",
"status": {}
}
}
Configuration
The Rust PuppetDB CLI accepts a --config=<path_to_config>
flag which allows
you to configure your ssl credentials and the location of your PuppetDB.
By default the tool will use $HOME/.puppetlabs/client-tools/puppetdb.conf
as
it's configuration file if it exists.
The format of the config file can be deduced from the following example.
{
"puppetdb" : {
"server_urls" : [
"https://pdb.internal.lan:8081",
"https://read-pdb.internal.lan:8081"
],
"cacert" : "/path/to/cacert",
"cert" : "/path/to/cert",
"key" : "/path/to/private_key"
},
}
}
TODO
- Add
--log-level
and--silent
options - Add testing for all the things
Dependencies
~13MB
~293K SLoC