Config Manager Agent¶
Note
In this document, you will find labels of ‘Edge Insights for Industrial (EII)’ for filenames, paths, code snippets, and so on. Consider the references of EII as Open Edge Insights (OEI). This is due to the product name change of EII as OEI.
Config Manager Agent is an OEI service responsible for the following:
Puts the OEI services configs to the OEI config manager data store
Additionally in PROD mode, generates the following:
Required config manager data store keys/certificates to interact with OEI config manager data store like etcd and puts in the volume mounts to be shared with other OEI services
Required messagebus keys for OEI services communication
Creates required provisioning folders with the right permissions needed for other OEI services via volume mounts
The diagram below shows a high level flow of ConfigMgrAgent
service .
%% name: EII Provisioning
sequenceDiagram
participant User
participant EdgeNode
participant EIIService
Participant ConfigMgrAgent
participant ETCD
User->>EdgeNode: Start container (docker-compose up)
EIIService->>EIIService: Wait for ETCD certificates
ConfigMgrAgent->>ConfigMgrAgent: Generate x509 certificates for ETCD
ConfigMgrAgent->>ETCD: Start ETCD
ConfigMgrAgent->>ETCD: Register services to be able to connect
ConfigMgrAgent->>ETCD: Load default configuration
ConfigMgrAgent->>ETCD: Generate and load ZeroMQ Keys
ConfigMgrAgent->>EIIService: Copy ETCD certificates to the shared volume
Note right of ConfigMgrAgent: Each service has its own certs volume
EIIService->>ETCD: Connect to ETCD with certificate to get configuration
Note
Any EII service
waits/restarts
if the config manager data store client key and certificates are yet to be made available for the container. EII Certificates will be re-generated everytime the ConfigMgrAgent service brought up/restarted
Optional: For capturing the data back from Etcd to a JSON file, run the etcd_capture.sh script. This can be achieved using the following command:
docker exec -it ia_configmgr_agent ./scripts/etcd_capture.sh