2.6 KiB
NODE.DC Device Core
Device Core is the product-owned source repository for the universal NODE.DC
device control plane. It owns the Device Manager UI/BFF, provider-neutral
device runtime, adapters, edge channel, deployment descriptors and canonical
artifact builders for the device-plane and device-edge-vps components.
The repository boundary does not change the production boundary:
- Synology live root remains
/volume1/docker/nodedc-device-plane; - Compose project remains
nodedc-device-plane; - deploy artifacts keep
component=device-planeorcomponent=device-edge-vps; - runtime databases, volumes, secrets, mTLS identity and edge registrations are preserved and are never stored in Git;
- the root-owned
nodedc-deployrunner and component registry remain owned byNODEDC_PLATFORM; - Hub/Authentik authorization, Launcher service grants and the platform public
reverse-proxy route remain owned by
NODEDC_PLATFORM; - the shared UI canon remains owned by
NODEDC_DESIGN_GUIDELINE.
Source layout
apps/device-manager— Device Manager browser app and server-owned BFF;packages/*— protocol, adapter and edge-channel contracts;services/*— control core, gateway and edge runtimes;deployment/*— immutable release/bootstrap descriptor templates;vps/*— reviewed VPS process, firewall and systemd definitions;infra/deploy-runner/*— Device Core artifact builders and builder tests;docker-compose.*.yml— reviewed runtime topologies.
Canonical checkout topology
The Device Manager consumes the canonical UI packages directly from the sibling Design Guideline repository; their source is intentionally not copied here:
NODEDC/
├── NODEDC_DEVICE_CORE/
├── NODEDC_DESIGN_GUIDELINE/
└── platform/
Install and verify from this repository root:
npm install
npm run build
npm run typecheck
npm test
npm run test:deploy validates the product-owned artifact builders. The
platform runner registry is validated separately in NODEDC_PLATFORM.
Deployment ownership
Artifact builders in infra/deploy-runner emit data-only tarballs. They never
orchestrate Docker or mutate a live host. Promotion remains the established
two-step workflow:
sudo /usr/local/sbin/nodedc-deploy plan /volume1/docker/nodedc-deploy/inbox/<artifact>.tgz
sudo /usr/local/sbin/nodedc-deploy apply /volume1/docker/nodedc-deploy/inbox/<artifact>.tgz
See Repository boundary and Implementation baseline for the security, runtime and rollout constraints.