インストールシード¶
IncusOSはインストールのプロセスを自動化するために「インストールシード」に依存しています。
このシートは通常イメージの取得の際に自動で生成されます。
より高度な用途には、下記の情報を使ってあなた自身のシードデータを提供できます。
形式と配置¶
インストールシードは1つ以上のJSONまたはYAMLの設定ファイルからなる単なるtarアーカイブです。 tarファイルはインストールイメージの第2パーティションの先頭に直接かかれます。 実行時に、IncusOSは第2パーティションからインストールシードの読み取りを試み、そこにあるデータをインストールプロセス中に使います。
あるいは、ユーザーが提供するシードのパーティションをインストールイメージとは無関係に提供できます。
パーティションのラベルはSEED_DATAである必要がありUSBドライブはFATまたはISOイメージとしてフォーマットされている必要があります。
tarアーカイブを読むのとは違い、インストールのロジックはマウントされたファイルシステムからJSONあるいはYAMLの設定ファイルを直接読もうと試みます。
インストールの完了時に、マシンからシードドライブを切断するかどうかはユーザー次第です。
IncusOSは起動時にシードデータがまだ存在する場合は混乱することでしょう。
(インストールプロセスは最終インストールからデードデータのtarアーカイブを消去しますが、ユーザー提供のシードにはこれはできません。)
シードの中身¶
現時点では以下の設定ファイルが認識されます:
install.{json,yml,yaml}¶
空であってもこのファイルが存在すれば、IncusOSはインストールプロセスを発動します。
この構造体はapi/seed/install.goで定義されています:
force_install: trueの場合、パーティションが既に存在していてもターゲットデバイスにインストオールします。警告:これはデータ消失を引き起こすかもしれません!force_reboot: trueの場合、インストール後にインストールメディアの除去を待たずに再起動します。security: 劣化したセキュリティー状態でIncusOSを実行できるようにするオプショナルな構造体。警告:これは何をしているかとその結果生じるセキュリティーの問題を正確に把握しているのでなければ、行うべきではありません。target: オプショナルでインストールのターゲットデバイスを決定するのに使うセレクター。指定されない場合、IncusOSはインストール時に未使用のドライブが1つあることを期待します。
applications.{json,yml,yaml}¶
このファイルはIncusOSが稼働した後にどのアプリケーションをインストールするかを指定します。
この構造体はapi/seed/applications.goで定義されています:
applications: インストールするアプリケーションの配列を保持します。現時点でサポートされているアプリケーションはincus、migration-manager、operations-centerのみです。
incus.{json,yml,yaml}¶
このファイルはIncusのプリシード情報を指定します。
この構造体はapi/seed/incus.goで定義され、IncusのInitPreseed APIを参照しています。
apply_defaults: trueの場合、Incusのインストール時にだどうなデフォルト値のセットを自動で適用します。preseed: インストール時にIncusに渡される追加のプリシード情報。
network.{json,yml,yaml}¶
このファイルはIncusOSが起動する際に適用すべきネットワーク設定を指定します。 未指定の場合、IncusOSは各ネットワークインターフェースに自動的なDHCP/SLAACを試みます。
使用される構造体はネットワークAPIの構造体です。
migration-manager.{json,yml,yaml}¶
このファイルはマイグレーションマネージャーのプリシード情報を指定します。
この構造体はapi/seed/migration_manager.goで定義され、マイグレーションマネージャーのsystem APIを参照しています。
operations-center.{json,yml,yaml}¶
このファイルはオペレーションセンターのプリシード情報を指定します。
この構造体はapi/seed/operations_center.goで定義され、オペレーションセンターのsystem APIを参照しています。
provider.{json,yml,yaml}¶
このファイルはプロバイダーを設定するためのプリシード情報を指定します。これはIncusOSの更新とアプリケーションを取得するのに使われます。
使用される構造体はprovider APIの構造体です。
update.{json,yml,yaml}¶
このファイルはシステムの更新設定を提供します。
使用される構造体はupdate APIの構造体です。