Skip to Content
Building Os建置功能

建置功能

功能是一個命名的建置模組。它的註冊表項可以聲明一個或多個發行版系列的包,還可能包括建立掛鉤、別名、功能元資料和來賓斷言。

添加功能表達了意圖。它本身並不能證明每個包都是可用的,每個鉤子都運行過,或者結果行為在目標圖像上有效。配方驗證、建造完成和訪客驗證是單獨的門。

尋找目前的功能集

在已部署的 OpenFactory 版本中使用功能選擇器或功能目錄 API。此輸出對於正在運行的版本具有權威性。靜態清單很快就會過時,並且某些註冊表項會被隱藏,因為它們支援內部固定裝置或不完整的整合。

在選擇功能之前,請檢查:

  • 它是否對您的帳戶可見並啟用;
  • 是否宣稱配方發行系列的包;
  • 其外部來源是否固定且可檢索;
  • 是否有斷言來證明您需要的行為;和
  • 是否與另一個請求的模組衝突。

代表類別

此註冊表目前包含以下類別的模組:

類別範例需要的證據
桌面desktop-kdedesktop-gnome-minimalkritakdenlive會話類型、已安裝的軟體包、啟動器行為和真實的桌面冒煙測試
命令列和開發gitcurlpythonnodejsrust包/版本清單和可執行冒煙測試
基礎架構nginxpostgresqlredisdockeransible服務配置、啟用/運作狀態、連接埠與應用程式層級運作狀況
安全firewallaudit-loggingsecurity-hardeningapparmor產生的策略、活動運行時狀態、負面測試和記錄的異常
合規為本cis-benchmarksgxpdisa-stignist-800-53準確的基準/控制來源、適用性、每個控制結果和人性化
人工智慧工具ollamaalpacaaidercodex-cli固定來源/套件來源、模型下載邊界、啟動測試和資源需求

這些範例不是相容性矩陣。功能名稱可以存在,而特定的分發實作仍然是部分的。

功能、套餐和服務不同

  • os.features 選擇已註冊的建置模組。
  • os.packages 向本機包管理器詢問特定包。
  • os.services 提供命名的啟用和配置意圖。

例如:

{ "os": { "features": ["ssh", "firewall"], "packages": ["curl", "jq"], "services": [ { "name": "ssh", "enabled": true, "config": { "port": 22, "disable_password_auth": true } } ] } }

有效的服務配置仍然可以包含生成器不使用的金鑰。檢查標準化配方並測試產生的來賓。

安全性和合規性標籤

security-hardening 安裝並配置通用強化基線。它不是 CIS 設定檔的同義詞。配方的hardening_level是由特定於目標的生成器解釋的配置標籤;它不是 CIS 1 級或 2 級的認證或通用映射。

cis-benchmarks 功能具有更具體的 Ubuntu 24.04 1 級修復路徑。其他基地不承擔相同的角色。請參閱CIS 基準證據 以了解確切的邊界。

同樣,啟用以 GxP、HIPAA、SOC 2、PCI DSS、NIST 或 DISA 命名的功能並不能建立組織合規性。它可以添加套件、配置和測試,為單獨管理的評估提供證據。

安全地組合功能

  1. 從表達所請求行為的最小集合開始。
  2. 驗證配方並檢查規範化輸出中是否存在丟棄或推斷的欄位。 3.審查擴充包和掛鉤計畫。
  3. 建置一次並遵循其持久建置 ID。
  4. 在引導的客戶機中執行特定於功能的斷言。
  5. 明確記錄故障和故意的異常情況。
  6. 僅在了解目前基線後再添加另一個功能。

有關規範的 JSON 形狀,請參閱食譜架構