1
0
Fork 0

update readme

This commit is contained in:
ChaotiCryptidz 2022-01-18 15:23:28 +00:00
parent 2a5a61c23c
commit f990bc6e1d
13 changed files with 85 additions and 52 deletions

85
README.md Normal file
View file

@ -0,0 +1,85 @@
# VaultUI
VaultUI is a user interface for [Hashicorp Vault](https://www.hashicorp.com/products/vault).
## Supported Features:
### Unseal
- Can unseal using a QR code making it easier for multi-user teams to unseal vault together.
### Key Value
- Viewing of Key/Value secrets (v1 & v2)
- Managing versions of secrets in v2 mounts.
- Editing Key/Value secrets with ability to edit in JSON, JSON5, Yaml, etc.
- Search bar for easily finding a secret on mobile.
### TOTP
- Can view and delete TOTP codes.
- Ability to scan a QR code, input a URI or input a key for adding TOTP codes.
- Supports adding vault-generated TOTP keys for testing.
### Transit
- Can create transit engines and keys with all supported cyphers.
- Supports encrypt, decrypt and rewrap in browser.
### Policies
- Can view, edit and delete policies.
### Auth
- Supports limited viewing some auth methods.
#### Auth / UserPass
- Can manage userpass users and change passwords, expiry and other settings
## How to build:
Recommended: use direnv or just nix-shell to automatically grab nodejs and required build dependencies.
```
npm install --save-dev
npx webpack
```
The resulting built files will be in `dist/`
## How to run in development:
```
npm install --save-dev
npx webpack serve --config webpack-dev.config.js
```
## How to host/use
We host it via GitLab pages at [VaultUI](https://vaultui.owo.monster).
Simply copy the files to root of webserver.
You will need a redirect rule to redirect any 404's or non-200's to index.html.
Cors will need to be enabled for you to use VaultUI.
Due to vault encrypting cors config with the unseal key, you can't use VaultUI to unseal vault for the first time.
However, you can use VaultUI to unseal vault for first unseal if you can replace without appending to the cors headers so they use the same headers when unsealed as sealed.
### Redirects
#### Netlify Redirect Rule:
```
/* /index.html 200
```
### Nginx
```nginx
location / {
try_files $uri $uri/ /index.html;
}
```
### AWS Amplify
|original address|Destination Address|Redirect Type|
|----------------|-------------------|-------------|
|`</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|ttf|map|json)$)([^.]+$)/>`|`/index.html`|`200`|
## Translating
Make sure to keep the order of comments and tags in the translation files `src/translations` the same.
When you want to MR an update, title it "Changed wording in..." or "Synced translations in de" or something along those lines.
To get a list of what languages need what translations added, run `node ./checkTranslations.mjs`
For example:
```
Language: fr
Missing: unseal_input_btn, unseal_qr_btn
```
Would mean those two missing translations need to be added to the french translation.

View file

@ -1,52 +0,0 @@
# VaultUI
[![CI Status](https://ci.phoenix.qcx.io/api/v1/teams/purringchaos/pipelines/vaultui/badge)](https://ci.phoenix.qcx.io/teams/purringchaos/pipelines/vaultui)
This is a very simple UI for working with secrets in [Hashicorp Vault](https://www.hashicorp.com/products/vault)
## How to build:
```
npm install --save-dev
npx webpack
```
The resulting built files will be in `dist/`
## How to run in development:
Use whatever browser you want, I personally test on latest Microsoft Edge Dev build.
```
npm install --save-dev
BROWSER=google-chrome npx webpack serve --config webpack-dev.config.js
```
## Translating
Make sure to keep the order of comments and tags in the translation files `src/translations` the same.
When you want to PR an update, title it "Changed wording in..." or "Synced translations in de" or something along those lines.
To get a list of what languages need what translations added, run `node ./checkTranslations.mjs`
Example:
```
Language: fr
Missing: unseal_input_btn, unseal_qr_btn
```
Means those two missing things need to be added to french.
f
## Screenshots
### Home
![The home page with listings for all mounted secrets engines.](screenshots/home.jpg)
### Cubbyhole Engine
![The cubbyhole page with info on how to use it.](screenshots/cubbyhole.jpg)
### K/V v1 Engine
![The view screen on the key value v1 screen with delete and edit buttons.](screenshots/kv1.jpg)
### K/V v2 Engine
![The view screen on the key value v2 screen with delete all, edit and versions buttons.](screenshots/kv2.jpg)
![Viewing a secret that can only be displayed as syntax highlighted JSON.](screenshots/kv2json.jpg)
![The versions list of a secret.](screenshots/kv2versions.jpg)
![A soft deleted secret with option to undelete.](screenshots/kv2undelete.jpg)
### TOTP Engine
We don't yet support `generate: true` TOTP secrets but probably will in the future.
![A copyable list of TOTP codes with option to add a new one.](screenshots/totp.jpg)
![A screen where you can add a new TOTP code.](screenshots/totpnew.jpg)
### Transit Engine
![Options to encrypt and decrypt using the transit engine.](screenshots/transit.jpg)

View file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB