GithubHelp home page GithubHelp logo

optiz0r / puppet-trusted_ca Goto Github PK

View Code? Open in Web Editor NEW

This project forked from voxpupuli/puppet-trusted_ca

0.0 1.0 0.0 402 KB

Puppet module to install additional root certificates on rpm and debian based linux systems

License: Other

Ruby 57.78% Puppet 36.95% Shell 3.05% Dockerfile 2.21%

puppet-trusted_ca's Introduction

Build Status Code Coverage Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with trusted_ca
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module
  8. Changelog/Contributors

Overview

A puppet module to manage the distribution's trusted certificates and install trusted SSL certificates into the system's trusted keystore and java's keystore's.

Module Description

Many organizations use self-signed SSL certificates for internal services that need to be trusted by other hosts. This puppet module will install SSL certificates into a host's system-wide trusted CA files (which are used by distribution-provided java packages) as well as a define for installing certificates into java installations not provided by the distribution.

Setup

What trusted_ca affects

  • Distribution-provided trusted SSL certificates package
  • System-wide additional trusted SSL certificates
  • SSL certificates installed into java trusted certificate keystore

Beginning with trusted_ca

To install trusted_ca

    puppet module install puppet-trusted_ca

Dependencies:

  • puppetlabs/stdlib

Usage

Manage only distribution-specific trusted certificates

    class { 'trusted_ca': }

Install a self-signed SSL certificate into the system's global trusted keystore from a source file

    class { 'trusted_ca': }
    trusted_ca::ca { 'mycompany.org':
      source => 'puppet:///ssl/mycompany.org.crt',
    }

Install a self-signed SSL certificate into a java keystore from a source file

    class { 'trusted_ca': }
    trusted_ca::java { 'mycompany.org':
      source => 'puppet:///ssl/mycompany.org/crt',
      java_keystore => '/usr/local/java/lib/security/cacerts',
    }

Install a certificate into the system's global trusted keystore from a PEM-encoded string (eg from hiera)

    class { 'trusted_ca': }
    trusted_ca::ca { 'example.net':
      content => hiera("example-net-x509"),
    }

Reference

Public classes

trusted_ca

certificates_version

String. Version of the distribution-specific trusted certificates. Examples would be 'latest' or a specific version.

certs_package

String. Package name of the distribution-specific trusted certificates. Default is OS/Distribution specific.

path

String/Array of String. List of paths for the update_command.

install_path

String. Location to install the trusted certificates.

update_command

String. Command to rebuild the system-trusted certificates.

certfile_suffix

String. Suffix of certificate files. Default is OS/Distribution dependent, i.e. 'pem' or 'crt'.

Public defines

trusted_ca::ca

source

String. Source of the certificate to include. Must be a file in PEM format with crt extension. You must specify either source or content, but not both. If source is specified, content is ignored.

content

String. Content of certificate in PEM format. You must specify either source or content, but not both. If source is specified, content is ignored.

install_path

String. Destination of the certificate file for processing. Defaults to the install_path from the class, but can be overridden per certificate.

certfile_suffix

String. Suffix of certificate files. Default is OS/Distribution dependent, i.e. 'pem' or 'crt'.

trusted_ca::java

source

String. Source of the certificate to include. Must be a file in PEM format with crt extension. You must specify either source or content, but not both. If source is specified, content is ignored.

content

String. Content of certificate in PEM format. You must specify either source or content, but not both. If source is specified, content is ignored.

java_keystore

String. Location of of the java cacerts keystore file.

Private classes

  • trusted_ca::params: Defaults for the trusted_ca module

Limitations

Tested on:

  • EL 6
  • EL 7
  • Debian 8
  • Debian 9
  • SLES 11 SP3
  • SLES 12 SP4
  • SLES 15 SP1
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS

This module assumes the keytool and openssl utilities are available.

Development

Improvements and bug fixes are greatly appreciated. See the contributing guide for information on adding and validating tests for PRs.

Changelog / Contributors

This module was originally known as jlambert121/trusted_ca but forked to Voxpupuli because the original author no longer responded.

Changelog Contributors

puppet-trusted_ca's People

Contributors

jlambert121 avatar ekohl avatar bastelfreak avatar dhoppe avatar pseiler avatar ghoneycutt avatar alexjfisher avatar buzzdeee avatar neoice avatar themeier avatar ehelms avatar mmoll avatar adamwenner avatar earsdown avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.