Skip to main content

One post tagged with "NFC"

View All Tags

NFC access-control workloads on Kubernetes running in a factory

· 2 min read
Moazzem Hossen
building edge - an open-source, cloud-native, enterprise-ready Postgres backend

We needed an attendance system for factory floor workers. Biometrics (face-recognition / fingerprint) were ruled out by privacy regulations, and off-the-shelf systems were restrictive or expensive. So today we're shipping a DIY NFC access-control MVP to the factory:

LayerHardware/Software
CredentialDESFire EV3 NFC tag/card
ReaderPN532 + ESP32-S3 (managed with ESPHome)
TransportMQTT (NATS cluster with MQTT support)
ControlGo controller - AES session auth, ACL lookup, relay control
RecordsPostgres for check-in/-out events, synced to a cloud Postgres instance
AuditIP-camera snapshots stored in RustFS S3, synced to a cloud S3 instance
PlatformKubernetes 1.36 with cilium-envoy on an ASRock DeskMini X600 (Ryzen 5 9600X, 16 GB DDR5, 500 GB NVMe)
ConnectivityWireGuard tunnel to cloud; workloads can be exposed to the Internet

The flow is deliberately simple. The ESP32-S3 is a dumb pipe: it forwards raw DESFire frames between the PN532 and MQTT, nothing more. The Go controller does the real work - it runs the AES authentication loop directly with the card, checks the ACL, pulses the relay (fail-secure on deny), and records the event to Postgres in prod (SQLite and file backends also supported). Camera snapshots are captured asynchronously and never block the door.

Architecture

The hardware is overkill for these workloads, but leaves headroom for NVR and machine-vision experiments.

edgenode-X600-0edgenode-X600-1