Skip to main content

Control Plane

The main components of the Shifu control plane are shifuController and shifud.

shifuController

Introduction

shifuController is used to control a custom Kubernetes CRD i.e. edgeDevice, edgeDevice describes various information about the device connected to Shifu.

Each edgeDevice has two parts. EdgeDeviceSpec and EdgeDevicePhase.

EdgeDeviceSpec contains the basic information about the device. It has four elements.

Variable NameVariable TypePurposeExample
SkustringSKU name of the devicePLC, Hikvision camera
ConnectionConnectionHardware connection typeEthernet, USB
AddressstringHardware address192.168.0.1
ProtocolProtocolTransmission protocolHTTP, MQTT, Socket...

The EdgeDevicePhase defines the current state of the device.

StatusMeaning
PendingThe device has been identified, but access to Shifu is not yet complete...
RunningThe device has been successfully connected to Shifu and is running...
FailedDevice access to Shifu has failed...
UnknownUnknown status...

Design Documentation

If you are interested in the internal details of shifuController, you can go to the shifuController design documentation for further reading.

shifud

Introduction

shifud is a DaemonSet that runs on each Kubernetes node and is mainly responsible for device recognition, authentication and updates.

Design Documentation

If you are interested in the internal details of shifud, you can go to shifud Design Documentation for further reading.