docs: add flowchart for vault setup and usage workflow
This commit is contained in:
@@ -0,0 +1,78 @@
|
|||||||
|
# Agent Secret Vault 流程圖
|
||||||
|
|
||||||
|
## 安裝流程
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
A[開始] --> B[git clone repo]
|
||||||
|
B --> C{vault-pass.txt 存在?}
|
||||||
|
C -->|是| D[驗證 vault 可解密]
|
||||||
|
C -->|否| E[選擇安裝方式]
|
||||||
|
|
||||||
|
E --> E1[建立新密碼]
|
||||||
|
E --> E2[手動輸入]
|
||||||
|
E --> E3[從 URL 下載]
|
||||||
|
E --> E4[從 zip 解壓]
|
||||||
|
|
||||||
|
E1 --> F[產生 vault-pass.txt]
|
||||||
|
E2 --> F
|
||||||
|
E3 --> F
|
||||||
|
E4 --> F
|
||||||
|
|
||||||
|
F --> D
|
||||||
|
D -->|成功| G[安裝完成]
|
||||||
|
D -->|失敗| H[檢查 vault-pass.txt 內容]
|
||||||
|
H --> F
|
||||||
|
```
|
||||||
|
|
||||||
|
## 日常使用流程
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
A[開始] --> B[cd agent-secret-vault]
|
||||||
|
B --> C{要做什么?}
|
||||||
|
|
||||||
|
C -->|查看 vault| D[./scripts/vault.sh view]
|
||||||
|
C -->|讀取單一 secret| E[./scripts/get-secret.sh key.path]
|
||||||
|
C -->|編輯 vault| F[./scripts/vault.sh edit]
|
||||||
|
C -->|更新 secret| G[git pull → edit → git push]
|
||||||
|
|
||||||
|
F --> H[編輯完成]
|
||||||
|
H --> I[git add secrets/vault.yml]
|
||||||
|
I --> J[git commit]
|
||||||
|
J --> K[git push]
|
||||||
|
```
|
||||||
|
|
||||||
|
## 加密格式變更流程
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
A[發現 vault.yml 是 age 加密] --> B[scripts 用 ansible-vault 無法解密]
|
||||||
|
B --> C[用 age 私鑰解密 vault.yml]
|
||||||
|
C --> D[暫存明文到 /tmp]
|
||||||
|
D --> E[用 ansible-vault 重新加密]
|
||||||
|
E --> F[驗證 vault.sh view 正常]
|
||||||
|
F --> G[驗證 get-secret.sh 正常]
|
||||||
|
G --> H[git commit + push]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Secret 結構
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
Vault[vault.yml] --> HTTP[http_nodes]
|
||||||
|
Vault --> KUMON[kumon_com_tw]
|
||||||
|
|
||||||
|
HTTP --> BYNARA[bynara]
|
||||||
|
HTTP --> GOOGLE[google_ai_studio]
|
||||||
|
|
||||||
|
BYNARA --> BY_KEY[api_key]
|
||||||
|
BYNARA --> BY_URL[base_url]
|
||||||
|
|
||||||
|
KUMON --> R2[cloudflare_r2]
|
||||||
|
R2 --> ACC[account_id]
|
||||||
|
R2 --> ZONE[zone_id]
|
||||||
|
R2 --> AK[access_key_id]
|
||||||
|
R2 --> EP[endpoint]
|
||||||
|
R2 --> SK[secret_access_key]
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user