{"id":17876276,"url":"https://github.com/tehmaze/vc","last_synced_at":"2026-01-14T21:56:54.701Z","repository":{"id":54374503,"uuid":"90974275","full_name":"tehmaze/vc","owner":"tehmaze","description":":closed_lock_with_key: Vault Command Line (CLI) Client","archived":true,"fork":false,"pushed_at":"2021-02-22T15:06:03.000Z","size":58,"stargazers_count":10,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-11T17:55:03.948Z","etag":null,"topics":["cli","client","shell","vault"],"latest_commit_sha":null,"homepage":"","language":"Go","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/tehmaze.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":"2017-05-11T12:00:06.000Z","updated_at":"2024-10-10T14:32:59.000Z","dependencies_parsed_at":"2022-08-13T13:50:09.099Z","dependency_job_id":null,"html_url":"https://github.com/tehmaze/vc","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/tehmaze/vc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tehmaze%2Fvc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tehmaze%2Fvc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tehmaze%2Fvc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tehmaze%2Fvc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tehmaze","download_url":"https://codeload.github.com/tehmaze/vc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tehmaze%2Fvc/sbom","scorecard":{"id":872697,"data":{"date":"2025-08-11","repo":{"name":"github.com/tehmaze/vc","commit":"706cdc2e6cb274da79c9b06c00dd0834b719a37a"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":2,"reason":"Found 5/23 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 12 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T04:46:25.512Z","repository_id":54374503,"created_at":"2025-08-24T04:46:25.512Z","updated_at":"2025-08-24T04:46:25.512Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28436249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T21:32:52.117Z","status":"ssl_error","status_checked_at":"2026-01-14T21:32:33.442Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cli","client","shell","vault"],"created_at":"2024-10-28T11:29:39.025Z","updated_at":"2026-01-14T21:56:54.680Z","avatar_url":"https://github.com/tehmaze.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vc\n\n[![GoDoc](https://godoc.org/github.com/tehmaze/vc?status.svg)](https://godoc.org/github.com/tehmaze/vc)\n[![Build Status](https://travis-ci.org/tehmaze/vc.svg?branch=master)](https://travis-ci.org/tehmaze/vc)\n[![GitHub downloads](https://img.shields.io/github/downloads/tehmaze/vc/total.svg)](https://github.com/tehmaze/vc)\n[![GitHub tag](https://img.shields.io/github/tag/tehmaze/vc.svg)](https://github.com/tehmaze/vc)\n\nVault Command Line (CLI) Client for manipulating secrets inside Vault\n\n## Environment Variables\n\nvc respects the following environment settings:\n * `VAULT_ADDR`   Vault server address\n * `VAULT_CACERT` Path to a PEM-encoded CA cert file to use to verify the Vault server SSL certificate.\n * `VAULT_CAPATH` Path to a directory of PEM-encoded CA cert files to verify the Vault server SSL certificate. If `VAULT_CACERT` is specified, its value will take precedence.\n * `VAULT_TOKEN` Vault access token\n * `VAULT_TOKEN_FILE` Vault access token file\n\nIf no `VAULT_TOKEN` is set, `VAULT_TOKEN_FILE` will try:\n\n    $HOME/.vault-token\n    /etc/vault-client/token\n\n# Commands\n\n## Command cat\n\nShow the contents of a secret.\n\n    Usage: vc cat [\u003coptions\u003e] \u003csecret path\u003e\n\n    Options:\n      -i    ingore missing key\n      -k string\n            key\n      -m string\n            output mode (default 0600)\n      -o string\n            output (default stdout)\n      -u string\n            output file user name or numeric user id (default: current user)\n      -g string\n            output file group name or numeric group id (default: current group)\n\n\n## Command edit\n\nOpen an interactive editor for manipulating secrets or creating new secrets.\n\n    Usage: vc edit \u003csecret path\u003e\n\n\n## Command file\n\nStore or retrieve files.\n\n\n    Usage: vc file \u003cget|put\u003e \u003csecret path\u003e \u003cfile path\u003e\n\n    Options:\n      -f\tforce overwrite\n      -i\tignore missing key\n      -m string\n        \toutput mode (for put) (default 0600)\n\nIn get mode, if the file at path already exists, vc will prompt the user to\noverwrite if the terminal is interactive and otherwise throw an error, unless\nforce overwrite is enabled.\n\nIn put mode, if the secret at path already exists, vc will prompt the user to\noverwrite if the terminal is interactive and otherwise throw an error, unless\nforce overwrite is enabled.\n\nThe actual secret is stored in base64 encoding, and it will have the magic type\nmarker (`__TYPE__`) of \"file\".\n\n\n## Command ls\n\nList secrets.\n\n    Usage: vc [\u003coptions\u003e] ls [\u003csecret path\u003e]\n\n    Options:\n      -1\tlist in compact format\n      -R\trecursively list subdirectories encountered\n      -l\tlist in long format\n\n\n## Command mv\n\nMove secrets.\n\n    Usage: vc [\u003coptions\u003e] mv \u003csource secret\u003e \u003ctarget secret\u003e\n\n    Options:\n      -f\tforce overwrite\n\nIf the secret at the destination path exists, vc will prompt the user to\noverwrite if the terminal is interactive and otherwise throw an error, unless\nforce overwrite is enabled.\n\n\n## Command rm\n\nRemove secrets.\n\n    Usage: vc rm \u003csecret path\u003e\n\n    Options:\n      -f\tforce removal\n\n\n## Command template\n\nRender a template containing Vault secrets. The default render engine is\ntext/template, see https://golang.org/pkg/text/template/\n\n    Usage: vc template [\u003coptions\u003e] \u003cfile\u003e\n\n    Options:\n      -m string\n            output mode (default 0600)\n      -o string\n            output (default: stdout)\n      -t string\n            templating mode: html or text (default html)\n      -u string\n            output file user name or numeric user id (default: current user)\n      -g string\n            output file group name or numeric group id (default: current group)\n\n\nThe render engine will first evaluate the template file and retrieve all\ndesired secret paths and keys. Next, it will contact Vault and fetch the\nrequested secrets. The render engine will report a fatal error if any of the\nsecrets are missing or if there is an error contacting Vault.\n\n### Function `decode`\n\nRetrieves an encoded secret stored in Vault.\n\nExample:\n\n    We can have any {{decode \"secret/test.json\"}} type.\n\n\n### Function `secret`\n\nAllows for looking up secret values stored in Vault. The function expects a\npath to a generic secret and a key.\n\nExample:\n\n    The value for key foo at secret/test is: {{secret \"secret/test\" \"foo\"}}\n\n\n# Type key\n\nOnly partial support is implemented for the magic `__TYPE__` key which allows\nfor typed values.\n\nBuiltin types:\n * `file` Base64 encoded file in key \"contents\"\n * `json` Substructure is a key-value dictionary with JSON encoding\n * `yaml` Substructure is a key-value dictionary with YaML encoding\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftehmaze%2Fvc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftehmaze%2Fvc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftehmaze%2Fvc/lists"}