Skip to main content

CHP capability adapter — govern macOS launchd (LaunchAgent) services

Project description

chp-adapter-launchd

Govern macOS launchd LaunchAgent services as CHP capabilities. Built so CHP can manage its own long-running infrastructure (e.g. the TEI and vLLM Metal servers) — making them persistent across reboot and controllable through the capability host with a full evidence trail.

Capabilities

Capability Description
chp.adapters.launchd.list List CHP-managed services (scoped to the managed prefix).
chp.adapters.launchd.status Loaded/running state, pid, last exit code, plist presence.
chp.adapters.launchd.start Bootstrap if unloaded, else kickstart -k (restart).
chp.adapters.launchd.stop Bootout a loaded service.
chp.adapters.launchd.install Generate a plist from a spec, write it, and bootstrap.
chp.adapters.launchd.uninstall Bootout and remove the plist.

Safety

The adapter only manages labels matching LaunchdConfig.managed_prefix (default com.chp.) — it will refuse to touch arbitrary system services. launchctl and plist I/O are isolated in _backends.py.

Install a service (example: the TEI server)

{
  "label": "com.chp.tei",
  "program": "/opt/homebrew/bin/text-embeddings-router",
  "args": ["--model-id", "sentence-transformers/all-MiniLM-L6-v2", "--port", "8090"],
  "stdout_path": "/Users/me/.chp/logs/tei.log",
  "stderr_path": "/Users/me/.chp/logs/tei.err",
  "keep_alive": true,
  "run_at_load": true
}

Evidence policy

Emitted: label, operation, pid, returncode, plist path, environment keys, latency. Never emitted: environment variable values (may hold tokens) or plist file contents.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chp_adapter_launchd-0.10.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file chp_adapter_launchd-0.10.0-py3-none-any.whl.

File metadata

File hashes

Hashes for chp_adapter_launchd-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a306fa25f2194a4c2d9f2f62a15e8bb8b4fa243fe69336f5fe37c9d746403883
MD5 44955783d2898fcb670f2ea2eb007300
BLAKE2b-256 50ba59402820affc5f347a39da8ecc5e9f08572d736f2445af4011aaa63d9737

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page