{"id":30175432,"url":"https://github.com/shuttl-tech/vault-plugin-postgres","last_synced_at":"2025-08-12T01:35:58.319Z","repository":{"id":56494066,"uuid":"166200469","full_name":"Shuttl-Tech/vault-plugin-postgres","owner":"Shuttl-Tech","description":"Vault plugin to manage fleets of Postgres Clusters","archived":false,"fork":false,"pushed_at":"2020-11-04T06:51:25.000Z","size":30067,"stargazers_count":8,"open_issues_count":0,"forks_count":3,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-12-26T23:55:33.517Z","etag":null,"topics":["postgres","postgresql","secret-management","vault","vault-plugins"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shuttl-Tech.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2019-01-17T09:42:01.000Z","updated_at":"2021-09-27T05:13:05.000Z","dependencies_parsed_at":"2022-08-15T19:50:24.028Z","dependency_job_id":null,"html_url":"https://github.com/Shuttl-Tech/vault-plugin-postgres","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/Shuttl-Tech/vault-plugin-postgres","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttl-Tech%2Fvault-plugin-postgres","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttl-Tech%2Fvault-plugin-postgres/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttl-Tech%2Fvault-plugin-postgres/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttl-Tech%2Fvault-plugin-postgres/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shuttl-Tech","download_url":"https://codeload.github.com/Shuttl-Tech/vault-plugin-postgres/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttl-Tech%2Fvault-plugin-postgres/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269986365,"owners_count":24508140,"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-08-11T02:00:10.019Z","response_time":75,"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":["postgres","postgresql","secret-management","vault","vault-plugins"],"created_at":"2025-08-12T01:35:57.263Z","updated_at":"2025-08-12T01:35:58.263Z","avatar_url":"https://github.com/Shuttl-Tech.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PostgreSQL credentials plugin for vault\n\nThis repository contains the source code for vault plugin used to manage\nfleets of Postgres clusters.  \nThe default Postgres plugin shipped with vault falls short when it comes\nto provisioning credentials\nfor hundreds of different databases across tens of different clusters.\nThis plugin was written to address\nfollowing particular shortcomings of the default Postgres secret engine:\n\n 1. Database is the only entity available. To work with several databases\n    in same cluster you'll need to configure identical connections.\n 1. Automation requires the administrative credentials to be accessible by \n    automation script\n 1. Some bootstrapping work on database server is required before the\n    connection can be configured on vault, this calls for a human or script\n    with access to administrative credentials.\n    \n## Setup\n\nThe setup guide assumes some familiarity with Vault and Vault's plugin\necosystem. You must have a Vault server already running, unsealed, and\nauthenticated.\n\n1. Download and decompress the latest plugin binary from the Releases tab on\nGitHub. Alternatively you can compile the plugin from source.\n\n1. Move the compiled plugin into Vault's configured `plugin_directory`:\n\n  ```sh\n  $ mv vault-secret-plugin-postgres /etc/vault/plugins/vault-secret-plugin-postgres\n  ```\n\n1. Calculate the SHA256 of the plugin and register it in Vault's plugin catalog.\nIf you are downloading the pre-compiled binary, it is highly recommended that\nyou use the published checksums to verify integrity.\n\n  ```sh\n  $ export SHA256=$(shasum -a 256 \"/etc/vault/plugins/vault-secret-plugin-postgres\" | cut -d' ' -f1)\n\n  $ vault write sys/plugins/catalog/secret-postgres \\\n      sha_256=\"${SHA256}\" \\\n      command=\"vault-secret-plugin-postgres\"\n  ```\n\n1. Mount the auth method:\n\n  ```sh\n  $ vault secrets enable -path=database secret-postgres\n  ```\n  \n## API\n\nFor details on API endpoints and their usage see [docs](./docs).\n\n## Contributing\n\nAll reasonable pull requests are welcome. Before you start working on things it is\na good idea to first search through existing pull requests and open issue to\nmake sure your work don't clash with another contributor. If you are unsure of\nanything please feel free to open an issue and start the discussion.\n\n## License\n\nThis code is licensed under the MPLv2 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuttl-tech%2Fvault-plugin-postgres","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshuttl-tech%2Fvault-plugin-postgres","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuttl-tech%2Fvault-plugin-postgres/lists"}