{"id":19332845,"url":"https://github.com/steakunderscore/puppet-user","last_synced_at":"2025-07-05T03:09:05.261Z","repository":{"id":17472589,"uuid":"20246802","full_name":"steakunderscore/puppet-user","owner":"steakunderscore","description":"Puppet module for managing users leveraging heira","archived":false,"fork":false,"pushed_at":"2015-07-08T03:25:16.000Z","size":132,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-24T07:22:54.242Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Puppet","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/steakunderscore.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-28T06:02:17.000Z","updated_at":"2015-07-08T03:20:55.000Z","dependencies_parsed_at":"2022-09-01T23:30:38.549Z","dependency_job_id":null,"html_url":"https://github.com/steakunderscore/puppet-user","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/steakunderscore/puppet-user","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steakunderscore%2Fpuppet-user","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steakunderscore%2Fpuppet-user/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steakunderscore%2Fpuppet-user/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steakunderscore%2Fpuppet-user/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steakunderscore","download_url":"https://codeload.github.com/steakunderscore/puppet-user/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steakunderscore%2Fpuppet-user/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263674437,"owners_count":23494569,"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-10T02:47:30.134Z","updated_at":"2025-07-05T03:09:05.216Z","avatar_url":"https://github.com/steakunderscore.png","language":"Puppet","funding_links":[],"categories":[],"sub_categories":[],"readme":"#Hiera Users [![Build Status](https://secure.travis-ci.org/steakunderscore/puppet-user.png)](http://travis-ci.org/steakunderscore/puppet-user)\n\n##Table of Contents\n\n1. [Overview](#overview)\n2. [Module Description - What the module does and why it is useful](#module-description)\n3. [Setup - The basics of getting started with Hiera Users](#setup)\n    * [What Hiera Users affects](#what-Hiera_users-affects)\n    * [Setup requirements](#setup-requirements)\n    * [Beginning with Hiera Users](#beginning-with-hiera_users)\n4. [Usage - Configuration options and additional functionality](#usage)\n5. [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###Gittip\n[![Support via Gittip](https://rawgithub.com/twolfson/gittip-badge/0.2.0/dist/gittip.png)](https://www.gittip.com/steakunderscore/)\n\n##Overview\n\nThe Hiera Users module allows management of user accounts through hiera making\nuse of the hirea [merge deeper] functionality my describing users in yaml.\n\n##Module Description\n\nThis module enable having a default set of user templtes also alowing per host\noverriding of the users configuration paramerets. So for example a user having\na default password on each host, but over riding that password on some hosts.\n\n##Setup\n\n###What Hiera Users affects\n\nHiera users reads from hiera making calls to the `user`, `ssh_authorized_key`\nand `group` classes from stdlib.\n\n###Setup Requirements\n\n* The `merge_deeper` gem\n* Stdlib\n\n```sh\ngem install merge_deeper\n```\n\n###Beginning with Hiera Users\n\nInclude the users to all hosts\n```ruby\n# site.pp\ninclude users\n```\n\nThen configure the users in yaml\n\n```yaml\n# hiera.yaml\n---\n:hierarchy:\n  - \"%{::clientcert}\"\n  - users\n  - groups\n  - common\n:backends:\n  - yaml\n  - gpg\n:yaml:\n  :datadir: '/etc/puppet/hieradata'\n:merge_behavior: deeper\n```\n\n```yaml\n# host1.example.com.yaml\n---\nsite_users:\n  bob:\n    home_dir: /home/bob\n    password: \"optional password hash\"\n    groups:\n      - sudo\n      - adm\n  john:\n    groups:\nsite_groups:\n  sysadmin:\n    gid: 300\n```\n\n```yml\n# host1.example.com.yaml\n---\n  users:\n    John:\n      groups:\n        - adm\n  groups:\n    - sysadmin\n```\n\n```yml\n# users.yaml\n---\nsite_users:\n  bob:\n    home_dir: /opt/sysadmin\n    uid: 1000\n    gid: 1001\n    password: \"default password hash for hosts\"\n    groups:\n      - sudo\n      - users\n  john:\n    home_dir: /opt/sysadmin\n    password: \"default password hash for all host\"\n    groups:\n      - sudo\n      - default_groups_for_all_hosts\n```\n\n```yml\n# groups.yaml\n---\nsite_groups:\n  sysadmin:\n    gid: 1000\n  appadmin:\n```\n\n##Reference\n\n* http://docs.puppetlabs.com/hiera/1/lookup_types.html#deep-merging-in-hiera--120\n\n##Limitations\n\nShould would on any system that supports stdlib.\n\n##Development\n\nHit me up on github.\n\n##Release Notes/Contributors/Etc\n\nIf you aren't using changelog, put your release notes here (though you should consider using changelog). You may also add any additional sections you feel are necessary or important to include here. Please use the `## ` header.\n\n[merge deeper]: http://docs.puppetlabs.com/hiera/1/lookup_types.html#deep-merging-in-hiera--120\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteakunderscore%2Fpuppet-user","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteakunderscore%2Fpuppet-user","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteakunderscore%2Fpuppet-user/lists"}