[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-8808":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":20,"defaultBranch":21,"hasWiki":19,"hasPages":20,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},8808,"goldfish","Caiyeon\u002Fgoldfish","Caiyeon","A HashiCorp Vault UI written with VueJS and Vault native Go API","https:\u002F\u002Fvault-ui.io",null,"Vue",2128,162,1,26,0,58.64,"Mozilla Public License 2.0",true,false,"master",[23,24,25,26,27,28,29,30],"bulma-css","go","golang","hashicorp-vault","vault","vault-ui","vue-admin","vuejs","2026-06-12 04:00:41","\u003Cdiv align=\"center\">\n\n\u003Ch3>Goldfish Vault UI - \u003Ca href=\"https:\u002F\u002Fvault-ui.io\">Live Demo \u003C\u002Fa>\u003C\u002Fh3>\n\n\u003Cp>\u003Cimg width=\"250\" height=\"194\" src=\"https:\u002F\u002Fgithub.com\u002FCaiyeon\u002Fgoldfish\u002Fblob\u002Fmaster\u002Ffrontend\u002Fclient\u002Fassets\u002Flogo%402x.png\">\u003C\u002Fp>\n\n\u003Ch3>\n\t\u003Ca href='https:\u002F\u002Fko-fi.com\u002FA4242ER7' target='_blank'>\n\t\t\u003Cimg height='32' style='border:0px;height:32px;' src='https:\u002F\u002Faz743702.vo.msecnd.net\u002Fcdn\u002Fkofi4.png?v=0' border='0' alt='Donation' \u002F>\n\t\u003C\u002Fa>\n\t\u003Cimg height=\"32\" src=https:\u002F\u002Fcircleci.com\u002Fgh\u002FCaiyeon\u002Fgoldfish.svg?style=svg>\n\t\u003Cbr>\n\tShare this repo with your colleagues!\n\u003C\u002Fh3>\n\n\u003C\u002Fdiv>\n\n\n## What is this?\n\n\u003Cdiv class=\"center\">\n\u003Cblockquote class=\"twitter-tweet\" data-cards=\"hidden\" data-lang=\"en\">\u003Cp lang=\"en\" dir=\"ltr\">\u003Ca href=\"https:\u002F\u002Fvault-ui.io\">Goldfish\u003C\u002Fa> - A HashiCorp Vault UI and workflow tool. \u003Ca href=\"https:\u002F\u002Ft.co\u002FuVWLuQEBMi\">pic.twitter.com\u002FuVWLuQEBMi\u003C\u002Fa>\u003C\u002Fp>&mdash; Kelsey Hightower (@kelseyhightower) \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fkelseyhightower\u002Fstatus\u002F899717092496121856?ref_src=twsrc%5Etfw\">August 21, 2017\u003C\u002Fa>\u003C\u002Fblockquote>\n\u003C\u002Fdiv>\n\nGoldfish answers many auditing and administration questions that Vault API can't:\n\n* Right now, are there any root tokens in Vault?\n* Which policies, users, and tokens can access this particular secret path?\n* The unseal admins are working from home, but we need a policy changed.\n\t* How do we generate a root token only for this change, and make sure it's revoked after?\n* I store my policies on a Github repo. Can I deploy all my policies in one go? [See more](https:\u002F\u002Fgithub.com\u002FCaiyeon\u002Fgoldfish\u002Fwiki\u002FFeatures#request-policy-change-by-github-commit)\n* If I remove this secret\u002Fpolicy, will anybody's workflow break?\n\n\n\u003C!--\n-->\n## [Deploy goldfish in production in minutes!](https:\u002F\u002Fgithub.com\u002FCaiyeon\u002Fgoldfish\u002Fwiki\u002FProduction-Deployment)\n\nSeriously, the instructions fit on one screen!\n\n\n\u003C!--\n-->\n## Features\n\n* [x] Hot-loadable server settings from a provided vault endpoint\n* [x] Displaying a vault endpoint as a 'bulletin board' in homepage\n* [x] **Logging in** with token, userpass, github, or LDAP\n* [x] **Secret** Reading\u002Fediting\u002Fcreating\u002Flisting\n* [x] **Auth** Searching\u002Fcreating\u002Flisting\u002Fdeleting\n* [x] **Mounts** Listing\n* [x] **Policies** Searching\u002FListing\n* [x] Encrypting and decrypting arbitrary strings using transit backend\n\n#### Major features: [See wiki for more](https:\u002F\u002Fgithub.com\u002FCaiyeon\u002Fgoldfish\u002Fwiki\u002FFeatures)\n* [x] **DONE!** Searching tokens by policy [walkthrough](https:\u002F\u002Fgithub.com\u002FCaiyeon\u002Fgoldfish\u002Fwiki\u002FFeatures#searching-tokens)\n\t- E.g. Display all tokens that have the policy 'admins'\n* [x] **DONE!** Searching policy by rule [walkthrough](https:\u002F\u002Fgithub.com\u002FCaiyeon\u002Fgoldfish\u002Fwiki\u002FFeatures#searching-policies)\n\t- E.g. Display all policies that can access 'secret\u002Fdata*'\n* [x] **DONE!** Request & approval based policy changes [walkthrough](https:\u002F\u002Fgithub.com\u002FCaiyeon\u002Fgoldfish\u002Fwiki\u002FFeatures#policy-change-requests)\n\t- Users can place a policy change request in vault\n\t- Admins must then provide unseal tokens for that specific request\n\t- Upon reaching a set number, goldfish generates a root token, performs edit, and revokes the root token\n* [x] **DONE!** **Terraform your vault** [walkthrough](https:\u002F\u002Fgithub.com\u002FCaiyeon\u002Fgoldfish\u002Fwiki\u002FFeatures#request-policy-change-by-github-commit)\n\t- Fetch a folder of policies from a commit in github\n\t- Admins can enter their unseal tokens for approval to set vault policies according to policies found\n\t- Change dozens of policies in one go!\n* [x] **DONE!** Resource dependency chain\n\t- E.g. Will removing a particular policy affect current users?\n\t- Will removing a mount or secret path affect current users?\n\n\n\u003C!--\n-->\n## Screenshots\n\n![](screenshots\u002FLogin.png)\n\n\n![](screenshots\u002FPolicyRequest.png)\n\n\n![](screenshots\u002FBulletinBoard.png)\n\n\n![](screenshots\u002FTokenCreator.png)\n\n\n![](screenshots\u002FUsers.png)\n\n\n\n\u003C!--\n-->\n## Developing Goldfish\n\n#### Running locally\nYou'll need go (v1.9), nodejs (v8.2), and npm (v5)\n\n```bash\n# hashicorp vault ui\n\n# clone goldfish\ngo get github.com\u002Fcaiyeon\u002Fgoldfish\ncd $GOPATH\u002Fsrc\u002Fgithub.com\u002Fcaiyeon\u002Fgoldfish\n\n# running goldfish server in -dev will spin up a local vault instance for you\ngo run server.go -dev\n\n# running goldfish frontend in dev mode will allow for hot-reload of frontend files\ncd frontend\nsudo npm install -g cross-env\nnpm install\nnpm run dev\n\n# a browser window\u002Ftab should open, pointing directly to goldfish\n```\n\n\n#### Using a VM\nA vagrantfile is available as well\n\nYou'll need [Vagrant](https:\u002F\u002Fwww.vagrantup.com\u002Fdownloads.html) and [VirtualBox](https:\u002F\u002Fwww.virtualbox.org\u002F). On Windows, a restart after installation is needed.\n\n```bash\n# if you wish to launch goldfish in a VM:\ngit clone https:\u002F\u002Fgithub.com\u002FCaiyeon\u002Fgoldfish.git\ncd goldfish\u002Fvagrant\n\n# this will take awhile\nvagrant up --provision\n\n# go to localhost:8080 on your local machine and login with token 'goldfish'\n\n# changes to frontend .vue files will be hot-reloaded\n# to force a full reload for the frontend, ssh into the machine and run\n#     `sudo systemctl restart goldfish_frontend.service`\n# to recompile and re-run the backend, ssh into the machine and run\n#     `sudo systemctl restart goldfish.service`\n```\n\n\n#### Compiling\nYou'll need Go(v1.9), Nodejs (v8.2.0), Npm (v5)\n\nNote that using different versions (of nodeJS, especially) will cause differences in the final binary.\n\n```bash\n# download the source code\ngo get -d github.com\u002Fcaiyeon\u002Fgoldfish\ncd $GOPATH\u002Fsrc\u002Fgithub.com\u002Fcaiyeon\u002Fgoldfish\n\n# resetting to a tagged version is recommended\n# no support will be given to arbitrary commits on the master branch\ngit fetch --all --tags --prune\ngit checkout tags\u002F\u003Cversion> # version could be, for example, v0.8.0\n\n# compile the binary\nsh build.sh\n```\n\n\n\n\u003C!--\n-->\n## Development\nGoldfish is in very active development.\n\nPull requests and feature requests are welcome. Feel free to suggest new workflows by opening issues.\n\n\n\u003C!--\n-->\n## Components\n\nFrontend:\n* VueJS\n* Bulma CSS\n* Vue Admin\n\nBackend:\n* [Vault API](https:\u002F\u002Fgodoc.org\u002Fgithub.com\u002Fhashicorp\u002Fvault\u002Fapi) wrapper\n\n\n\n\u003C!--\n-->\n## Design\n\nSee: [Architecture](https:\u002F\u002Fgithub.com\u002FCaiyeon\u002Fgoldfish\u002Fwiki\u002FArchitecture)\n\n\n\u003C!--\n-->\n## Sponsored by\n\n![](screenshots\u002FDO_Logo_Horizontal_Blue.png)\n\n\n\u003C!--\n-->\n## Why 'Goldfish'?\n\nThis server should behave as a goldfish, forgetting everything immediately after a request is completed. That, and other inside-joke reasons.\n\nCredits for the goldfish icon goes to [Laurel Chan](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Flaurel-chan-11baa286)\n","Goldfish 是一个基于 VueJS 和 Vault 原生 Go API 构建的 HashiCorp Vault 管理界面。它提供了包括登录认证（支持 token、用户密码、GitHub 和 LDAP）、密钥管理（读取、编辑、创建、列表）、认证方法管理（搜索、创建、列表、删除）以及策略管理（搜索、列表）等功能，并且能够通过 Transit 后端加密解密任意字符串。此外，Goldfish 支持从 GitHub 仓库批量部署策略变更请求，并允许对特定请求生成临时根令牌以确保安全操作。此项目适用于需要增强 Vault 可视化管理和审计能力的企业环境，特别是那些依赖于云原生技术栈进行秘密管理与访问控制的团队。",2,"2026-06-11 03:19:51","top_language"]