Latest Requirements Scoping Document: EdgeX Foundry Micro Service System Management-v5-awe-comments.pdf
System Management (SM) Agent
Functions and eventual public API Offered by the SM Agent
- Stop all EdgeX microservices
- Start all EdgeX microservices
- Restart all EdgeX microservices
- Stop an EdgeX microservice by name
- Start an EdgeX microservice by name
- Restart an EdgeX microservice by name
- Ping an EdgeX microservice (check that the service is still up)
- Get the configuration settings (aka properties) for an EdgeX microservice by name
- Get the configuration setting (aka property) for an EdgeX microservice (by name) by configuration setting name (aka key)
- Set the configuration setting (aka property) for a writable (versus read only) property for an EdgeX microservice (by name). Example: the port of a service is read only where as the log level maybe updated (writable).
- Get the current Admin status (locked or unlocked) of an EdgeX microservice
- Register a client for change to a configuration setting to a named EdgeX microservice (provide the key or name of the configuration setting to watch)
- Register a client for change of the operating state between enabled and disabled states to a named EdgeX microservice
- Register a client for change of the admin state between locked and unlocked state to a named EdgeX microservice
- Register a client for (significant) change in memory usage to a named EdgeX microservice
- Deregister a client from any existing registration
Stretch goal: to facilitate native system processes call of above (like systemd) per Delhi Release#SystemManagementTasksandNotes
Microservice level support for SM
SM per microservice API
- Stop this microservice
- Get the current Admin status (locked or unlocked)
- Get the configuration settings (aka properties) for this microservice
- Get the configuration setting (aka property) for this microservice by configuration setting name (aka key)
- Set the configuration setting (aka property) for a writable (versus read only) property for this microservice.
- Get the memory usage for this microservice (not sure this can be done from inside the Go service yet)
...