What:CHECK_CONTENTS 改由 wiki-repo CONTENTS 解析並透過 wiki-contents.sh upsert
寫入,CHECK_{HASH} 仍走 wiki-repo CHECK。目錄頁新增一欄裸 HASH 當比對鍵。主機名
改由程式取短名,不再交給模型自由填。
Why:比對鍵原本是含網址的儲存格,換主機或換存取庫就比對不到,每跑一次體檢就替同一台
機器多附一列,畫面上還看不出來。主機名短名與 FQDN 不一致時,同一台機器會分裂成兩張頁,
而助理巡檢那邊是用程式取值的,兩邊對不起來。
How:設定規格表同一輪補齊三處既有缺漏——補上漏掉的 JSC_WIKI_REPO_MONITOR,體檢本來
看不到它而孤兒掃描還會誤報;刪掉指向不存在頁面的 MAINTAIN 內容頁字樣;MAINTAIN 那一列
改成不需要使用者處理,免得體檢叫人去設一支管不到任何頁的變數。整列保留,刪掉會讓孤兒
掃描開始誤報那個變數。
Who:jsc-cli
18 lines
1.8 KiB
Markdown
18 lines
1.8 KiB
Markdown
# 體檢目錄
|
||
|
||
> 由 `jsc-cli:doctor` 維護。每台執行環境一列;`HASH` 取 `{短主機名}/{登入帳號}`,算法與其他頁面共用。主機名取不含網域的短名,FQDN 要先切掉第一個點之後的部分,否則同一台機器會多出第二頁。
|
||
>
|
||
> 本頁落在 `JSC_WIKI_REPO_CONTENTS` 解出的專用存取庫,與體檢頁 `CHECK_{HASH}` 不同庫。目錄頁全部住這裡,不退回 `JSC_WIKI_REPO_CHECK`。
|
||
>
|
||
> 寫入語意:一列代表一台執行環境,也就是一組主機加帳號。一律用 `jsc-gitea/tools/wiki-contents.sh upsert CHECK 4 {HASH} {列檔} {本範本}` 寫,它先讀回整頁,該執行環境已經有列就更新那一列,沒有才在表尾附加一列。禁止整頁覆蓋,也不得改動別人的列。體檢頁 `CHECK_{HASH}` 只留最新一次結果、可以整頁改寫,這份目錄頁不行。
|
||
>
|
||
> 鍵是第 4 欄的 `HASH`:`jsc-gitea/tools/hash-id` 印出什麼就填什麼,完整 40 碼大寫十六進位,不截短、不加前綴、不包成連結。腳本比對的是整格文字,鍵一定要跟這一格一字不差。
|
||
>
|
||
> 鍵用裸 `HASH` 才穩。`GITEA_HOST` 換掉、`JSC_WIKI_REPO_CHECK` 換過存取庫、Gitea 對頁名的網址編碼有差,網址就跟著變;拿含網址的儲存格當鍵,比對就永遠比不中,同一台機器每體檢一次就多附一列,畫面上還看不出來。
|
||
>
|
||
> 第 1 欄的連結只給人點,不當鍵用。連結一律填 `jsc-gitea/tools/gitea.sh wiki-url` 印出的絕對網址。`[[CHECK_{HASH}]]` 只在同一個 wiki 內解析,兩頁已經不同庫,寫成雙括號會連不到。
|
||
|
||
| 體檢頁 | 主機 | 帳號 | HASH | 必要項缺漏 | 設定錯誤 | 最後體檢 |
|
||
| --- | --- | --- | --- | --- | --- | --- |
|
||
| [CHECK_{HASH}]({體檢頁絕對網址}) | {短主機名} | {使用者帳號} | {HASH} | {n} | {n} | {yyyy-MM-dd HH:mm} |
|