Skip to Content
Building Osサービス

サービス

レシピのサービスが持つ正規フィールドは 3 つだけです。nameenabled、および開かれた config オブジェクトです。形状は構造的に検証されますが、構成キーが効果を持つのは、 選択したビルド ワーカーまたは機能フックがそれを実装している場合のみです。検証は、 デーモンがインストールされたことや構成されたことを証明するものではありません。

{ "services": [ { "name": "ssh", "enabled": true, "config": { "port": 2222, "allow_root": false, "disable_password_auth": true, "authorized_keys": ["ssh-ed25519 AAAA... operator@example"] } } ] }

SSH の構成

一般的な Linux ビルド パスは、次の SSH 設定を認識します。

レシピ キー効果
port または listen_portOpenSSH ポート、1–65,535
allow_rootPermitRootLogin に対応します
disable_password_auth反転して PasswordAuthentication になります
password_authenticationOpenSSH トークン値を直接指定します
pubkey_authenticationOpenSSH トークン値を直接指定します
client_alive_interval上限付きの ClientAliveInterval
client_alive_attempts上限付きの ClientAliveCountMax
authentication_retries上限付きの MaxAuthTries
timeout上限付きのログイン猶予時間
x11_forwardingallow_agent_forwardingallow_tcp_forwardingOpenSSH トークン値を直接指定します
authorized_keys対応している場合、指定した公開鍵をインストールします

ワーカー固有のパスは、より小さい集合のみをサポートすることがあります。特に、ハードウェア、 Proxmox、Raspberry Pi のビルダーには独自のアダプターがあります。選択したターゲットについて、 正規化されたレシピとビルド警告を確認してください。

パスワード認証を無効にする場合は、ハードウェアへデプロイする前に、有効な公開鍵を 少なくとも 1 つ含め、独立してテストしてください。秘密鍵やパスワードをレシピの サービス構成に置かないでください。

その他のサービス

nginxwireguard、DNS、DHCP、ファイアウォール部品などの名前は、汎用の構成 API ではありません。 パッケージと構成は、選択したベースに対応する機能、フック、パッケージ一覧、または起動スクリプトから来ます。 config.sites のような任意のオブジェクトはスキーマに受け入れられても無視されることがあります。

次の順序を使ってください。

  1. ベース イメージを選び、具体的な機能またはパッケージを有効にします。
  2. その能力向けに実装されている構成キーだけを追加します。
  3. 正規化されたレシピと生成された警告を確認します。
  4. パッケージの存在、サービスの有効化、リスナー ポート、構成ファイル、 アプリケーション レベルの応答についてアサーションを追加します。
  5. ハードウェアまたは本番への昇格の前に、成果物を起動してテストします。

機能起動スクリプトアサーションの種類 を参照してください。