0.0
No commit activity in last 3 years
No release in over 3 years
Whats asks pupetdb about systems for you
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.10

Runtime

~> 1.8
 Project Readme

whats

A script to query puppetdb and tell you what something is.

  • Takes hostname/fqdn as an argument.
  • Can provide yaml/json output as well as human readable.
  • Has configurable default fact list
  • has configurable domain completion/searches

Basically, whats is a wrapper around the puppetdb api, and will return facts you find interesting.

Installation

gem install puppet-whats

Config Example

---
puppetdb_server: 'puppetdb.some.domain.com'
puppetdb_port: '8080'
domains:
  - some.domain.com
  - domain.com
basic_info:
  - hostname
  - uptime

Usage

whats --help
Usage: whats [options] <hostname>
    -j, --json                       JSON output
    -y, --yaml                       YAML output
    -p, --pp                         Pretty Print output
    -a, --all                        Use all facts
    -c, --config CONFIG              Config file to use
    -v, --verbose                    Be verbose
    -q, --quiet                      Be extra quiet, only shown

Default output is a human readble table, thanks to terminal-table

Options are pretty obvious, however:

-j --json will output json formatted facts

-y --yaml will output yaml formatted facts

-p --pp will pretty-print format the facts

-a --all will just output all the facts, with whatever output you pick

-v --verbose will give you a little more info as to whats going on

-q --quiet will suppress everything except the fact output, for scripting

-c --config lets you specify a config (yaml) other than the default locations of ['~/.whats.yaml','/etc/whats.yaml']

Example:

Normal:

╰─ ./whats puppetca
Searching for puppetca...
Searching for puppetca.test.domain
+------------------------+--------------------------------------------------------+
| Fact                   | Value                                                  |
+------------------------+--------------------------------------------------------+
| hostname               | puppetca                                               |
| manufacturer           | VMware, Inc.                                           |
| productname            | VMware Virtual Platform                                |
| serialnumber           | VMware-42 20 6d 93 d4 97 c0 b8-01 dc 5d 46 e9 c7 69 a8 |
| operatingsystem        | CentOS                                                 |
| operatingsystemrelease | 7.2.1511                                               |
| architecture           | x86_64                                                 |
| processor0             | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz              |
| processorcount         | 4                                                      |
| memorysize             | 3.70 GiB                                               |
| kernelrelease          | 3.10.0-327.10.1.el7.x86_64                             |
| ipaddress              | 10.120.6.8                                             |
| macaddress             | 00:50:56:a0:71:0b                                      |
| virtual                | vmware                                                 |
| uptime                 | 10 days                                                |
+------------------------+--------------------------------------------------------+

Todo

  • Add SSL support