{"id":22441724,"url":"https://github.com/splitmedialabslimited/vault-tpl","last_synced_at":"2025-10-24T18:13:08.946Z","repository":{"id":43866779,"uuid":"206632460","full_name":"SplitmediaLabsLimited/vault-tpl","owner":"SplitmediaLabsLimited","description":"Simple CLI app that reads a file, parses it, and replaces the secrets from Hashicorp's Vault","archived":false,"fork":false,"pushed_at":"2023-07-19T09:08:27.000Z","size":218,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-13T20:43:42.125Z","etag":null,"topics":["nodejs","vault","vault-client","yaml"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SplitmediaLabsLimited.png","metadata":{"files":{"readme":"readme.md","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":"2019-09-05T18:35:28.000Z","updated_at":"2022-02-04T05:07:37.000Z","dependencies_parsed_at":"2022-09-05T02:51:40.261Z","dependency_job_id":null,"html_url":"https://github.com/SplitmediaLabsLimited/vault-tpl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SplitmediaLabsLimited%2Fvault-tpl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SplitmediaLabsLimited%2Fvault-tpl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SplitmediaLabsLimited%2Fvault-tpl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SplitmediaLabsLimited%2Fvault-tpl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SplitmediaLabsLimited","download_url":"https://codeload.github.com/SplitmediaLabsLimited/vault-tpl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228397766,"owners_count":17913540,"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":["nodejs","vault","vault-client","yaml"],"created_at":"2024-12-06T02:15:58.418Z","updated_at":"2025-10-24T18:13:08.857Z","avatar_url":"https://github.com/SplitmediaLabsLimited.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vault-tpl - Templating vault secrets\n\nvault-tpl is a CLI application that replaces some tokens with secrets from Vault. You can use it to store secrets inside your repository and have them decrypted for development, for deployment or for any other reasons.\n\n## Example\n\nInput (secrets.yaml)\n\n```yaml\nMYSQL_PASSWORD: (( vault \"production/mysql:MYSQL_PASSWORD@1\" ))\nGCLOUD_CREDENTIALS: (( vault \"production/google:*@1\" ))\n```\n\nCommand\n\n```\nvault-tpl secrets.yaml --write --output secrets-output.yaml\n```\n\nOutput (secrets-output.yaml)\n\n```yaml\nMYSQL_PASSWORD: hunter2\nGCLOUD_CREDENTIALS: |-\n  {\n    \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n    \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n    \"client_email\": \"\",\n    \"client_id\": \"\",\n    \"client_x509_cert_url\": \"\",\n    \"private_key\": \"\",\n    \"private_key_id\": \"\",\n    \"project_id\": \"\",\n    \"token_uri\": \"https://accounts.google.com/o/oauth2/token\",\n    \"type\": \"service_account\"\n  }\n```\n\n## Requirements\n\n- A reachable [Vault](https://www.vaultproject.io) installation, stored as `VAULT_ADDR` in your environment\n- A valid [Vault](https://www.vaultproject.io) token, stored as `VAULT_TOKEN`\n- Node 10+\n\n## Getting Started\n\n```js\nyarn global add vault-tpl\nvault-tpl --help\n```\n\n## Why?\n\n- Authentication is handled by Vault so you don't have to mess with GPG keys\n- Supports Vault versioning, so secrets are immutable. If a secret has changed, it has to be modified in git also, to track accountability\n- Supports outputting specific keys in a secret, or the whole object. Useful for GCloud Credentials and other JSON keys\n\n## Thanks to\n\n- [Hashicorp](https://www.hashicorp.com) for creating Vault\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplitmedialabslimited%2Fvault-tpl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsplitmedialabslimited%2Fvault-tpl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplitmedialabslimited%2Fvault-tpl/lists"}