Back to list
gisikw

control-plane-guide

by gisikw

0🍴 0📅 Jan 23, 2026

SKILL.md


name: control-plane-guide description: Guide for the fort control plane - secure inter-host communication system. Use when adding capabilities to hosts, writing handlers, understanding the GC protocol, or debugging control plane issues. Triggers on questions about fort.host.capabilities, fort.host.needs, the fort CLI, handler scripts, or inter-host calls.

Fort Control Plane Guide

The fort control plane enables secure inter-host communication. Hosts expose capabilities (endpoints) that other hosts call via signed HTTP requests.

Quick Reference

Client (calling a capability):

fort <host> <capability> [request-json]  # request-json defaults to '{}'

Examples:

fort drhorrible status                    # Simple status check
fort joker journal '{"unit": "nginx"}'    # Pass JSON for params

Provider (exposing a capability):

fort.host.capabilities.my-capability = {
  handler = ./handlers/my-capability;  # Script handling requests
  needsGC = false;                     # Enable garbage collection
  ttl = 0;                             # GC time-to-live (seconds)
  description = "What this does";
};

Consumer (depending on a capability):

fort.host.needs.my-capability.my-id = {
  providers = ["hostname"];            # Host(s) providing this
  request = { key = "value"; };        # Request payload
  store = "/var/lib/myapp/response";   # Where to store response
  restart = ["myapp.service"];         # Services to restart on change
};

Key Files

PathPurpose
common/fort/control-plane.nixNix module: options and config generation
pkgs/fort/Client CLI (Bash)
pkgs/fort-provider/Server (Go FastCGI)
/etc/fort/Runtime config on hosts
/var/lib/fort/GC handles and state

Standard Capabilities

All hosts expose these:

CapabilityReturns
statusHostname, uptime, failed units, deploy info
manifestApps, aspects, roles, exposed services
needsDeclared needs (for GC enumeration)

Authentication & RBAC

  • Requests signed with SSH keys (ssh-keygen -Y sign)
  • RBAC computed at eval time from cluster topology
  • Only hosts declaring fort.host.needs for a capability can call it
  • Config: /etc/fort/hosts.json, /etc/fort/rbac.json

Detailed Documentation

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon