Skip to Content
Building Osビルド機能

ビルド機能

フィーチャーは名前付きのビルド モジュールです。そのレジストリ エントリでは、1 つ以上のディストリビューション ファミリのパッケージを宣言でき、ビルド フック、エイリアス、機能メタデータ、ゲスト アサーションも含めることができます。

機能の追加は意図を表現します。それ自体では、すべてのパッケージが利用可能であったこと、すべてのフックが実行されたこと、またはその結果の動作がターゲット イメージで機能したことを証明するものではありません。レシピの検証、ビルドの完了、ゲストの検証は別のゲートです。

現在の機能セットを検索する

デプロイされた OpenFactory リリースの機能セレクターまたは機能カタログ API を使用します。その出力は実行中のバージョンに対して信頼できるものです。静的リストはすぐに古くなり、一部のレジストリ エントリは内部フィクスチャまたは不完全な統合をサポートするために非表示になります。

機能を選択する前に、以下を確認してください。

  • あなたのアカウントに対してそれが表示され、有効になっているかどうか。
  • レシピのディストリビューション ファミリのパッケージを宣言するかどうか。
  • 外部ソースが固定されており、取得可能かどうか。
  • 必要な動作を証明するアサーションが含まれているかどうか。そして
  • 要求された別のモジュールと競合するかどうか。

代表的なカテゴリ

現在、レジストリには次のようなカテゴリのモジュールが含まれています。

カテゴリー必要な証拠
デスクトップdesktop-kdedesktop-gnome-minimalkritakdenliveセッション タイプ、インストールされているパッケージ、ランチャーの動作、および実際のデスクトップのスモーク テスト
コマンドラインと開発gitcurlpythonnodejsrustパッケージ/バージョンのインベントリと実行可能なスモーク テスト
インフラnginxpostgresqlredisdockeransibleサービス構成、有効/実行状態、ポート、およびアプリケーション レベルの健全性
セキュリティfirewallaudit-loggingsecurity-hardeningapparmor生成されたポリシー、アクティブなランタイム状態、ネガティブなテスト、および文書化された例外
コンプライアンス重視cis-benchmarksgxpdisa-stignist-800-53正確なベンチマーク/コントロール ソース、適用性、コントロールごとの結果、および人間の性質
AIツール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. 拡張されたパッケージとフック計画を確認します。
  4. 一度ビルドすると、その永続的なビルド ID に従います。
  5. ブートされたゲストで機能固有のアサーションを実行します。
  6. 失敗と意図的な例外を明示的に記録します。
  7. 現在のベースラインを理解した後でのみ、別の機能を追加します。

正規の JSON 形式については、レシピスキーマ を参照してください。