Skip to content

sjoeboo/whats

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages