Coder Social home page Coder Social logo

hiera-aws-sm's Introduction

hiera_aws_sm

Build Status Puppet Forge

Table of Contents

  1. Description
  2. Setup - The basics of getting started with hiera_aws_secrets_manager
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Description

Backend for Hiera 5 which allows lookups against Amazon Secrets Manager.

Based on the design of hiera-vault

Setup

Requires the aws-sdk gem to be installed and available to your Puppetmaster.

package {'aws-sdk':
  ensure   => installed
  provider => puppetserver_gem
}

Usage

The following is a reference of a Hiera hierarchy using hiera_aws_sm.

---

hierarchy:
  - name: "Hiera-AWS-SM lookup"
    lookup_key: hiera_aws_sm
    options:
      continue_if_not_found: false
      aws_access_key: <aws_access_key>
      aws_secret_key: <aws_secret_key>
      region: us-east-1
      delimiter: /
      prefixes: 
        - "%{::environment}/%{::trusted.certname}"
        - "%{::environment}/common/"
        - secret/puppet/%{::trusted.certname}/
        - secret/puppet/common/
      confine_to_keys:
        - '^aws_.*'

### Mandatory Option Keys

name: Human readable level name

lookup_key: Must be set to hiera_aws_sm

Optional Option Keys

continue_if_not_found: Allow Puppet to lookup other data sources if the key is not found in SecretsManager

aws_access_key: IAM access key to be used to connect to AWS. Should only be used for Puppet masters running outside of AWS. Puppet masters running within AWS should have their access to SecretsManager granted via IAM roles.

aws_secret_key: IAM secret access key to be used to connect to AWS.

region: AWS region to query against

delimiter: Character used to join prefixes and keys if specified. Defaults to /. Not required if prefixes is not set.

prefixes: Optional array of prefixes to prepend to each lookup. For each prefix, the function will perform a lookup of [prefix, key].join(delimiter) against SecretsManager. This allows you to specify multiple paths in SecretsManager for the function to explore, as described above.

confine_to_keys: List of regex expressions on which to search SecretsManager. If specified, hiera_aws_sm will only query SecretsManager for keys matching at least one specified regex. If none match, Puppet is allowed to lookup against other data sources.

Limitations

This module is only compatible with Hiera 5 (Puppet 4.9+)

Testing

pdk test unit

Development

Author: David Hayes [[email protected]]

License

See LICENSE

Release Notes

### Steps required to publish module

rake module:bump_commit:<patch|minor|full>
rake module:tag
git push --tags

Travis will detect tagged commits, will build them, and push as a new release to the PuppetForge.

TBD

  • Wrap secret values in Puppet's sensitive data types in examples.
  • Expand README on usage and installation

hiera-aws-sm's People

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.