コンテンツにスキップ

変更する前に、何が変わるかを見える構成管理。

Sinter は SSH 経由で Linux の構成を plan・apply・audit する単一の Rust バイナリです。

1 バイナリ · エージェント不要 · Plan / Apply / Audit · SSH

動作を見る

sinter — web01
$ sinter validate recipe.yaml
ok: 3 resource(s), 0 handler(s), 0 var(s)

$ sinter plan --host web01 recipe.yaml
== Sinter PLAN ==
target facts: hostname=web01 os=Ubuntu family=debian version=24.04 arch=x86_64

CHANGED  hello [file]
    current: absent
    desired: 18 bytes
ok    vim [package] package already in desired state
ok    sshd [service] service already matches desired state

summary: 1 changed, 0 possible, 0 failed, 0 indeterminate, 3 total
status: success

$ sinter apply --host web01 --sudo recipe.yaml
== Sinter APPLY ==

CHANGED  hello [file]
ok    vim [package] package already in desired state
ok    sshd [service] service already matches desired state

summary: 1 changed, 0 possible, 0 failed, 0 indeterminate, 3 total
status: success

$ sinter audit --host web01 recipe.yaml
== Sinter AUDIT ==
PASS hello [file]
    reason: file matches desired state
PASS vim [package]
    reason: package already in desired state
PASS sshd [service]
    reason: service matches desired state
summary: 3 total, 3 compliant, 0 drifted, 0 not_auditable, 0 not_applicable, 0 errors
status: no_drift

Ubuntu 24.04 ホストでの実際の出力 — validate、plan、apply、audit。

3 つのコマンド、1 つのループ。

  1. PLAN読み取り専用

    ターゲットを観測し、何が変わるかを正確に報告します — 何も変更しません。

  2. APPLY明示的な変更

    宣言された状態へターゲットを収束させ、最初のエラーで fail-fast します。

  3. AUDIT読み取り専用

    実際の状態とレシピを比較し、準拠またはドリフトを報告します。

レシピは YAML だけ

状態を宣言するだけ。観測と収束は Sinter が処理します — 管理対象ホストにエージェントもランタイムも不要。

レシピ形式リファレンス

version: 1
resources:
  - id: hello
    type: file
    with:
      path: /home/ops/hello.txt
      content: "hello from sinter\n"
      mode: "0644"
  - id: vim
    type: package
    with:
      name: vim
      state: present
  - id: sshd
    type: service
    with:
      name: ssh.service
      state: running

Sinter の仕組み

  1. Recipe望ましい状態 · YAML
  2. 読み込み
  3. Sinter単一バイナリ · 手元のマシンで動作
  4. SSH観測収束 (apply のみ)
  5. Linux targetエージェント不要 · デーモンなし
  • PLAN読み取り専用プレビュー
  • APPLY明示的な変更
  • AUDITPASS / DRIFT レポート

Sinter はレシピを読み込み、SSH 経由でターゲットを観測し、報告または収束します。ターゲットに常駐するものはありません。

フェイルクローズ設計

  • 厳格な SSH ホスト鍵検証 — 未知・不一致の鍵は拒否し、確認プロンプトに頼りません。
  • 不安全なパスや予期しないシンボリックリンクは推測せず実行を停止します。
  • ファイルは原子的に公開 — 中途半端な状態の設定を残しません。
  • 失敗と不確定状態は隠さず正直に報告します。

実行モデル

AI 連携

2 つの独立した仕組み: ひとつは AI がこのドキュメントを読むため、もうひとつは AI が制限された Sinter 機能を使うため。

Website WebMCP

AI → Sinter ドキュメント。ブラウザ側 Site Tools がエージェントに Sinter ドキュメントの参照を提供します — 読み取り専用、ドキュメントのみ。

AI に質問する

Sinter は Rocky Linux 10 をサポートしていますか?

AI はドキュメントを参照する

sinter_get_compatibility

Sinter のドキュメントから回答

はい。x86_64 の Rocky Linux 10 は dnf バックエンドでサポートされ、受け入れテスト済みです。

Website WebMCP の仕組み

Core MCP

AI → 制限された Sinter 機能。任意の SSH 権限は渡しません。

AI clientsinter mcpnamed targetPLAN / AUDIT
  • レシピの検証と検査
  • 提供されたファクトに対する計画
  • 管理者が定義した名前付きターゲットの列挙
  • それらのターゲットへの読み取り専用 plan/audit

名前付きターゲットのみ · 読み取り専用 Plan/Audit · Apply なし · 任意の SSH・コマンド実行なし

対応プラットフォーム

Ubuntu 24.04 & 26.04 · Rocky Linux 9 & 10 · RHEL 9 & 10 · AlmaLinux 9 & 10

amd64/x86_64 — サポート対象・受け入れテスト済み

Oracle Linux (x86_64, dnf) は互換見込みですが受け入れテストは未実施です。

互換性マトリックス全文

インストール

curl -fsSL https://sinter.fulltrust.co.jp/install.sh | sh

Linux x86_64。インストーラはバイナリ配置前にチェックサムとバージョンを検証します。

インストールガイド

ドキュメント

ガイド、概念、レシピ形式、完全なリソースリファレンス。