Nagient is split into a narrow control surface and a centralized release/update model.
nagient.app wires settings and service objects.nagient.application.services contains use-cases such as health checks and update discovery.nagient.domain owns release entities and semantic version comparison.nagient.infrastructure handles manifests, registry loading, runtime heartbeat writing, and file transport.nagient.migrations plans ordered upgrade steps from release metadata.The update center has two primary JSON documents:
channels/<channel>.json points to the latest release manifest for a channel.manifests/<version>.json describes Docker image, installers, deployment assets, migration steps, and release notices.This contract is the shared source for shell installers, PowerShell installers, the CLI, and any future notification channel.
Tagging vX.Y.Z should produce:
dist/.docker.io/<namespace>/<image>:X.Y.Z.<update-base-url>/X.Y.Z/.<update-base-url>/manifests/X.Y.Z.json.<update-base-url>/channels/stable.json.