サービス
レシピのサービスが持つ正規フィールドは 3 つだけです。name、enabled、および開かれた
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_port | OpenSSH ポート、1–65,535 |
allow_root | PermitRootLogin に対応します |
disable_password_auth | 反転して PasswordAuthentication になります |
password_authentication | OpenSSH トークン値を直接指定します |
pubkey_authentication | OpenSSH トークン値を直接指定します |
client_alive_interval | 上限付きの ClientAliveInterval |
client_alive_attempts | 上限付きの ClientAliveCountMax |
authentication_retries | 上限付きの MaxAuthTries |
timeout | 上限付きのログイン猶予時間 |
x11_forwarding、allow_agent_forwarding、allow_tcp_forwarding | OpenSSH トークン値を直接指定します |
authorized_keys | 対応している場合、指定した公開鍵をインストールします |
ワーカー固有のパスは、より小さい集合のみをサポートすることがあります。特に、ハードウェア、 Proxmox、Raspberry Pi のビルダーには独自のアダプターがあります。選択したターゲットについて、 正規化されたレシピとビルド警告を確認してください。
パスワード認証を無効にする場合は、ハードウェアへデプロイする前に、有効な公開鍵を 少なくとも 1 つ含め、独立してテストしてください。秘密鍵やパスワードをレシピの サービス構成に置かないでください。
その他のサービス
nginx、wireguard、DNS、DHCP、ファイアウォール部品などの名前は、汎用の構成 API ではありません。
パッケージと構成は、選択したベースに対応する機能、フック、パッケージ一覧、または起動スクリプトから来ます。
config.sites のような任意のオブジェクトはスキーマに受け入れられても無視されることがあります。
次の順序を使ってください。
- ベース イメージを選び、具体的な機能またはパッケージを有効にします。
- その能力向けに実装されている構成キーだけを追加します。
- 正規化されたレシピと生成された警告を確認します。
- パッケージの存在、サービスの有効化、リスナー ポート、構成ファイル、 アプリケーション レベルの応答についてアサーションを追加します。
- ハードウェアまたは本番への昇格の前に、成果物を起動してテストします。