コンテンツにスキップ
Rust · API-First · 単一バイナリ

自信を持って
サービスを動かす

再起動・起動順・ヘルスチェック・OTA を扱う軽量プロセスマネージャ。プログラムは TOML または REST で定義。

Super がサービススタックをオーケストレーション
依存順でサービススタックが起動 — 上流のヘルスチェック通過後に依存先が起動します。
機能

バイナリはひとつ。
ランタイム依存はゼロ。

本番でサービスを動かし、監視し、復旧するために必要なもの。

ライフサイクルフック

pre_start / post_start / post_stop でシェルを実行 — 環境準備、通知、クリーンアップ。

Hooks →

イベントフック

process_fatal などのシステムイベントにローカルスクリプトで反応 — Supervisor 風、API 駆動。

Events →

自動復旧

Supervisor 互換の autorestartexitcodesstartsecs — 移行しやすい。

vs Supervisor →

Cron スケジュール

cron 式でプログラムを実行。外部スケジューラや crontab は不要。

Scheduling →

HTTP 運用

CLI・スクリプト・遠隔操作用の単一 REST API。プラグインで Bearer 認証を追加可能。

API →

ライブログ

WebSocket でリアルタイムにログを配信。どこからでも監視。

Logging →

公式プラグイン 商用

Get Super Pro

すべてのユーザーが同じ superd バイナリを使用。商用機能は署名済みプラグインとして提供 — 認可された plugins/*.so$SUPER_ROOT に配置し、conf/super.toml に有効な [license].key を追加。ライセンスに列挙されたプラグインのみランタイムでロードされます。

1
ライセンスを設定
サブスクリプション交付パッケージのファイルを $SUPER_ROOT/plugins/ にコピー
2
プラグインファイルを配置
サブスクリプション交付パッケージのファイルを $SUPER_ROOT/plugins/ にコピー
3
superd を再起動
サブスクリプション交付パッケージのファイルを $SUPER_ROOT/plugins/ にコピー

セキュリティとガバナンス

plugins/security.so
  • API ルートの Bearer トークン認証
  • RBAC — admin / operator / viewer
  • 不変の操作監査ログ

イベント通知

plugins/notify.so
  • Webhook — Slack、钉钉、飞书、カスタム URL
  • process_fatal 等のシステムイベントをプッシュ
  • conf/notify.toml のホットリロード

リソース分離

plugins/isolation.so
  • cgroups v2 による CPU/メモリ上限
  • プロセス再起動なしで上限をホット更新
  • CLI --cpu / --memory の強制

Linux のみ — macOS / Windows / FreeBSD では利用不可。

Web ダッシュボード

plugins/ui.so
  • UI プラグインが提供するブラウザコンソール
  • プロセス概要、ライブログ、起動/停止
  • 他プラグインと連携した License / メトリクス

1つのサブスクリプションで公式プラグインすべて(security、Dashboard、通知、Linux isolation)。購入は Get Super Pro機能マトリクスで OSS との比較を参照。

開発者体験

API ファースト。
すべての操作は HTTP 呼び出し。

CLI も同じエンドポイントを使います。スクリプトや CI で運用し、WebSocket でログを流す。専用 SDK は不要。

  • プログラム・スタック・システム設定の CRUD
  • リアルタイム WebSocket ログ
  • Prometheus メトリクス /metrics
  • enable_docs = true 時の Swagger UI
API リファレンス →
~/project/super-demo
# 3 回の呼び出しで作成して起動
curl -X POST http://127.0.0.1:9002/api/v1/programs \
  -H "Content-Type: application/json" \
  -d '{
    "name": "api-server",
    "command": "./app",
    "depends_on": ["postgres", "redis"],
    "health_check": {
      "type": "http",
      "url": "http://127.0.0.1:8080/health"
    }
  }'
# 起動してストリーム
curl -X POST http://127.0.0.1:9002/api/v1/programs/{id}/start
ws://127.0.0.1:9002/ws

いつでも始められます。

バイナリを入手し、スタックを定義すれば、数分でサービスが動きます。