Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wavesoftware/puppet-passless
It's a Puppet master password implementation that uses Puppet server's CA to automate password creation.
https://github.com/wavesoftware/puppet-passless
master-password password-generator password-manager passwordless puppet puppet-server secret-management
Last synced: about 1 month ago
JSON representation
It's a Puppet master password implementation that uses Puppet server's CA to automate password creation.
- Host: GitHub
- URL: https://github.com/wavesoftware/puppet-passless
- Owner: wavesoftware
- License: apache-2.0
- Created: 2019-09-26T16:46:16.000Z (about 5 years ago)
- Default Branch: develop
- Last Pushed: 2022-10-06T07:13:15.000Z (about 2 years ago)
- Last Synced: 2024-09-16T14:17:45.178Z (2 months ago)
- Topics: master-password, password-generator, password-manager, passwordless, puppet, puppet-server, secret-management
- Language: Ruby
- Homepage:
- Size: 85.9 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Passless for Puppet
===================[![Travis Build Status](https://travis-ci.com/wavesoftware/puppet-passless.svg?branch=master)](https://travis-ci.com/wavesoftware/puppet-passless)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/spq8dce2slfybs0a/branch/master?svg=true)](https://ci.appveyor.com/project/cardil/puppet-passless/branch/master)
![Puppet Forge version](https://img.shields.io/puppetforge/v/wavesoftware/passless)It's a Puppet master password implementation that uses PuppetServer's CA to
automate password creation.#### Table of Contents
1. [Description](#description)
3. [Usage - Configuration options and additional functionality](#usage)
5. [Development - Guide for contributing to the module](#development)## Description
This module contains a a function `passless::secret` (and an alias `passless`)
that will generate a password based on a name given. Each password will be
generated using a master password algorithm. This algorithm will take a
Puppet CA as a master password. Password generated will be unique to Puppet
environment.```puppet
class { 'postgresql::server':
postgres_password => passless::secret('postgresql::server'),
}
```## Usage
A `passless::secret` function takes a minimum of one argument. That argument is
name of password to be generated.Each password generation can be influenced by providing a options. Options are
given on hashmap. Those options are:* `counter` - A sequential password number. Changing the password should be
done by advancing this number. Default value is `1`.
* `scope` - A definition of scope that the password will be generated from. It
may be one of (defaults to `alnum`):
* `num` for numeric passwords,
* `alpha` for alphabet based passwords, both big and small caps,
* `alnum` for alphanumeric passwords, both big and small caps,
* `human` for letters and numbers that are easy to distinguish by human,
* `keys` for passwords that can be typed by keyboard, so letters, and
numbers, and special characters,
* `utf8` these passwords contain utf-8 characters, so also a characters
that aren't easy to type by keyboard,
* `list:` followed by list of chars that might be used. Ex.:
`list:abcdef1234567890!$`,
* `length` - A length of password to be generated in number of signs. Default
value is `16`.```puppet
$options = {
'counter' => 5,
'scope' => 'human',
'length' => 24,
}
user { 'root':
password => passless::secret("root@${::fqdn}", $options),
}
```### Hiera
**Hiera integration isn't done yet (https://github.com/wavesoftware/puppet-passless/issues/1)**
All options described above can also be set via Hiera. To do this define a key
that is created by adding a password name and suffix of `::counter`, `::scope`,
or `::length`. Ex.:```yaml
[email protected]::counter: 13
[email protected]::scope: alnum
[email protected]::length: 32
```You can specify a `counter` both in Puppet code and in Hiera, counters will be
summed. Specifying `scope` or `length`, in both places isn't supported and will
result in compilation error.## Development
Development is described in separate document [CONTRIBUTING.md](CONTRIBUTING.md).
## Release Notes
See [CHANGELOG.md](CHANGELOG.md) for project release notes.