Appearance
環境變數與啟動 Flag
Argus 同時支援 環境變數 與 CLI flag。Flag 比環境變數優先。
來源:
backend/bin/server/cmd/root.go、backend/bin/server/cmd/profile.go。
環境變數
| 變數 | 用途 | 預設 | 必填 |
|---|---|---|---|
PG_URL | Argus metastore 的 Postgres 連線字串 | 無;空值時改用 --data 內嵌 Postgres(僅限開發) | ✅ 生產環境必填 |
LICENSE_PRIVATE_KEY | License 簽章驗證用 private key | 空(permissive defaults) | 不必 |
STRIPE_API_SECRET | (已停用)Stripe 整合 | 空 | 不必 |
STRIPE_WEBHOOK_SECRET | (已停用)Stripe webhook | 空 | 不必 |
SSH_AUTH_SOCK | SSH agent socket(接資料庫走 SSH 時可選) | OS 預設 | 不必 |
GHOST_MAX_AUTH_RETRIES | gh-ost online DDL 的最大重試次數 | gh-ost 預設 | 不必 |
⚠️
STRIPE_*與LICENSE_PRIVATE_KEY是舊版 SaaS / 訂閱模式遺留的環境變數。Argus 為自建部署平台,採 permissive default — 這些變數不設也能完整跑。
PG_URL 格式
text
postgresql://<user>[:<password>]@<host>[:<port>]/<dbname>[?sslmode=...&...]範例:
bash
# 本機開發
PG_URL=postgresql://argusdev@localhost/argusdev
# 帶密碼
PG_URL=postgresql://argus:mypw@db.internal:5432/argus
# 強制 SSL
PG_URL='postgresql://argus:mypw@db.internal/argus?sslmode=require'CLI Flag
| Flag | 型別 | 預設 | 說明 |
|---|---|---|---|
--port | int | 8080 | HTTP 監聽 port |
--external-url | string | 空 | 使用者實際造訪的 URL(含 scheme),SSO callback 必填 |
--data | string | .(Docker:/var/opt/argus) | 資料目錄;PG_URL 未設時也作為內嵌 PG 的位置 |
--debug | bool | false | 啟用 debug log |
--enable-json-logging | bool | false | JSON 格式 log(給 log shipper) |
--memory-profile-threshold | uint64 | 0(停用) | 達到此 byte 數時自動寫 memory profile |
--ha | bool | false | HA 模式(多副本) |
--saas | bool | false | SaaS 模式(內部使用) |
--demo | bool | false | Demo 模式(含示範資料) |
種子 admin(首次部署)
對應「無 IdP day-1」場景。詳見 認證模式。
| Flag | 預設 | 說明 |
|---|---|---|
--bootstrap-admin-login-id | 空(停用) | 啟動時若 DB 是全新狀態,預建 admin 的 login_id。允許 [a-z0-9._@-],最長 256。 |
--bootstrap-admin-email | 空 | (選填)admin 的聯絡 email;空則 DB 為 NULL |
--bootstrap-admin-password | 空 | (選填)初始密碼;空時 Argus 隨機產生 20 字並在啟動 log 印一次,務必首次登入後立即輪替 |
對 fresh DB 第二次再給同一組
--bootstrap-admin-*是 no-op(idempotent)。
範例:典型生產啟動
bash
PG_URL=postgresql://argus:****@db.internal:5432/argus \
./argus \
--external-url https://argus.corp.example \
--port 8080 \
--enable-json-logging \
--bootstrap-admin-login-id ops-bootstrap子指令
bash
argus version # 顯示版本
argus admin reset-password --login-id <id> # 重設密碼(local-only,無遠端 API)
argus reencrypt-credentials [--instance <name>] [--dry-run]
# 重新加密 instance credentials