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-plane or component=device-edge-vps;
  • runtime databases, volumes, secrets, mTLS identity and edge registrations are preserved and are never stored in Git;
  • the root-owned nodedc-deploy runner and component registry remain owned by NODEDC_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.

S
Description
No description provided
Readme
723 KiB
Languages
JavaScript 56.1%
Python 24.8%
TypeScript 13.1%
PLpgSQL 4%
CSS 1.8%
Other 0.1%