deytenit c5b61a3294 fix: exclude commons/ from dclint --fix to prevent submodule dirtying
In node repos the shared core compose lives inside the pinned commons
submodule; letting dclint rewrite it dirties the submodule, which makes
sync/repository abort the nightly capture-up. Harmless in the standalone
commons repo (no commons/ dir).
2026-07-05 11:20:25 +03:00

apex.ermnvldmr.com

The commons of the apex fleet: a stock-python engine (apex <group>/<action>) and the shared core docker-compose, consumed by every node as the commons/ git submodule.

Layout

  • apex — launcher (python3, stdlib only); node init.sh symlinks it onto PATH.
  • engine/ — the runner: CLI, identity, overlay, context, and the ctx.* helper library.
  • actions/ — grouped actions; the path IS the name (configure/ufw, tiers/link, …).
  • compositions/apex/docker-compose.yml — the shared, ${env}-parameterized core compose.
  • vendor/ — pinned pure-python third-party (empty; see vendor/VENDORED.md).
  • source/ — independent containerized tools (happ subscription generator).
  • tests/ — stdlib unittest suite (tests/run.sh).

Usage (on a node)

apex acts on the local checkout — no <node> argument. Identity comes from the host FQDN (<node>.a<x>.apex.ermnvldmr.com) and node.env.

  • apex / apex --help — list actions
  • apex configure/ufw — render + apply this node's ufw config
  • apex configure — run every configure/* in order
  • apex compose up — bring up the node's compositions

Constraints

git + python3 stdlib only. No pip/Node/Go/CUE. Composes are hand-authored (no codegen).

License

MIT (see LICENSE).

S
Description
No description provided
Readme BSD-2-Clause
3.1 MiB
0 Stars 1 Watchers 0 Forks
Languages
Python 99.6%
Shell 0.2%
Makefile 0.2%