List of Capabilities¶
Host Reverse Proxy Certificate Handling¶
host.certificates¶
{
"details": {
"$id": "#/items/anyOf/0/properties/details",
"type": "map",
"title": "host reverse proxy certificate handling",
"description": "Certificate information. These settings are use for configuring host-os reverse proxy server. This includes TLS certificates and how to handle their life cycle (renew).",
"examples": [{
"keyFilePath": "/etc/pki/tls/private/",
"certFilePath": "/etc/pki/tls/certs/",
"allowExternal": "false",
"renewPolicy": "auto-renew"
}],
"required": [
"keyFilePath",
"certFilePath",
"allowExternal",
"renewPolicy"
],
"properties": {
"keyFilePath": {
"$id": "#/items/anyOf/0/properties/details/properties/keyFilePath",
"type": "string",
"title": "The key file path",
"description": "Private key file path for nginx reverse proxy. This path used in nginx conf file. Nginx (edge.conf) config must be change with this.",
"examples": [
"/etc/pki/tls/private/c2g-nginx-rp.key"
]
},
"certFilePath": {
"$id": "#/items/anyOf/0/properties/details/properties/certFilePath",
"type": "string",
"title": "The cert file path",
"description": "Public certificate file path for nginx reverse proxy. This path used in nginx conf file. Nginx (edge.conf) config must be change with this.",
"default": "",
"examples": [
"/etc/pki/tls/cert/c2g-nginx-rp.cert"
]
},
"allowExternal": {
"$id": "#/items/anyOf/0/properties/details/properties/allowExternal",
"type": "string",
"title": "The allowExternal schema",
"description": "It controls to allow user to import external certificate or not for nginx reverse proxy.",
"options": [
"true",
"false"
]
},
"renewPolicy": {
"$id": "#/items/anyOf/0/properties/details/properties/renewPolicy",
"type": "string",
"title": "The renewPolicy schema",
"description": "It allows to maitain certificate life cycle. Certificate renew policy it may be neverExpire (will never be expired)/auto-renew (auto renew if expired)/.",
"options": [
"auto-renew",
"neverExpire"
]
},
}
}
}
Edge Runtime¶
host.runtime.logs¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "Edge runtime logs.",
"description": "Manage logs for Edge runtime container and its services. It allows to control if logs to be wrriten to disk or not.",
"examples": [{
"defaultStatus": "enabled"
}],
"required": [
"defaultStatus"
],
"properties": {
"defaultStatus": {
"$id": "#/properties/details/properties/defaultStatus",
"type": "string",
"title": "The default Status of the logs",
"description": "Its generate logs according to status enabled/disabled. If enabled then logs will be generated otherwise not.",
"default": "",
"options": [
"enabled",
"disabled"
]
}
}
}
}
host.runtime¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "Edge runtime properties",
"description": "Properties related to Edge runtime scope and behaviour on device. It controls how edge runtime should start.",
"examples": [
{
"defaultMode": "managed",
"defaultStatus": "enabled"
}
],
"required": [
"defaultMode",
"defaultStatus"
],
"properties": {
"defaultMode": {
"$id": "#/properties/details/properties/defaultMode",
"type": "string",
"title": "The default mode of Edge runtime",
"description": "It set default mode of edge runtime as managed. ",
"options": [
"managed"
]
},
"defaultStatus": {
"$id": "#/properties/details/properties/defaultStatus",
"type": "string",
"title": "status of Edge services",
"description": "Enable/disable all Edge services including Edge runtime container, docker service, and other applications.",
"options": [
"enabled",
"disabled"
]
}
}
}
}
NFR¶
host.runtime.nfr¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "The details about NFRs.",
"description": "Configure Edge runtime container and all applications with specified CPU and memory usage limit.",
"examples": [
{
"cpu": "55%",
"memory": "1.2G"
}
],
"required": [
"cpu",
"memory"
],
"properties": {
"cpu": {
"$id": "#/properties/details/properties/cpu",
"type": "string",
"title": "The cpu percentage",
"description": "It's about limit CPU. It will CAP CPU resource uses for all edge runtime and applications.",
"examples": [
"55%",
"100%"
]
},
"memory": {
"$id": "#/properties/details/properties/memory",
"type": "string",
"title": "The memory capping.",
"description": "It's limit the memory for the docker. It will CAP memory resource uses for all edge runtime and applications.",
"examples": [
"1.2G",
"infinity"
]
}
}
}
}
Firmware Update¶
host.firmwareupdate¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "The details about the firmware update.",
"description": "Specify the firmware update is supported or not. It manage firware update functionality on device according this.",
"examples": [{
"supported": "true"
}],
"required": [
"supported"
],
"properties": {
"supported": {
"$id": "#/properties/details/properties/supported",
"type": "string",
"title": "The firmware update is supported or not.",
"description": "It's showing the firmware update supported or not on the device from IEM. It is also managing firmware update services to start or not.",
"options": [
"true",
"false"
]
},
"applicableMode": {
"$id": "#/properties/details/properties/applicableMode",
"type": "string",
"title": "The applicable mode of firmware update.",
"description": "It is representing that firmware update is applicable for which mode.",
"options": [
"standalone",
"managed",
"user"
]
}
}
}
}
Auth Service¶
host.authservice¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "The details auth service",
"description": "Its about the auth service. It allows to use different kind of auth services for user management.",
"examples": [
{
"service": "local-umc",
}
],
"required": [
"service",
],
"properties": {
"service": {
"$id": "#/properties/details/properties/service",
"type": "string",
"title": "The service itself",
"description": "Which auth service will be running in Edge runtime. For example, if it set to runtime then edge will use default edge auth service, if it set to local-umc then edge will use UMC for authentication.",
"options": [
"local-umc",
"runtime"
]
}
}
}
}
External Storage¶
host.runtime.externalstorage¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "The details of external storage",
"description": "Map external host system directory/path to the Edge runtime container. This path will be available in the edge core container.",
"examples": [
{
"hostpath": "/media/simatic",
"options": "ro,slave"
}
],
"required": [
"hostpath",
"options"
],
"properties": {
"hostpath": {
"$id": "#/properties/details/properties/hostpath",
"type": "string",
"title": "Host system's path",
"description": "The host path of the external storage.",
"examples": [
"/media/simatic"
]
},
"options": {
"$id": "#/properties/details/properties/options",
"type": "string",
"title": "The options for the mounted path",
"description": "Options for mounting file system.",
"examples": [
"ro,slave"
]
}
}
}
}
App Limit¶
host.runtime.applimit¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "To enable and disable app limits",
"description": "Provide capability to avoid app limits.",
"examples": [
{
"ignore": "true"
}
],
"required": [
"ignore"
],
"properties": {
"ignore": {
"$id": "#/properties/details/properties/ignore",
"type": "string",
"title": "To enable and disable app limits",
"description": "It permits the user to avoid application limits",
"options": [
"true",
"false"
]
}
}
}
}
Secure Storage¶
host.securestorage¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "To set device kit api availibility for secure storage",
"description": "Provide capability to set status of device kit secure storage api.",
"examples": [
{
"defaultStatus": "disabled"
}
],
"required": [
"defaultStatus"
],
"properties": {
"defaultStatus": {
"$id": "#/properties/details/properties/defaultStatus",
"type": "string",
"title": "To set device kit api availibility for secure storage",
"description": "It permits the user to enable and disable seal unseal of the data using device kit api for secure storage.",
"options": [
"disabled",
"enabled"
]
}
}
}
}
NTP Service¶
host.ntpservice¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "It enables NTP service and allows to manage it.",
"description": "Manages all NTP related operations.",
"examples": [
{
"defaultStatus": "disabled",
"apiCapability": "{\"GetNtpServer\":false,\"GetStatus\":false,\"SetNtpServer\":false}"
}
],
"required": [
"defaultStatus",
"apiCapability"
],
"properties": {
"defaultStatus": {
"$id": "#/properties/details/properties/defaultStatus",
"type": "string",
"title": "To set device kit api availibility for NTP service",
"description": "It permits the user to enable and disable the NTP service.",
"options": [
"disabled",
"enabled"
]
},
"apiCapability": {
"$id": "#/properties/details/properties/apiCapability",
"type": "string",
"title": "To set device kit api availibility for NTP service",
"description": "It permits the Device Builder to enable and disable specific operations of NTP service.",
"options": [
"GetNtpServer",
"GetStatus",
"SetNtpServer"
]
}
}
}
}
Network Service¶
host.networkservice¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "It enables network service and allows to manage it.",
"description": "Manages all network related operations.",
"examples": [
{
"defaultStatus": "disabled",
"apiCapability": "{\"ApplySettings\":false,\"GetAllInterfaces\":false,\"GetInterfaceWithLabel\":false,\"GetInterfaceWithMac\":false}"
}
],
"required": [
"defaultStatus",
"apiCapability"
],
"properties": {
"defaultStatus": {
"$id": "#/properties/details/properties/defaultStatus",
"type": "string",
"title": "To set device kit api availibility for network service",
"description": "It permits the user to enable and disable the network service.",
"options": [
"disabled",
"enabled"
]
},
"apiCapability": {
"$id": "#/properties/details/properties/apiCapability",
"type": "string",
"title": "To set device kit api availibility for network service",
"description": "It permits the Device Builder to enable and disable specific operations of network service.",
"options": [
"ApplySettings",
"GetAllInterfaces",
"GetInterfaceWithLabel",
"GetInterfaceWithMac"
]
}
}
}
}
System Service¶
host.systemservice¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "It enables system service and allows to manage it.",
"description": "Manages all system related operations.",
"examples": [
{
"defaultStatus": "disabled",
"apiCapability": "{\"ApplyCustomSettings\":false,\"GetCustomSettings\":false,\"GetFirmwareInfo\":false,\"GetLimits\":false,\"GetLogFile\":false,\"GetModelNumber\":false,\"GetResourceStats\":false,\"HardReset\":false,\"RestartDevice\":false,\"ShutdownDevice\":false}"
}
],
"required": [
"defaultStatus",
"apiCapability"
],
"properties": {
"defaultStatus": {
"$id": "#/properties/details/properties/defaultStatus",
"type": "string",
"title": "To set device kit api availibility for system service",
"description": "It permits the user to enable and disable the system service.",
"options": [
"disabled",
"enabled"
]
},
"apiCapability": {
"$id": "#/properties/details/properties/apiCapability",
"type": "string",
"title": "To set device kit api availibility for system service",
"description": "It permits the Device Builder to enable and disable specific operations of system service.",
"options": [
"ApplyCustomSettings",
"GetCustomSettings",
"GetFirmwareInfo",
"GetLimits",
"GetLogFile",
"GetModelNumber",
"GetResourceStats",
"HardReset",
"RestartDevice",
"ShutdownDevice"
]
}
}
}
}
Onboard Service¶
host.onboardservice¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "It enables onboard service and allows to manage it.",
"description": "Manages all onboard related operations.",
"examples": [
{
"defaultStatus": "disabled",
"apiCapability": "{\"ApplyConfiguration\":false,\"ListenOnboardState\":false,\"OnboardWithUSB\":false,\"SetOnboardingStatus\":false}"
}
],
"required": [
"defaultStatus",
"apiCapability"
],
"properties": {
"defaultStatus": {
"$id": "#/properties/details/properties/defaultStatus",
"type": "string",
"title": "To set device kit api availibility for onboard service",
"description": "It permits the user to enable and disable the system service.",
"options": [
"disabled",
"enabled"
]
},
"apiCapability": {
"$id": "#/properties/details/properties/apiCapability",
"type": "string",
"title": "To set device kit api availibility for onboard service",
"description": "It permits the Device Builder to enable and disable specific operations of onboard service.",
"options": [
"ApplyConfiguration",
"ListenOnboardState",
"OnboardWithUSB",
"SetOnboardingStatus"
]
}
}
}
}
Edgemanager Service¶
host.edgemanagerservice¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "It enables edgemanager service and allows to manage it.",
"description": "Manages all edgemanager related operations.",
"examples": [
{
"defaultStatus": "disabled"
}
],
"required": [
"defaultStatus"
],
"properties": {
"defaultStatus": {
"$id": "#/properties/details/properties/defaultStatus",
"type": "string",
"title": "To set device kit api availibility for edgemanager service",
"description": "It permits the user to enable and disable the edgemanager service.",
"options": [
"disabled",
"enabled"
]
}
}
}
}
Resourcemanager Service¶
host.resourcemanager¶
{
"capabilityId": "host.resourcemanager",
"name": "Resource Manager Plugin Support",
"description": "Specifies support for resource manager plugins on the device and notifies Industrial Edge to use these.",
"scope": "protected",
"property": "optional",
"details": {
"defaultStatus": "disabled",
"ie.device.hardware.cpu_allocation": "false",
"ie.device.hardware.gpu_allocation": "false",
"ie.device.hardware.nic_allocation": "false",
"ie.device.hardware.memory_allocation": "false",
"ie.device.hardware.gpio_allocation": "false"
}
}
Proxy Service¶
host.proxyservice¶
{
"details": {
"$id": "#/properties/details",
"type": "map",
"title": "It enables ie-sysproxy service and allows to manage it.",
"description": "Manages proxy related operations like GetProxy, SetProxy, RemoveProxy.",
"examples": [
{
"defaultStatus": "disabled"
}
],
"required": [
"defaultStatus"
],
"properties": {
"defaultStatus": {
"$id": "#/properties/details/properties/defaultStatus",
"type": "string",
"title": "To set device kit api availibility for ie-sysproxy service",
"description": "It permits the user to enable and disable the ie-sysproxy service.",
"options": [
"disabled",
"enabled"
]
}
}
}
}
Funding Acknowledgment: Funded by the Federal Ministry for Economic Affairs and Energy based on a decision by the German Bundestag | Your funding provider: Kicks for Edge as part of the EU funding program IPCEI-CIS (FKZ:13IPC008)