#puppet #cli-tool #puppetdb #puppetdb-cli

bin+lib rust-puppetdb-cli

PuppetDB CLI 工具(Rust 语言实现)

3 个版本

使用旧的 Rust 2015

0.1.2 2016 年 3 月 8 日
0.1.1 2016 年 3 月 3 日
0.1.0 2016 年 3 月 3 日

#puppet 中排名 4

自定义许可

19KB
424

Rust 实现的 PuppetDB CLI

Build status Build Status Crates.io

自动生成文档

兼容性

此 CLI 与 PuppetDB v4 兼容。

安装

使用 rustccargo(稳定版、beta 版或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": {}
  }
}

配置

Rust PuppetDB CLI 接受一个 --config=<path_to_config> 标志,允许您配置 SSL 凭证和 PuppetDB 的位置。

默认情况下,如果存在,工具将使用 $HOME/.puppetlabs/client-tools/puppetdb.conf 作为其配置文件。

配置文件的格式可以从以下示例中推断。

  {
    "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"
      },
    }
  }

待办事项

  • 添加 --log-level--silent 选项
  • 为所有内容添加测试

依赖项

~13MB
~292K SLoC