Station worker
Sole developer. Pattern adapted from a sister team's existing platform.
Executes supervisor instructions and publishes machine messages upward.
The worker implements the middle tier of the same three-tier pattern, hosting the machine client and sitting between decision-making and protocol. It receives instructions from the supervisor over RabbitMQ, tells the client what to send, and publishes messages coming back off the machine upward.
Everything it publishes upward is IPC-CFX. Normalising at this tier rather than at the supervisor means the decision layer never sees a proprietary message shape, and a new machine type changes the client below without changing anything above.
Keeping the worker thin (translation and transport, no business logic) is what allows the same worker shape to be reused as machine types are added. It is containerised and released per machine through the same Kubernetes and Helm configuration as the supervisor above it.
C# / .NET, RabbitMQ, IPC-CFX, Docker, Kubernetes, Helm