"Toml"
- 多台主機維護清單的實作紀錄:在容器上安裝 ansible-core 與 Terraform、由 Terraform 產生 inventory、用 Ansible 的範本部署每台的清單、以 sudo 與 systemd-run 執行檢查腳本,以及清理
要照著部署多台主機的維護清單並執行檢查腳本,或要讀跨主機執行時 ansible 的 exit code 與每台的 rc、門檻造成的 WARN、清單格式錯與連不上的主機各自印出什麼時,或要確認 Terraform 寫出的 inventory 的檔案權限、`--check` 預覽與實際部署結果不同的情形時,查在可拋棄的容器上實際跑過的指令、輸出與遇到的錯誤
- 只讀檢查腳本 host-check.py 的原始碼與逐段說明:選項的切分與各工具的白名單規則、清單的載入與驗證、指令的執行、各項檢查、路徑與時間的量測、結果檔與命令列,以及這一版的已知限制
要讀主機維護清單的只讀檢查腳本實際怎麼切分各工具的選項、怎麼驗證清單、怎麼判定 PASS、WARN 與 MANUAL、怎麼寫結果檔,或要照它的做法寫自己的檢查腳本時,查完整的 Python 原始碼與每一段這樣寫的理由
- 主機維護清單寫成 TOML:JSON、YAML、TOML 的取捨、TOML 1.0 與 1.1 的版本差異、清單的欄位設計與只讀檢查腳本
把一台主機的維護、暫停與恢復上線項目寫成一份資料檔:這份清單對格式的需求、JSON、YAML、TOML 逐項比對(YAML 把 no 讀成 false、010 讀成 8 的實測,以及 TOML 照樣把 1.10 讀成 1.1)、TOML 的表格與表格陣列寫法、1.0 與 1.1 的解析器差異(Python tomllib 的 TOMLDecodeError)、欄位怎麼依檢查腳本與人的需要設計,以及只讀檢查腳本的白名單條件、輸出與 exit code
- 多台主機的維護清單:值的分層與合併的位置、用 Ansible 的 inventory 與範本產生每台的清單、由 Terraform 的輸出產生 inventory、跨主機執行的 exit code,以及單台清單的適用範圍
把單台的主機維護清單擴充到多台主機:每台相同、依角色不同、每台不同的值怎麼分層,合併放在部署時產生每台一份、由檢查腳本讀多份、依角色過濾還是執行時覆寫,用 Ansible 的 inventory、群組變數與範本產生 TOML 清單時的變數合併、兼任角色、型別、語法撞名、跳脫與產生時的驗證,由 Terraform 的輸出產生 inventory、terraform plan 能取代哪些主控台上的確認,對多台執行檢查腳本時 exit code 的讀法與執行身分的代價,以及單台清單夠用的條件
- TOML
讀到 .toml 設定檔、要判斷一個值會被解析成什麼型別、要在 JSON、YAML、TOML 之間選設定檔格式,或解析器版本對不上而報錯時