2.8 KiB
FlowerCore Apple MDM Infra
This app hosts the private NanoHUB bootstrap service for FlowerCore iPad
management at https://mdm.iamworkin.lan.
Runtime Shape
- Namespace:
fc-apple-mdm - Host:
mdm.iamworkin.lan - Image:
localhost/fc-apple-mdm-nanohub:v0.2.0-20260617 - Upstream baseline: NanoHUB
v0.2.0, published 2025-12-25 - Persistent data:
fc-apple-mdm-datamounted at/var/lib/nanohub - NanoHUB file backend root:
/var/lib/nanohub/db - Runtime secret:
OnePasswordItem/fc-apple-mdm-runtime - Required secret field:
NANOHUB_API_KEY - Optional secret field:
NANOHUB_WEBHOOK_URL
NanoHUB listens on HTTP :9004 inside the pod; Traefik owns TLS using
Certificate/fc-apple-mdm-tls. The public route intentionally exposes only
/mdm, /checkin, and /version. The NanoHUB APIs under /api/v1/* stay
cluster-internal for MDM-N1 and are intended for the FlowerCore
DeviceManagement bridge.
NanoHUB Endpoints
- Device command/report and default check-in endpoint:
/mdm - Separate check-in endpoint enabled by
NANOHUB_CHECKIN=true:/checkin - Health/version endpoint:
/version - Internal NanoMDM API:
/api/v1/nanomdm/ - Internal NanoCMD API:
/api/v1/nanocmd/ - Internal KMFDDM API:
/api/v1/ddm/
NanoHUB API authentication is HTTP Basic with username nanohub and password
from NANOHUB_API_KEY.
Operator Gates
-
Create
FlowerCore Apple MDM Runtimein theIAmWorkin1Password vault with fieldNANOHUB_API_KEY. AddNANOHUB_WEBHOOK_URLonly after the DeviceManagement Nano bridge endpoint is live. -
Add or confirm
mdm.iamworkin.lan -> 10.0.56.200in FlowerCore.DNS/pfSense before cert-manager syncs the certificate. -
Mirror or build the pinned NanoHUB image, then import it on every schedulable RKE2 node:
podman pull --arch arm64 ghcr.io/micromdm/nanohub:latest@sha256:e36a50db2dc3d2bf736645e58712f622c04b05b28487390981905ef4d0be5fbd podman tag ghcr.io/micromdm/nanohub@sha256:e36a50db2dc3d2bf736645e58712f622c04b05b28487390981905ef4d0be5fbd localhost/fc-apple-mdm-nanohub:v0.2.0-20260617 podman save localhost/fc-apple-mdm-nanohub:v0.2.0-20260617 -o fc-apple-mdm-nanohub-v0.2.0-20260617.tar # copy to each RKE2 node, then: sudo ctr -n k8s.io images import fc-apple-mdm-nanohub-v0.2.0-20260617.tarIf GHCR changes or becomes unavailable, rebuild/import from
nanohub-linux-arm64-v0.2.0.zipwith SHA-256b05968322a9bc34e79169ebee28d16554046f981eaee48a12cf80899f51a9dbd. -
Sync the ArgoCD app and prove
https://mdm.iamworkin.lan/version.
Support Boundary
This MDM-N1 lane deploys the protocol substrate only. It does not create an APNs MDM push certificate, enrollment profile, SCEP/device identity service, managed Wi-Fi payload, managed app install, or supervised iPad enrollment. Those stay in MDM-N2 through MDM-N8.