{"id":19811004,"url":"https://github.com/accenture/hiera-aws-sm","last_synced_at":"2025-05-01T08:32:20.829Z","repository":{"id":37430790,"uuid":"156346344","full_name":"Accenture/hiera-aws-sm","owner":"Accenture","description":"A Hiera 5 backend for AWS Secrets Manager","archived":false,"fork":false,"pushed_at":"2023-08-03T17:56:24.000Z","size":42,"stargazers_count":5,"open_issues_count":4,"forks_count":13,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-19T20:39:07.442Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Accenture.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-06T07:52:54.000Z","updated_at":"2025-02-10T10:20:10.000Z","dependencies_parsed_at":"2024-11-12T09:37:59.338Z","dependency_job_id":null,"html_url":"https://github.com/Accenture/hiera-aws-sm","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Accenture%2Fhiera-aws-sm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Accenture%2Fhiera-aws-sm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Accenture%2Fhiera-aws-sm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Accenture%2Fhiera-aws-sm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Accenture","download_url":"https://codeload.github.com/Accenture/hiera-aws-sm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251847828,"owners_count":21653582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T09:24:19.175Z","updated_at":"2025-05-01T08:32:20.822Z","avatar_url":"https://github.com/Accenture.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# hiera_aws_sm\n[![Build Status](https://travis-ci.org/Accenture/hiera-aws-sm.svg?branch=master)](https://travis-ci.org/Accenture/hiera-aws-sm)\n[![Puppet Forge](https://img.shields.io/puppetforge/v/accenture/hiera_aws_sm.svg)](https://forge.puppet.com/accenture/hiera_aws_sm)\n\n\n\n#### Table of Contents\n\n1. [Description](#description)\n2. [Setup - The basics of getting started with hiera_aws_secrets_manager](#setup)\n3. [Usage - Configuration options and additional functionality](#usage)\n4. [Reference - An under-the-hood peek at what the module is doing and how](#reference)\n5. [Limitations - OS compatibility, etc.](#limitations)\n6. [Development - Guide for contributing to the module](#development)\n\n## Description\n\nBackend for Hiera 5 which allows lookups against Amazon Secrets Manager.\n\nBased on the design of [hiera-vault](https://github.com/davealden/hiera-vault/blob/master/lib/puppet/functions/hiera_vault.rb)\n\n## Setup\n\nRequires the `aws-sdk` gem to be installed and available to your\nPuppetmaster.\n\n```\npackage {'aws-sdk':\n  ensure   =\u003e installed\n  provider =\u003e puppetserver_gem\n}\n```\n\n## Usage\n\nThe following is a reference of a Hiera hierarchy using hiera_aws_sm.\n\n```\n---\n\nhierarchy:\n  - name: \"Hiera-AWS-SM lookup\"\n    lookup_key: hiera_aws_sm\n    options:\n      continue_if_not_found: false\n      aws_access_key: \u003caws_access_key\u003e\n      aws_secret_key: \u003caws_secret_key\u003e\n      region: us-east-1\n      delimiter: /\n      prefixes: \n        - \"%{::environment}/%{::trusted.certname}\"\n        - \"%{::environment}/common/\"\n        - secret/puppet/%{::trusted.certname}/\n        - secret/puppet/common/\n      confine_to_keys:\n        - '^aws_.*'\n\n```\n\n### Mandatory Option Keys\n\n`name`: Human readable level name\n\n`lookup_key`: Must be set to `hiera_aws_sm`\n\n### Optional Option Keys\n\n`continue_if_not_found`: Allow Puppet to lookup other data sources if the\nkey is not found in SecretsManager\n\n`aws_access_key`: IAM access key to be used to connect to AWS. Should only\nbe used for Puppet masters running outside of AWS. Puppet masters running\nwithin AWS should have their access to SecretsManager granted via IAM\nroles.\n\n`aws_secret_key`: IAM secret access key to be used to connect to AWS. \n\n`region`: AWS region to query against\n\n`delimiter`: Character used to join prefixes and keys if specified.\nDefaults to `/`. Not required if `prefixes` is not set.\n\n`prefixes`: Optional array of prefixes to prepend to each lookup. For each\nprefix, the function will perform a lookup of `[prefix, key].join(delimiter)` against\nSecretsManager. This allows you to specify multiple paths in\nSecretsManager for the function to explore, as described above.\n\n`confine_to_keys`: List of regex expressions on which to search\nSecretsManager. If specified, hiera_aws_sm will only query SecretsManager\nfor keys matching at least one specified regex. If none match, Puppet is\nallowed to lookup against other data sources. \n\n\n## Limitations\n\nThis module is only compatible with Hiera 5 (Puppet 4.9+)\n\n## Testing\n\n```\npdk test unit\n```\n\n## Development\n\nAuthor: David Hayes [d.hayes@accenture.com]\n\n## License\n\nSee [LICENSE](LICENSE.md)\n\n## Release Notes\n\n### Steps required to publish module\n\n```\nrake module:bump_commit:\u003cpatch|minor|full\u003e\nrake module:tag\ngit push --tags\n```\n\nTravis will detect tagged commits, will build them, and push as a new\nrelease to the PuppetForge.\n\n## TBD\n\n- Wrap secret values in Puppet's [sensitive data types](https://puppet.com/docs/puppet/5.5/lang_data_sensitive.html) in examples.\n- Expand README on usage and installation\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faccenture%2Fhiera-aws-sm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faccenture%2Fhiera-aws-sm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faccenture%2Fhiera-aws-sm/lists"}