feat(device-core): ship host telemetry and scalable VPS inventory

This commit is contained in:
DCCONSTRUCTIONS
2026-08-23 11:58:58 +03:00
parent 5d58dd6c37
commit ebc264eb60
13 changed files with 1983 additions and 439 deletions
@@ -0,0 +1,45 @@
{
"schemaVersion": "nodedc.device-plane.device-control-core-release.v4",
"releaseId": "__PATCH_ID__",
"action": "upgrade",
"predecessor": {
"kind": "migration-replay-checkpoint-recovery",
"patchId": "device-control-core-migration-replay-checkpoint-recovery-20260822-046",
"artifactSha256": "46000c76977fb583fc7c9cf74ecf624efd8b404f7b8d0322e0270e7b8ac6e450"
},
"service": "device-control-core",
"composeActivation": "preserve-active-v4-topology",
"identity": "reuse-existing-runner-managed-host-local-private-key-public-certificate-export",
"identityRecovery": "forbidden-valid-existing-identity-required",
"tlsPurpose": "clientAuth",
"direction": "core-initiated",
"endpointPolicy": "public-ipv4-standard-https-tcp-443-only",
"coreNetworks": [
"device-plane-private",
"device-plane-egress"
],
"publicIngress": "none-on-synology",
"edgeRegistrations": "preserved",
"commandTransport": "typed-service-ping-v1",
"commandCatalog": "allowlisted-adapter-typed-commands-only",
"credentialBoundary": "transient-core-memory-then-single-pinned-mtls-command-envelope-to-edge-never-persisted-never-logged-never-returned",
"telemetryTransport": "edge-channel-host-telemetry-observed-v1",
"telemetryContract": "nodedc.infrastructure.host-telemetry.v1",
"telemetryStorage": "device-control-core-postgres-seven-day-retention",
"ontologyProjection": "observation-observed-property-provenance-freshness-v1",
"telemetryFreshness": "fifteen-seconds-missing-stale-not-unhealthy",
"recoveryPredecessor": "terminal-applied-046-exact-source-runtime-database",
"databasePreflight": "final-migration-016-validated-and-host-telemetry-table-absent",
"databaseRowMutation": "none-before-core-startup-migrations",
"databaseSchemaOutcome": "migration-017-host-telemetry-table-present",
"runtimePredecessor": "healthy-recovery-046-core-generation",
"gelios": "untouched-legacy-only",
"preservedServices": [
"device-manager",
"device-gateway",
"device-postgres",
"device-backhaul-target"
],
"healthGate": "bounded-container-grace+core-edge-contract+exact-private-egress-network-boundary",
"rollback": "restore-preapply-source-and-core-runtime"
}
@@ -0,0 +1,56 @@
{
"schemaVersion": "nodedc.device-plane.device-manager-release.v10",
"releaseId": "__PATCH_ID__",
"action": "upgrade",
"predecessor": {
"kind": "release",
"patchId": "device-manager-release-v8-20260822-039",
"artifactSha256": "30a83d4c6b5c029c96c4af19fa558e0ae75e4b60bc897881457304bd17e0e465"
},
"controlCorePredecessor": {
"patchId": "device-control-core-release-v4-20260823-047",
"artifactSha256": "4aecceeb8d400fdd3dbec8fc86b151691f389d165e72677f396f8994823b6b5c"
},
"edgeChannelPredecessor": {
"patchId": "device-edge-core-channel-upgrade-v4-20260812-023",
"artifactSha256": "c10d5b6b7d55ab239f85b6c8130e34ce9f84985e3b46e6e5534733156c7982fc"
},
"service": "device-manager",
"publicIngress": "reverse-proxy-only",
"deviceCoreManagementApi": "file-token-authenticated",
"launcherTrust": "file-token-scoped-to-device-core-handoff",
"edgeChannel": "preserve-active-v4-core-initiated-pinned-mtls",
"edgeChannelIdentity": "reuse-runner-managed-host-local-private-key-public-certificate-export",
"edgeChannelEgress": "preserve-dedicated-core-only-bridge-no-host-ingress-public-ipv4-tcp-443-only",
"healthGate": "bounded-container-grace+core-contract+persistent-data",
"commandTransport": "typed-service-ping-v1",
"commandCatalog": "allowlisted-adapter-typed-commands-only",
"credentialBoundary": "transient-core-memory-then-single-pinned-mtls-command-envelope-to-edge-never-persisted-never-logged-never-returned",
"presentationPersistence": "runner-managed-host-data-bind",
"presentationDataHostPath": "/volume1/docker/nodedc-device-plane/data/device-manager",
"presentationDataContainerPath": "/var/lib/nodedc-device-manager",
"presentationDataOwnership": "uid-1000-gid-1000-mode-0750",
"presentationDataLifecycle": "preserve-across-manager-recreate-and-source-rollback",
"presentationPath": "/var/lib/nodedc-device-manager/device-manager-presentation.json",
"mediaRoot": "/var/lib/nodedc-device-manager/media",
"defaultAccentHex": "#f5f5f5",
"overviewLayout": "mission-core-landing-stage-v1",
"faviconSet": "nodedc-adaptive-v1",
"commandFormLayout": "aligned-control-row-v1",
"secondaryEmptyTypography": "help-text-sm-v1",
"infrastructureHostProjection": "ontology-backed-host-runtime-v1",
"ontologyFoundation": "ontology-core-device-foundation-20260822-001",
"ontologyCatalogHash": "229c61c02a790906",
"assetBinding": "temporal-device-asset-binding-v1",
"infrastructureRuntime": "host-endpoint-deployment-service-instance-v1",
"healthEvidence": "ttl-observation-missing-not-unhealthy-v1",
"telemetryWorkspace": "mission-core-compute-module-parity-v1",
"telemetryNavigation": "full-workspace-back-navigation-v1",
"telemetryPollInterval": "three-seconds",
"telemetryFreshness": "fifteen-seconds-missing-stale-not-unhealthy",
"telemetryOntologyProjection": "observation-observed-property-provenance-freshness-v1",
"telemetryAgent": "telegraf-host-observer-v1",
"interactiveShell": "disabled-pending-managed-session-boundary",
"gelios": "untouched-legacy-only",
"rollback": "restore-preapply-snapshot-preserve-manager-data"
}
@@ -0,0 +1,63 @@
{
"schemaVersion": "nodedc.device-plane.device-manager-release.v11",
"releaseId": "__PATCH_ID__",
"action": "upgrade",
"predecessor": {
"kind": "release",
"patchId": "device-manager-release-v10-20260823-048",
"artifactSha256": "e6b983a314db4f8c27d89062dfedf5ed0523cc30421170799d181a19e2d85d4c"
},
"controlCorePredecessor": {
"patchId": "device-control-core-release-v4-20260823-047",
"artifactSha256": "4aecceeb8d400fdd3dbec8fc86b151691f389d165e72677f396f8994823b6b5c"
},
"edgeChannelPredecessor": {
"patchId": "device-edge-core-channel-upgrade-v4-20260812-023",
"artifactSha256": "c10d5b6b7d55ab239f85b6c8130e34ce9f84985e3b46e6e5534733156c7982fc"
},
"service": "device-manager",
"publicIngress": "reverse-proxy-only",
"deviceCoreManagementApi": "file-token-authenticated",
"launcherTrust": "file-token-scoped-to-device-core-handoff",
"edgeChannel": "preserve-active-v4-core-initiated-pinned-mtls",
"edgeChannelIdentity": "reuse-runner-managed-host-local-private-key-public-certificate-export",
"edgeChannelEgress": "preserve-dedicated-core-only-bridge-no-host-ingress-public-ipv4-tcp-443-only",
"healthGate": "bounded-container-grace+core-contract+persistent-data",
"commandTransport": "typed-service-ping-v1",
"commandCatalog": "allowlisted-adapter-typed-commands-only",
"credentialBoundary": "transient-core-memory-then-single-pinned-mtls-command-envelope-to-edge-never-persisted-never-logged-never-returned",
"presentationPersistence": "runner-managed-host-data-bind",
"presentationDataHostPath": "/volume1/docker/nodedc-device-plane/data/device-manager",
"presentationDataContainerPath": "/var/lib/nodedc-device-manager",
"presentationDataOwnership": "uid-1000-gid-1000-mode-0750",
"presentationDataLifecycle": "preserve-across-manager-recreate-and-source-rollback",
"presentationPath": "/var/lib/nodedc-device-manager/device-manager-presentation.json",
"mediaRoot": "/var/lib/nodedc-device-manager/media",
"defaultAccentHex": "#f5f5f5",
"overviewLayout": "mission-core-landing-stage-v1",
"faviconSet": "nodedc-adaptive-v1",
"commandFormLayout": "aligned-control-row-v1",
"secondaryEmptyTypography": "help-text-sm-v1",
"infrastructureHostProjection": "ontology-backed-host-runtime-v1",
"ontologyFoundation": "ontology-core-device-foundation-20260822-001",
"ontologyCatalogHash": "229c61c02a790906",
"assetBinding": "temporal-device-asset-binding-v1",
"infrastructureRuntime": "host-endpoint-deployment-service-instance-v1",
"healthEvidence": "ttl-observation-missing-not-unhealthy-v1",
"designSystem": "nodedc-canonical-components-and-tokens-v1",
"missionCoreReference": "compute-modules-workspace-71c8b04",
"infrastructureWorkspaceLayout": "mission-core-system-workspace-v1",
"hostInventoryComposition": "mission-core-compute-host-list-v1",
"telemetryWorkspace": "mission-core-compute-module-visual-parity-v2",
"telemetrySurface": "borderless-soft-surface-v1",
"telemetryStatus": "mission-core-dot-status-v1",
"telemetryNavigation": "full-workspace-back-navigation-v1",
"telemetryScroll": "reset-on-workspace-transition-v1",
"telemetryPollInterval": "three-seconds",
"telemetryFreshness": "fifteen-seconds-missing-stale-not-unhealthy",
"telemetryOntologyProjection": "observation-observed-property-provenance-freshness-v1",
"telemetryAgent": "telegraf-host-observer-v1",
"interactiveShell": "disabled-pending-managed-session-boundary",
"gelios": "untouched-legacy-only",
"rollback": "restore-preapply-snapshot-preserve-manager-data"
}
@@ -0,0 +1,67 @@
{
"schemaVersion": "nodedc.device-plane.device-manager-release.v12",
"releaseId": "__PATCH_ID__",
"action": "upgrade",
"predecessor": {
"kind": "release",
"patchId": "device-manager-release-v11-20260823-049",
"artifactSha256": "c1e2056b50bfbb0d03d077461d0c27cc56cc52967c3f5620be14871c8a6d5cf0"
},
"controlCorePredecessor": {
"patchId": "device-control-core-release-v4-20260823-047",
"artifactSha256": "4aecceeb8d400fdd3dbec8fc86b151691f389d165e72677f396f8994823b6b5c"
},
"edgeChannelPredecessor": {
"patchId": "device-edge-core-channel-upgrade-v4-20260812-023",
"artifactSha256": "c10d5b6b7d55ab239f85b6c8130e34ce9f84985e3b46e6e5534733156c7982fc"
},
"service": "device-manager",
"publicIngress": "reverse-proxy-only",
"deviceCoreManagementApi": "file-token-authenticated",
"launcherTrust": "file-token-scoped-to-device-core-handoff",
"edgeChannel": "preserve-active-v4-core-initiated-pinned-mtls",
"edgeChannelIdentity": "reuse-runner-managed-host-local-private-key-public-certificate-export",
"edgeChannelEgress": "preserve-dedicated-core-only-bridge-no-host-ingress-public-ipv4-tcp-443-only",
"healthGate": "bounded-container-grace+core-contract+persistent-data",
"commandTransport": "typed-service-ping-v1",
"commandCatalog": "allowlisted-adapter-typed-commands-only",
"credentialBoundary": "transient-core-memory-then-single-pinned-mtls-command-envelope-to-edge-never-persisted-never-logged-never-returned",
"presentationPersistence": "runner-managed-host-data-bind",
"presentationDataHostPath": "/volume1/docker/nodedc-device-plane/data/device-manager",
"presentationDataContainerPath": "/var/lib/nodedc-device-manager",
"presentationDataOwnership": "uid-1000-gid-1000-mode-0750",
"presentationDataLifecycle": "preserve-across-manager-recreate-and-source-rollback",
"presentationPath": "/var/lib/nodedc-device-manager/device-manager-presentation.json",
"mediaRoot": "/var/lib/nodedc-device-manager/media",
"defaultAccentHex": "#f5f5f5",
"overviewLayout": "mission-core-landing-stage-v1",
"faviconSet": "nodedc-adaptive-v1",
"commandFormLayout": "aligned-control-row-v1",
"secondaryEmptyTypography": "help-text-sm-v1",
"infrastructureHostProjection": "ontology-backed-host-runtime-v1",
"ontologyFoundation": "ontology-core-device-foundation-20260822-001",
"ontologyCatalogHash": "229c61c02a790906",
"assetBinding": "temporal-device-asset-binding-v1",
"infrastructureRuntime": "host-endpoint-deployment-service-instance-v1",
"healthEvidence": "ttl-observation-missing-not-unhealthy-v1",
"designSystem": "nodedc-canonical-components-and-tokens-v1",
"missionCoreReference": "compute-modules-workspace-71c8b04",
"infrastructureWorkspaceLayout": "mission-core-system-workspace-v1",
"hostInventoryComposition": "mission-core-compute-host-list-v1",
"telemetryWorkspace": "mission-core-compute-module-adaptive-window-v3",
"telemetrySurface": "borderless-soft-surface-v1",
"telemetryStatus": "mission-core-dot-status-v1",
"telemetryNavigation": "full-workspace-back-navigation-v1",
"telemetryScroll": "reset-on-workspace-transition-v1",
"telemetryPollInterval": "three-seconds",
"telemetryFreshness": "fifteen-seconds-missing-stale-not-unhealthy",
"telemetryOntologyProjection": "observation-observed-property-provenance-freshness-v1",
"telemetryAgent": "telegraf-host-observer-v1",
"telemetryGraphScale": "adaptive-observed-window-explicit-domain-v1",
"telemetryCpuMinimumSpan": "five-percentage-points",
"telemetryMemoryMinimumSpan": "four-percentage-points",
"telemetryNetworkMissingSemantics": "missing-counters-never-zero-v1",
"interactiveShell": "disabled-pending-managed-session-boundary",
"gelios": "untouched-legacy-only",
"rollback": "restore-preapply-snapshot-preserve-manager-data"
}
@@ -0,0 +1,74 @@
{
"schemaVersion": "nodedc.device-plane.device-manager-release.v13",
"releaseId": "__PATCH_ID__",
"action": "upgrade",
"predecessor": {
"kind": "release",
"patchId": "device-manager-release-v12-20260823-050",
"artifactSha256": "1a49839140e5f2e49763d78f24ee47d946e244bcfde15a9c38266e8bd14c0d49"
},
"controlCorePredecessor": {
"patchId": "device-control-core-release-v4-20260823-047",
"artifactSha256": "4aecceeb8d400fdd3dbec8fc86b151691f389d165e72677f396f8994823b6b5c"
},
"edgeChannelPredecessor": {
"patchId": "device-edge-core-channel-upgrade-v4-20260812-023",
"artifactSha256": "c10d5b6b7d55ab239f85b6c8130e34ce9f84985e3b46e6e5534733156c7982fc"
},
"service": "device-manager",
"publicIngress": "reverse-proxy-only",
"deviceCoreManagementApi": "file-token-authenticated",
"launcherTrust": "file-token-scoped-to-device-core-handoff",
"edgeChannel": "preserve-active-v4-core-initiated-pinned-mtls",
"edgeChannelIdentity": "reuse-runner-managed-host-local-private-key-public-certificate-export",
"edgeChannelEgress": "preserve-dedicated-core-only-bridge-no-host-ingress-public-ipv4-tcp-443-only",
"healthGate": "bounded-container-grace+core-contract+persistent-data",
"commandTransport": "typed-service-ping-v1",
"commandCatalog": "allowlisted-adapter-typed-commands-only",
"credentialBoundary": "transient-core-memory-then-single-pinned-mtls-command-envelope-to-edge-never-persisted-never-logged-never-returned",
"presentationPersistence": "runner-managed-host-data-bind",
"presentationDataHostPath": "/volume1/docker/nodedc-device-plane/data/device-manager",
"presentationDataContainerPath": "/var/lib/nodedc-device-manager",
"presentationDataOwnership": "uid-1000-gid-1000-mode-0750",
"presentationDataLifecycle": "preserve-across-manager-recreate-and-source-rollback",
"presentationPath": "/var/lib/nodedc-device-manager/device-manager-presentation.json",
"mediaRoot": "/var/lib/nodedc-device-manager/media",
"defaultAccentHex": "#f5f5f5",
"overviewLayout": "mission-core-landing-stage-v1",
"faviconSet": "nodedc-adaptive-v1",
"commandFormLayout": "aligned-control-row-v1",
"secondaryEmptyTypography": "help-text-sm-v1",
"infrastructureHostProjection": "ontology-backed-host-runtime-v1",
"ontologyFoundation": "ontology-core-device-foundation-20260822-001",
"ontologyCatalogHash": "229c61c02a790906",
"assetBinding": "temporal-device-asset-binding-v1",
"infrastructureRuntime": "host-endpoint-deployment-service-instance-v1",
"healthEvidence": "ttl-observation-missing-not-unhealthy-v1",
"designSystem": "nodedc-canonical-components-and-tokens-v1",
"missionCoreReference": "compute-modules-workspace-71c8b04",
"infrastructureWorkspaceLayout": "mission-core-system-workspace-v2",
"hostInventoryComposition": "mission-core-compute-host-accordion-v2",
"hostInventoryOverviewSurface": "separate-summary-soft-surface-v1",
"hostInventoryCollectionSurface": "separate-host-collection-soft-surface-v1",
"hostInventoryRow": "compact-centered-accordion-v1",
"hostInventoryFreshness": "dot-only-v1",
"hostInventoryRelations": "host-scoped-endpoint-deployment-service-v1",
"hostInventoryDefaultExpansion": "collapsed",
"hostInventoryScaleTarget": "five-hundred-collapsed-rows-v1",
"telemetryWorkspace": "mission-core-compute-module-adaptive-window-v3",
"telemetrySurface": "borderless-soft-surface-v1",
"telemetryStatus": "mission-core-dot-status-v1",
"telemetryNavigation": "full-workspace-back-navigation-v1",
"telemetryScroll": "reset-on-workspace-transition-v1",
"telemetryPollInterval": "three-seconds",
"telemetryFreshness": "fifteen-seconds-missing-stale-not-unhealthy",
"telemetryOntologyProjection": "observation-observed-property-provenance-freshness-v1",
"telemetryAgent": "telegraf-host-observer-v1",
"telemetryGraphScale": "adaptive-observed-window-explicit-domain-v1",
"telemetryCpuMinimumSpan": "five-percentage-points",
"telemetryMemoryMinimumSpan": "four-percentage-points",
"telemetryNetworkMissingSemantics": "missing-counters-never-zero-v1",
"interactiveShell": "disabled-pending-managed-session-boundary",
"gelios": "untouched-legacy-only",
"rollback": "restore-preapply-snapshot-preserve-manager-data"
}