Add stdin parsing to puppet parser validate
(#11727) Support STDIN for `puppet parser validate`

This adds an acceptance test for the STDIN validation feature of the `puppet
parser validate` action.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
(#15731) Full certificate metadata for pson

When attempting to get certificate metadata using the REST API, the API
returns a different set of metadata based on whether one requests yaml
or pson, neither of which are the full set of metadata.
This commit adds dns_alt_names/subjectAltNames to the metadata for pson.
(#15731) explicit fingerprint digest for pson

The pson metadata for a certificate (or certificate request) contains a
fingerprint which was created with the default digest algorithm. This
algorithm must change as we move to FIPS 140-2 compliance because MD5 is
explicitly denied.
This commit includes fingerprint metadata for 3 stronger hashing
algorithms and explicitly calls out that the fingerprint is for that
algorithm.
(#16139) Provide accessors for @puppet_version and @report_format in
reports

Prior to this commit, some of the data that was useful / necessary
to write a complete report processor was only accessible via
instance variables, while the vast majority of the data was available
through accessor methods.  This commit simply adds accessors for
puppet_version and report_format so that authors of report processors
aren't forced to interact with instance variables.  This should
make report processor implementation a bit more consistent, and
provides a little bit of abstraction from the underlying implementation
details.
(#15731) Move explicit fingerprints to hash

Move the explicit fingerprints for certificates and certificate requests
to a hash within the normal pson data. This commit makes the format of
the pson:
{
  ...
  fingerprint: <current fingerprint algorithm>
  fingerprints: {
    default: <current fingerprint algorithm>
    SHA1: <sha1 fingerprint>
    SHA256: <sha256 fingerprint>
    SHA512: <sha512 fingerprint>
  }
}

Clean up the tests to reduce duplication and improve clarity of what is
actually being tested in each case.
(#16058) Add setting to configure catalog cache

This adds a setting to configure the cache terminus used by the catalog
indirection. The two reasonable values at this time are "yaml" and "pson".
(#16058) Set pson as default catalog cache format

Serializing as pson appears to be faster, so set it as the default. Yaml is
still available by setting catalog_cache_terminus.
Add a terminus setting type

The terminus setting type makes it possible to set a terminus to nil by
providing an empty string in the configuration. It also converts the terminus
name to a symbol automatically.

This required making all terminus settings consistently use symbols.
(#15731) Add clarifying comments to host.rb

Prior to this commit it was unclear that the existing :fingerprint
element of the pson hash was still around for backwards compatibility
for as of yet unknown external consumers of the existing api. This
commit makes it clear that that's why it's still around and that we
don't have any known internal consumers of that api.
Merge branch 'ticket/2.7.x/15731_full_certificate_metadata_for_pson' into 2.7.x

* ticket/2.7.x/15731_full_certificate_metadata_for_pson:
  (#15731) Add clarifying comments to host.rb
  (#15731) Move explicit fingerprints to hash
  (#15731) explicit fingerprint digest for pson
  (#15731) Full certificate metadata for pson
Revert "(#15797) Change the argument to chkconfig from 'on' to 'reset'"

This reverts commit d2012aec0a2cce06f8db830c3f4d5a4950fe9ce0.

The chkconfig line can use `-` to indicate the service should
not be enabled by default.  In this case, `reset` disables all
runlevels, which is the opposite of what `enable=>true` should do.

The original bug referenced in #15797, #528, was also reverted
for (presumably) the same reason:
    https://github.com/puppetlabs/puppet/commit/41e1285553870f0b425b88a6209fab8733b421b2
(#15797) Update chkconfig test to reflect reality

Let's never forget that we call chkconfig with `on`.
(Service scripts are allowed to specify `-` for default runlevels,
which makes `reset` disable the service in all levels.)
Merge pull request #876 from zaphod42/feature/2.7.x/11727-stdin-parsing-in-face

Feature/2.7.x/11727 stdin parsing in face
Merge pull request #1098 from ahpook/2.7.x

(#15797) Revert changing 'chkconfig' argument from 'on' to 'reset'
Merge pull request #1073 from cprice-puppet/refactor/3.x/16139-inconsistent-access-to-report-data

(#16139) Provide accessors for @puppet_version and @report_format in reports
Merge pull request #1084 from pcarlisle/ticket/3.x/16058-pson-catalog-cache

Ticket/3.x/16058 pson catalog cache
Merge remote-tracking branch 'origin/2.7.x' into 3.x
Merge remote-tracking branch 'origin/3.x'