変更する前に、何が変わるかを見える構成管理。
Sinter は SSH 経由で Linux の構成を plan・apply・audit する単一の Rust バイナリです。
1 バイナリ · エージェント不要 · Plan / Apply / Audit · SSH
動作を見る
$ 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_driftUbuntu 24.04 ホストでの実際の出力 — validate、plan、apply、audit。
3 つのコマンド、1 つのループ。
- PLAN読み取り専用
ターゲットを観測し、何が変わるかを正確に報告します — 何も変更しません。
- APPLY明示的な変更
宣言された状態へターゲットを収束させ、最初のエラーで fail-fast します。
- AUDIT読み取り専用
実際の状態とレシピを比較し、準拠またはドリフトを報告します。
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: runningSinter の仕組み
- Recipe望ましい状態 · YAML
- 読み込み
- Sinter単一バイナリ · 手元のマシンで動作
- SSH←観測収束 (apply のみ)→
- Linux targetエージェント不要 · デーモンなし
- PLAN読み取り専用プレビュー
- APPLY明示的な変更
- AUDITPASS / DRIFT レポート
Sinter はレシピを読み込み、SSH 経由でターゲットを観測し、報告または収束します。ターゲットに常駐するものはありません。
フェイルクローズ設計
- 厳格な SSH ホスト鍵検証 — 未知・不一致の鍵は拒否し、確認プロンプトに頼りません。
- 不安全なパスや予期しないシンボリックリンクは推測せず実行を停止します。
- ファイルは原子的に公開 — 中途半端な状態の設定を残しません。
- 失敗と不確定状態は隠さず正直に報告します。
AI 連携
2 つの独立した仕組み: ひとつは AI がこのドキュメントを読むため、もうひとつは AI が制限された Sinter 機能を使うため。
Website WebMCP
AI → Sinter ドキュメント。ブラウザ側 Site Tools がエージェントに Sinter ドキュメントの参照を提供します — 読み取り専用、ドキュメントのみ。
Sinter は Rocky Linux 10 をサポートしていますか?
sinter_get_compatibility
はい。x86_64 の Rocky Linux 10 は dnf バックエンドでサポートされ、受け入れテスト済みです。
Core MCP
AI → 制限された Sinter 機能。任意の SSH 権限は渡しません。
sinter 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 | shLinux x86_64。インストーラはバイナリ配置前にチェックサムとバージョンを検証します。
ドキュメント
ガイド、概念、レシピ形式、完全なリソースリファレンス。