Skip to content

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"
                    ]
                }
            }
        }
}