{"id":15406824,"url":"https://github.com/dannyben/secret_hub","last_synced_at":"2025-04-18T03:15:54.810Z","repository":{"id":43743872,"uuid":"240580782","full_name":"DannyBen/secret_hub","owner":"DannyBen","description":"Manage GitHub secrets with support for bulk operations and organization secrets","archived":false,"fork":false,"pushed_at":"2024-02-26T09:06:37.000Z","size":84,"stargazers_count":25,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-05-01T14:12:11.180Z","etag":null,"topics":["cli","gem","github-actions","github-api","github-secrets"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/DannyBen.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-14T19:10:48.000Z","updated_at":"2023-12-05T14:55:12.000Z","dependencies_parsed_at":"2024-02-10T07:26:49.374Z","dependency_job_id":"25b8cfc2-c9d8-4738-9806-535118bba476","html_url":"https://github.com/DannyBen/secret_hub","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fsecret_hub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fsecret_hub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fsecret_hub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fsecret_hub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DannyBen","download_url":"https://codeload.github.com/DannyBen/secret_hub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241367938,"owners_count":19951444,"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":["cli","gem","github-actions","github-api","github-secrets"],"created_at":"2024-10-01T16:25:41.669Z","updated_at":"2025-03-01T12:33:16.609Z","avatar_url":"https://github.com/DannyBen.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SecretHub - GitHub Secrets CLI\n\n[![Gem Version](https://badge.fury.io/rb/secret_hub.svg)](https://badge.fury.io/rb/secret_hub)\n[![Build Status](https://github.com/DannyBen/secret_hub/workflows/Test/badge.svg)](https://github.com/DannyBen/secret_hub/actions?query=workflow%3ATest)\n[![Maintainability](https://api.codeclimate.com/v1/badges/9ac95755c33e105ed998/maintainability)](https://codeclimate.com/github/DannyBen/secret_hub/maintainability)\n\n---\n\nSecretHub lets you easily manage your GitHub secrets from the command line\nwith support for bulk operations and organization secrets.\n\n---\n\n## Installation\n\nWith Ruby:\n\n```shell\n$ gem install secret_hub\n```\n\nOr with Docker:\n\n```shell\n$ alias secrethub='docker run --rm -it -e GITHUB_ACCESS_TOKEN -v \"$PWD:/app\" dannyben/secrethub'\n```\n\n## Prerequisites\n\nSecretHub is a wrapper around the [GitHub Secrets API][secrets-api]. To use\nit, you need to set up your environment with a\n[GitHub Access Token][access-key]:\n\n\n```shell\n$ export GITHUB_ACCESS_TOKEN=\u003cyour access token\u003e\n```\n\nGive your token the `repo` scope, and for organization secrets, the `admin:org` scope.\n\n## Usage\n\nSecretHub has three families of commands:\n\n1. `secrethub repo` - manage repository secrets.\n2. `secrethub org` - manage organization secrets.\n3. `secrethub bulk` - manage multiple secrets in multiple repositories using a config file.\n\n```shell\n$ secrethub\nGitHub Secret Manager\n\nCommands:\n  repo  Manage repository secrets\n  org   Manage organization secrets\n  bulk  Manage multiple secrets in multiple repositories\n\nRun secrethub COMMAND --help for command specific help\n\n\n$ secrethub repo\nUsage:\n  secrethub repo list REPO\n  secrethub repo save REPO KEY [VALUE]\n  secrethub repo delete REPO KEY\n  secrethub repo (-h|--help)\n\n\n$ secrethub org\nUsage:\n  secrethub org list ORG\n  secrethub org save ORG KEY [VALUE]\n  secrethub org delete ORG KEY\n  secrethub org (-h|--help)\n\n\n$ secrethub bulk\nUsage:\n  secrethub bulk init [CONFIG]\n  secrethub bulk show [CONFIG --visible]\n  secrethub bulk list [CONFIG]\n  secrethub bulk save [CONFIG --clean --dry --only REPO]\n  secrethub bulk clean [CONFIG --dry]\n  secrethub bulk (-h|--help)\n```\n\n## Bulk operations\n\nAll the bulk operations use a simple YAML configuration file.\nThe configuration file includes a list of GitHub repositories, each with a\nlist of its secrets.\n\nFor example:\n\n```yaml\n# secrethub.yml\nuser/repo:\n- SECRET\n- PASSWORD\n- SECRET_KEY\n\nuser/another-repo:\n- SECRET\n- SECRET_KEY\n```\n\nEach list of secrets can either be an array, or a hash.\n\n### Using array syntax\n\nAll secrets must be defined as environment variables.\n\n```yaml\nuser/repo:\n- SECRET\n- PASSWORD\n```\n\n### Using hash syntax\n\nEach secret may define its value, or leave it blank. When a secret value is\nblank, it will be loaded from the environment.\n\n```yaml\nuser/another-repo:\n  SECRET:\n  PASSWORD: p4ssw0rd\n```\n\n### Using YAML anchors\n\nSecretHub ignores any key that does not look like a repository (does not\ninclude a slash `/`). Using this feature, you can define reusable YAML\nanchors:\n\n```yaml\ndocker: \u0026docker\n  DOCKER_USER:\n  DOCKER_PASSWORD:\n\nuser/repo:\n  \u003c\u003c: *docker\n  SECRET:\n  PASSWORD: p4ssw0rd\n```\n\nNote that YAML anchors only work with the hash syntax.\n\n\n## Contributing / Support\n\nIf you experience any issue, have a question or a suggestion, or if you wish\nto contribute, feel free to [open an issue][issues].\n\n---\n\n[secrets-api]: https://developer.github.com/v3/actions/secrets/\n[access-key]: https://github.com/settings/tokens\n[issues]: https://github.com/DannyBen/secret_hub/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannyben%2Fsecret_hub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdannyben%2Fsecret_hub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannyben%2Fsecret_hub/lists"}