{"id":17172253,"url":"https://github.com/lucasconstantino/secrethub-manager","last_synced_at":"2025-10-24T09:03:54.877Z","repository":{"id":68376301,"uuid":"317696183","full_name":"lucasconstantino/secrethub-manager","owner":"lucasconstantino","description":":lock: Unofficial SecretHub opinionated manager for simple projects","archived":false,"fork":false,"pushed_at":"2020-12-08T18:09:24.000Z","size":35,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-22T00:35:29.676Z","etag":null,"topics":["cli","secrethub","secrets","secrets-management"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucasconstantino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-12-01T23:35:56.000Z","updated_at":"2021-06-28T00:14:23.000Z","dependencies_parsed_at":"2023-02-21T21:15:46.957Z","dependency_job_id":null,"html_url":"https://github.com/lucasconstantino/secrethub-manager","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/lucasconstantino%2Fsecrethub-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasconstantino%2Fsecrethub-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasconstantino%2Fsecrethub-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasconstantino%2Fsecrethub-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasconstantino","download_url":"https://codeload.github.com/lucasconstantino/secrethub-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245344004,"owners_count":20599867,"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","secrethub","secrets","secrets-management"],"created_at":"2024-10-14T23:36:31.290Z","updated_at":"2025-10-24T09:03:54.813Z","avatar_url":"https://github.com/lucasconstantino.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SecretHub Manager\n\nCLI tool for managing a single project's secrets targeting possibly multiple environments.\n\n## Why?\n\nSecret management is often a mess. [Vault by HashiCorp](https://www.vaultproject.io/) and others solve this brilliantly, but with the clear downside of complexity. [SecretHub](https://secrethub.io/) is a promising alternative for it's simplicity, but it still requires developers learn how to use it properly.\n\nSecretHub Manager CLI is built on top of SecretHub to create an environment variable system that's easy to config, use, manage, and expand during the progress of a project.\n\n## Installation\n\n```\nyarn add secrethub-manager\n```\n\n## Usage\n\n### Credentials\n\nThere is a couple of ways to provide SecretHub Manager with credentials to connect to SecretHub API, here on listed in the order of priority:\n\n#### A) Environment variable\n\nSecretHub CLI respects an environment variable `SECRETHUB_CREDENTIAL` with a credential string - so does SecretHub Manager.\n\n**When:** perfect for usage on CIs \n\n#### B) Global secrethub sign-up\n\nIf you already use [SecretHub CLI](https://github.com/secrethub/secrethub-cli) and would like to use the globally signed-up user credentials, you don't need extra configuration.\n\n**When:** simple, single person projects, or when you have all team members signed-up to the same SecretHub organization.\n\n#### C) Local `.secrethub/credential` file\n\nYou can save the project's SecretHub credential on a file at `.secrethub/credential`.\n\n**When:** perfect for sharing a single credential with a small team.\n\n\u003e Don't forget to add `.secrethub` dir to `.gitignore`!\n\n#### D) Prompted if missing\n\nAny command will request you to manually input the credential if you haven't setup one of the previous methods.\n\n### Template\n\nCreate a `secrethub.env` file following [SecretHub template](https://secrethub.io/docs/reference/cli/template-syntax/) guide. This will be your source of truth for any environment.\n\n#### Template variables\n\nSecretHub Manager supports SecretHub's [template variables](https://secrethub.io/docs/reference/cli/template-syntax/#variables) via the `SECRETHUB_VAR_\u003cvar_name\u003e` environment variable pattern.\n\nAlso, you can define your variables on `package.json`, so that SecretHub Manager can prompt for them when they are missing - useful to simplify switching envs locally. Ex:\n\n```diff\n+  },\n+  \"secrethub\": {\n+    \"variables\": {\n+      \"env\": {\n+        \"message\": \"What environment you want to initialize?\",\n+        \"choices\": [\n+          \"development\",\n+          \"qa\",\n+          \"staging\",\n+          \"production\"\n+        ]\n+      }\n+    }\n   }\n }\n```\n\n### Usage\n\n#### Initialize\n\n```sh\nyarn secrethub-manager init\n```\n\nWill inject secrethub variables into the `secrethub.env` file, and save it as `.env`.\n\n#### Save\n\n```sh\nyarn secrethub-manager save\n```\n\nWill save the current `.env` file to SecretHub, based on the `secrethub.env` template.\n\n#### Manager\n\nSecretHub Manager provides two commands to facilitate managing all available variables, for all targeted environments of your project, in your local machine:\n\n##### Download\n\n```sh\nyarn secrethub-manager manager download\n```\n\nWill get all available SecretHub secrets, and add to a single file: `.secrethub/manager`.\n\nYou can limit to a sub-path on SecretHub by configuring your `package.json` as follows:\n\n```diff\n }\n+  },\n+  \"secrethub\": {\n+    \"path\": \"some/path\"\n   }\n }\n```\n\n\u003e Don't forget to add `.secrethub` dir to `.gitignore`!\n\n##### Save\n\nAfter manually altering `.secrethub/manager` content, use this command to save it all back to SecretHub:\n\n```sh\nyarn secrethub-manager manager save\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasconstantino%2Fsecrethub-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasconstantino%2Fsecrethub-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasconstantino%2Fsecrethub-manager/lists"}