{"id":14994537,"url":"https://github.com/voxpupuli/puppet-augeasproviders_postgresql","last_synced_at":"2025-12-11T21:47:15.149Z","repository":{"id":19430275,"uuid":"22673090","full_name":"voxpupuli/puppet-augeasproviders_postgresql","owner":"voxpupuli","description":"Augeas-based postgresql types and providers for Puppet ","archived":false,"fork":false,"pushed_at":"2025-10-17T15:12:27.000Z","size":144,"stargazers_count":2,"open_issues_count":0,"forks_count":16,"subscribers_count":42,"default_branch":"master","last_synced_at":"2025-10-25T06:59:40.791Z","etag":null,"topics":["augeas","augeasproviders","centos-puppet-module","configuration","configuration-files","configuration-management","debian-puppet-module","hacktoberfest","linux-puppet-module","oraclelinux-puppet-module","pghba","postgresql","puppet","puppet-module","puppet-resources","redhat-puppet-module","ubuntu-puppet-module"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voxpupuli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"zenodo":null},"funding":{"open_collective":"vox-pupuli","github":"voxpupuli"}},"created_at":"2014-08-06T07:07:31.000Z","updated_at":"2025-10-17T15:12:29.000Z","dependencies_parsed_at":"2023-12-19T08:07:00.693Z","dependency_job_id":"0bb4bcf5-87b5-4237-ad47-ebb717afbddb","html_url":"https://github.com/voxpupuli/puppet-augeasproviders_postgresql","commit_stats":{"total_commits":88,"total_committers":10,"mean_commits":8.8,"dds":0.4545454545454546,"last_synced_commit":"1b4cd9eafb76d07a1878d9196b9f3e7205f1eb96"},"previous_names":["hercules-team/augeasproviders_postgresql"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/voxpupuli/puppet-augeasproviders_postgresql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-augeasproviders_postgresql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-augeasproviders_postgresql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-augeasproviders_postgresql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-augeasproviders_postgresql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voxpupuli","download_url":"https://codeload.github.com/voxpupuli/puppet-augeasproviders_postgresql/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-augeasproviders_postgresql/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27670676,"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","status":"online","status_checked_at":"2025-12-11T02:00:11.302Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["augeas","augeasproviders","centos-puppet-module","configuration","configuration-files","configuration-management","debian-puppet-module","hacktoberfest","linux-puppet-module","oraclelinux-puppet-module","pghba","postgresql","puppet","puppet-module","puppet-resources","redhat-puppet-module","ubuntu-puppet-module"],"created_at":"2024-09-24T16:03:47.464Z","updated_at":"2025-12-11T21:47:15.128Z","avatar_url":"https://github.com/voxpupuli.png","language":"Ruby","funding_links":["https://opencollective.com/vox-pupuli","https://github.com/sponsors/voxpupuli"],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/voxpupuli/puppet-augeasproviders_postgresql/workflows/CI/badge.svg)](https://github.com/voxpupuli/puppet-augeasproviders_postgresql/actions?query=workflow%3ACI)\n[![Release](https://github.com/voxpupuli/puppet-augeasproviders_postgresql/actions/workflows/release.yml/badge.svg)](https://github.com/voxpupuli/puppet-augeasproviders_postgresql/actions/workflows/release.yml)\n[![Puppet Forge](https://img.shields.io/puppetforge/v/puppet/augeasproviders_postgresql.svg)](https://forge.puppetlabs.com/puppet/augeasproviders_postgresql)\n[![Puppet Forge - downloads](https://img.shields.io/puppetforge/dt/puppet/augeasproviders_postgresql.svg)](https://forge.puppetlabs.com/puppet/augeasproviders_postgresql)\n[![Puppet Forge - endorsement](https://img.shields.io/puppetforge/e/puppet/augeasproviders_postgresql.svg)](https://forge.puppetlabs.com/puppet/augeasproviders_postgresql)\n[![Puppet Forge - scores](https://img.shields.io/puppetforge/f/puppet/augeasproviders_postgresql.svg)](https://forge.puppetlabs.com/puppet/augeasproviders_postgresql)\n[![puppetmodule.info docs](http://www.puppetmodule.info/images/badge.png)](http://www.puppetmodule.info/m/puppet-augeasproviders_postgresql)\n[![Coverage Status](https://img.shields.io/coveralls/voxpupuli/puppet-augeasproviders_postgresql.svg)](https://coveralls.io/r/voxpupuli/puppet-augeasproviders_postgresql)\n[![Apache-2 License](https://img.shields.io/github/license/voxpupuli/puppet-augeasproviders_postgresql.svg)](LICENSE)\n[![Donated by Camptocamp](https://img.shields.io/badge/donated%20by-camptocamp-fb7047.svg)](#transfer-notice)\n\n# postgresql: types/providers for postgresql files for Puppet\n\nThis module provides a new type/provider for Puppet to read and modify postgresql\nconfig files using the Augeas configuration library.\n\nThe advantage of using Augeas over the default Puppet `parsedfile`\nimplementations is that Augeas will go to great lengths to preserve file\nformatting and comments, while also failing safely when needed.\n\nThis provider will hide *all* of the Augeas commands etc., you don't need to\nknow anything about Augeas to make use of it.\n\n## Requirements\n\nEnsure both Augeas and ruby-augeas 0.3.0+ bindings are installed and working as\nnormal.\n\nSee [Puppet/Augeas pre-requisites](http://docs.puppetlabs.com/guides/augeas.html#pre-requisites).\n\n## Installing\n\nOn Puppet 2.7.14+, the module can be installed easily ([documentation](http://docs.puppetlabs.com/puppet/latest/reference/modules_installing.html)):\n\n```\npuppet module install puppet/augeasproviders_postgresql\n```\n\nYou may see an error similar to this on Puppet 2.x ([#13858](http://projects.puppetlabs.com/issues/13858)):\n\n    Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid resource type `pg_hba` at ...\n\nEnsure the module is present in your puppetmaster's own environment (it doesn't\nhave to use it) and that the master has pluginsync enabled.  Run the agent on\nthe puppetmaster to cause the custom types to be synced to its local libdir\n(`puppet master --configprint libdir`) and then restart the puppetmaster so it\nloads them.\n\n## Compatibility\n\n### Puppet versions\n\nMinimum of Puppet 2.7.\n\n### Augeas versions\n\nAugeas Versions           | 0.10.0  | 1.0.0   | 1.1.0   | 1.2.0   |\n:-------------------------|:-------:|:-------:|:-------:|:-------:|\n**PROVIDERS**             |\npg_hba                    | **yes** | **yes** | **yes** | **yes** |\n\n## Documentation and examples\n\nType documentation can be generated with `puppet doc -r type` or viewed on the\n[Puppet Forge page](http://forge.puppetlabs.com/puppet/augeasproviders_postgresql).\n\n### pg_hba provider\n\n#### Composite namevars\n\nThis type supports composite namevars in order to easily specify the entry you want to manage. The format for composite namevars is:\n\n    local to \u003cuser\u003e on \u003cdatabase\u003e [in \u003ctarget\u003e]\n\nif defining a local (socket) rule, or:\n\n    \u003ctype\u003e to \u003cuser\u003e on \u003cdatabase\u003e from \u003caddress\u003e [in \u003ctarget\u003e]\n\notherwise.\n\nIn each form, `in \u003ctarget\u003e` is optional. You can also use a personalized namevar and specify all parameters manually.\n\n\n#### manage simple local entry\n\n    pg_hba { 'local to all on all':\n      ensure =\u003e present,\n      method =\u003e 'md5',\n      target =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n#### manage simple host entry\n\n    pg_hba { 'host to all on all from 192.168.0.1':\n      ensure =\u003e present,\n      method =\u003e 'md5',\n      target =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n#### multiple users and databases\n\n    pg_hba { 'host to user1,user2 on db1,db2 from 192.168.0.1':\n      ensure =\u003e present,\n      method =\u003e 'md5',\n      target =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n    pg_hba { 'Allow +foo and @bar to mydb and yourdb':\n      ensure   =\u003e present,\n      user     =\u003e ['+foo', '@bar'],\n      database =\u003e ['mydb', 'yourdb'],\n      method   =\u003e 'md5',\n      target   =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n#### using a personalized namevar\n\n    pg_hba { 'Default entry':\n      type     =\u003e 'local',\n      user     =\u003e 'all',\n      database =\u003e 'all',\n      method   =\u003e 'md5',\n      target   =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n#### pass options for the method\n\n    pg_hba { 'Default entry with option':\n      method  =\u003e 'ident',\n      options =\u003e { 'sameuser' =\u003e undef },\n      target  =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n    pg_hba { 'host to all on all from .dev.example.com in /etc/postgresql/9.1/main/pg_hba.conf':\n      method  =\u003e 'ldap',\n      options =\u003e {\n        'ldapserver' =\u003e 'auth.example.com',\n        'ldaptls'    =\u003e '1',\n        'ldapprefix' =\u003e 'uid=',\n        'ldapsuffix' =\u003e ',ou=people,dc=example,dc=com',\n      },\n    }\n\n#### insert entry in specific position\n\n    pg_hba { 'local to all on all':\n      ensure   =\u003e present,\n      method   =\u003e 'md5',\n      position =\u003e 'before first entry',\n      target   =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n    pg_hba { 'local to all on all':\n      ensure   =\u003e present,\n      method   =\u003e 'md5',\n      position =\u003e 'after last entry',\n      target   =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n    pg_hba { 'local to all on all':\n      ensure   =\u003e present,\n      method   =\u003e 'md5',\n      position =\u003e 'before last local',\n      target   =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n    pg_hba { 'local to all on all':\n      ensure   =\u003e present,\n      method   =\u003e 'md5',\n      position =\u003e 'after first hostssl',\n      target   =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n    pg_hba { 'local to all on all':\n      ensure   =\u003e present,\n      method   =\u003e 'md5',\n      position =\u003e 'after first anyhost', # any type matching host.*\n      target   =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n    pg_hba { 'local to all on all':\n      ensure   =\u003e present,\n      method   =\u003e 'md5',\n      position =\u003e 'before 5', # Before the fifth entry\n      target   =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n    pg_hba { 'local to all on all':\n      ensure   =\u003e present,\n      method   =\u003e 'md5',\n      position =\u003e '*[database=\"all\" and user=\"admin\"][1]', # First entry for database 'all' and user 'admin'\n      target   =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n#### ensure position is correct\n\n    pg_hba { 'local to all on all':\n      ensure   =\u003e positioned,\n      method   =\u003e 'md5',\n      position =\u003e 'before first entry',\n      target   =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n#### delete entry\n\n    pg_hba { 'local to all on all':\n      ensure =\u003e absent,\n      target =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n    pg_hba { 'host to all on all from 192.168.0.1':\n      ensure    =\u003e absent,\n      target =\u003e '/etc/postgresql/9.1/main/pg_hba.conf',\n    }\n\n\n## Issues\n\nPlease file any issues or suggestions [on GitHub](https://github.com/voxpupuli/puppet-augeasproviders_postgresql/issues).\n\n## Transfer Notice\n\nThis module was originally authored by [hercules-team](http://augeasproviders.com).\nThe maintainer preferred that Vox Pupuli take ownership of the module for future improvement and maintenance.\nExisting pull requests and issues were transferred over, please fork and continue to contribute here.\n\nPreviously: https://github.com/hercules-team/augeasproviders_postgresql\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxpupuli%2Fpuppet-augeasproviders_postgresql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoxpupuli%2Fpuppet-augeasproviders_postgresql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxpupuli%2Fpuppet-augeasproviders_postgresql/lists"}