https://github.com/broadinstitute/puppet-certs

SSL Certificate File Management for Puppet

https://github.com/broadinstitute/puppet-certs

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.8%) to scientific vocabulary

Keywords

puppet ssl
Last synced: 5 months ago · JSON representation

Repository

SSL Certificate File Management for Puppet

Basic Info
  • Host: GitHub
  • Owner: broadinstitute
  • License: bsd-3-clause
  • Language: Ruby
  • Default Branch: main
  • Size: 134 KB
Statistics
  • Stars: 4
  • Watchers: 27
  • Forks: 6
  • Open Issues: 4
  • Releases: 10
Archived
Topics
puppet ssl
Created almost 10 years ago · Last pushed about 3 years ago
Metadata Files
Readme Changelog Contributing License Codeowners

README.md

certs

checks Puppet Forge Puppet Forge Puppet Forge License (Apache 2.0)

Table of Contents

Notice

This module has been renamed to puppet-certificates due to naming conflicts and as such is being deprecated. You can find a fork of this module at puppet-certificates.

Overview

Configures SSL certificates and keys.

Module Description

This module provides SSL certificate files required by Apache or other services via the certs::site define. It can be used in conjunction with puppetlabs/apache's apache::vhost definitions to provide the sslcert and sslkey files or any other service requiring SSL certificates.

It can also be used independent of any Puppet-defined service that requires the files to exist on a managed node.

Setup

Setup Requirements

The certificate files must come from an external store. Recommended stores are a site-specific (and private) module containing SSL files or a network-accessible filesystem, such as NFS, that the managed node can access. Once a file store is determined, include at least one certs::site define and specify the file store location as the source_path.

By default, this module will place certificates and keys in their relative locations and restart the specified service, provided it is defined in the catalog.

  • RedHat

    • certificates directory: /etc/pki/tls/certs
    • keys directory: /etc/pki/tls/private
    • service: httpd
  • Debian & Suse

    • certificates directory: /etc/ssl/certs
    • keys directory: /etc/ssl/private
    • service: apache2
  • FreeBSD

    • certificates directory: /usr/local/etc/apache24
    • keys directory: /usr/local/etc/apache24
    • service: apache24
  • Gentoo

    • certificates directory: /etc/ssl/apache2
    • keys directory: /etc/ssl/apache2
    • service: apache2

Usage

No trailing slashes should be provided for any paths.

Installation

Puppet Forge:

sh puppet module install broadinstitute-certs

Puppetfile:

sh mod 'broadinstitute/certs'

Examples

Puppet Manifest

manifest.pp

puppet include certs $domain = 'www.example.com' certs::site { $domain: source_path => 'puppet:///site_certificates', ca_cert => true, ca_name => 'caname', ca_source_path => 'puppet:///ca_certs', }

With Hiera

node.yaml

yaml classes: - certs certs::sites: 'www.example.com': source_path: 'puppet:///site_certificates' ca_cert: true ca_name: 'caname' ca_source_path: 'puppet:///ca_certs'

Resource Chaining with Apache Module

manifest.pp

puppet Certs::Site<| |> -> Apache::Vhost<| |>

Global Defaults

You can also reset some of the settings in params.pp globally via the certs base class which will be inherited by all certs::site defines used that are later defined. In this example, we can reset the default certificate and key paths for all instantiated sites so that we don't have to manually set the custom path in each site:

```puppet $domain1 = 'www.example.com' $domain2 = 'foo.example.com'

class { 'certs': certpath => '/path/to/certs', keypath => '/path/to/keys', }

certs::site { $domain1: sourcepath => 'puppet:///sitecertificates', cacert => true, caname => 'caname', casourcepath => 'puppet:///ca_certs', }

certs::site { $domain2: sourcepath => 'puppet:///sitecertificates', cacert => true, caname => 'caname', casourcepath => 'puppet:///ca_certs', } ```

Reference

REFERENCE.md (generated with Puppet Strings)

Limitations

This module is CI tested against open source Puppet on:

  • CentOS 6, 7, 8
  • RHEL 6, 7, 8

This module also provides functions for other distributions and operating systems, such as FreeBSD and Gentoo, but is not formally tested on them and are subject to regressions.

Contributors

Riccardo Calixte (@rcalixte)

Andrew Teixeira (@coreone)

More contributors.

Owner

  • Name: Broad Institute
  • Login: broadinstitute
  • Kind: organization
  • Location: Cambridge, MA

Broad Institute of MIT and Harvard

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 9
  • Total pull requests: 91
  • Average time to close issues: 10 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 6
  • Total pull request authors: 4
  • Average comments per issue: 1.11
  • Average comments per pull request: 0.4
  • Merged pull requests: 66
  • Bot issues: 0
  • Bot pull requests: 51
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • bschonec (2)
  • coreone (2)
  • linuxmail (2)
  • philomory (1)
  • alexseys (1)
  • rcalixte (1)
Pull Request Authors
  • dependabot[bot] (51)
  • coreone (25)
  • rcalixte (13)
  • jorhett (2)
Top Labels
Issue Labels
bugfix (3) enhancement (2)
Pull Request Labels
dependencies (51) github_actions (50) maintenance (16) enhancement (16) bugfix (5) backwards-incompatible (1) ruby (1)

Dependencies

Gemfile rubygems
  • github_changelog_generator >= 0 development
  • pdk >= 0 development
.devcontainer/Dockerfile docker
  • puppet/pdk latest build
.github/workflows/checks.yaml.orig actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • ruby/setup-ruby v1.135.0 composite
.github/workflows/deploy.yaml.orig actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • ruby/setup-ruby v1.135.0 composite
.github/workflows/test_deploy.yaml.orig actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • ruby/setup-ruby v1.135.0 composite