Forge Home


Manage gnupg package and public keys


354 latest version

4.7 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 2.0.1 (latest)
  • 2.0.0
  • 1.5.2
  • 1.5.1
  • 1.5.0 (deleted)
released Dec 29th 2023
This version is compatible with:
  • Puppet Enterprise 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
  • Puppet >= 7.0.0 < 9.0.0
  • , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'h0tw1r3-gnupg', '2.0.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add h0tw1r3-gnupg
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install h0tw1r3-gnupg --version 2.0.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Tags: gnupg, pgp


h0tw1r3/gnupg — version 2.0.1 Dec 29th 2023

GnuPG module for Puppet

Table of Contents

  1. Description
  2. Usage - Configuration options and additional functionality
  3. Limitations - OS compatibility, etc.
  4. Development - Guide for contributing to the module


Manage PGP public and private keys in GnuPG keyrings.


The command gnupg is required for the functions provided in this module.

Including the base class in a manifest will ensure the appropriate GnuPG package is installed for a supported operating system.

include gnupg

This is for convenience and may be skipped if you prefer to manage installing the GnuPG command line tool.


Add public key from a remote server

gnupg_key { 'hkp_server_20BC0A86':
  ensure     => present,
  key_id     => '20BC0A86',
  user       => 'root',
  key_server => 'hkp://',
  key_type   => 'public',

Add public key from puppet

gnupg_key { 'jenkins_foo_key':
  ensure     => present,
  key_id     => 'D50582E6',
  user       => 'foo',
  key_source => 'puppet:///modules/gnupg/D50582E6.key',
  key_type   => 'public',

Remove public key

gnupg_key { 'root_remove_20BC0A86':
  ensure   => absent,
  key_id   => '20BC0A86',
  user     => 'root',
  key_type => 'public',

Remove both private and public keys

gnupg_key { 'root_remove_20BC0A66':
  ensure   => absent,
  key_id   => '20BC0A66',
  user     => 'root',
  key_type => 'both',


Refer to the Version Information section for this module on the Puppet Forge, or the operatingsystem_support key in metadata.json of the source code.


Contributions are welcome and encouraged! Please submit a pull request to the project on Github. Priority will be given to contributions that include tests and documentation. If you're unfamiliar, that's okay, someone will help guide you through the process.


Forked from version 1.2.3 of the gnupg module developed by Dejan Golja