Install the ICOS Worker Suite¶
The ICOS Worker Suite installs all the ICOS mandatory (and some optional) components needed for an ICOS Worker. The table below summarizes the components installed by the Suite.
| Component | Purpose | Mandatory |
|---|---|---|
| Telemetruum Leaf | Agent for the ICOS Telemetry | ✓ |
| DataClay | Agent for the ICOS Data Management | |
| Telemetry DataClay Bridge | Bridge to make telemetry data available in the Data Management |
Depending on the runtime platform (Docker or Kubernetes) and the orchestrator used, different installation methods are available (see below).
OCM Installation¶
The installation of the ICOS Worker SUite in a Kubernetes (or compatible) cluster is done using the ICOS Worker Suite Helm Chart.
As a prerequisite, Helm must be installed to use the chart (follow the instructions in the Helm's documentation to get started).
The Helm Chart accepts many values that can be used to customize the installation and enable/disable some features. More documentation can be found on GitHub.
Create a values.yaml file with the following values:
global:
# Configuration of the ICOS Agent to which this Worker will join
agent:
routing: host
url: https://agent.example.com/
# ICOS CA Root Certificate (in base64 encoding). Optional, only needed if HTTPS
# protocol is used in the ICOS Agent URL
core:
ca:
bundle: LS0tLS1CR....0tLS0tCg
# Optional: specify custom labels to assign to all nodes of this Worker
telemetruum-leaf:
telemetruum-leaf-exporter:
staticHostsLabels:
my_label: my_value
Specifically, the global.agent.url and global.agent.routing values are mandatory and are needed to determin to which endpoint this ICOS Worker will register. These values can be retrieved from the ICOS Agent Suite's helm values.
Run the Helm installation command (making sure that the correct kubernetes config file is taken):
helm install --namespace icos-system --create-namespace wrk1 oci://harbor.res.eng.it/icos/helm/icos-worker --values values.yaml
Upgrade
In order to upgrade the Telemetruum Leaf to the latest version, run the same command replacing install with upgrade.
Development version
Note: In order to install versions not yet released, the url of the chart needs to be changed to
In addition, since unreleased versions are private, you need to login to the repository before launching the install command:
If the installation was successful, a set of pod should have been started in the cluster and telemetry data for this agent should be sent to the controller and being visible in the ICOS Agent View Dashboard
> kubectl get pods -n icos-system
NAME READY STATUS RESTARTS AGE
wrk1-kube-state-metrics-564bcff5b6-kc2b4 1/1 Running 0 16h
wrk1-prometheus-node-exporter-5jhxp 1/1 Running 0 16h
wrk1-prometheus-node-exporter-gbs5x 1/1 Running 0 16h
wrk1-telemetruum-leaf-otel-node-agent-7wt8x 1/1 Running 0 3h3m
wrk1-telemetruum-leaf-otel-node-agent-mknbd 1/1 Running 0 3h2m
wrk1-telemetruum-leaf-otel-target-allocator-64bf5694dc-ghvcz 1/1 Running 0 16h
wrk1-telemetruum-leaf-telemetruum-leaf-exporter-6z6n4 1/1 Running 0 3h3m
wrk1-telemetruum-leaf-telemetruum-leaf-exporter-8qgkt 1/1 Running 0 3h3m
Nuvla Installation¶
For workers that uses the Nuvla orchestrator, the installation of the ICOS Worker Suite should be done through the Nuvla portal using the two Nuvla Apps ICOS Worker Suite - Docker or ICOS Worker Suite - Kubernetes depending on the worker runtime platform.
The procedure is the following:
- Login to nuvla.io
- Select Apps
-
Select the
ICOS Worker Suite - DockerorICOS Worker Suite - KubernetesApp:
-
Deploy the App to your NuvlaEdge as provided in the NuvlaEdge User Guide
When preparing the deployment, some environment variables and configuration files need to be customized:
-
for the Kuberentes app:
Variable Description ICOS_AGENT_URLMandatory. URL of the ICOS Agent ICOS_AGENT_ROUTINGOptional. Defaults to hostICOS_CORE_CA_BUNDLEOptional. The ICOS CA Root Cert ICOS_PROJECT_LABELCustom value for the projectlabaelValues are the same used for the OCM installation. Please refer to the OCM Section
-
for the Docker app:
Variable Description ICOS_TELEMETRUUM_GATEWAY_ENDPOINTMandatory. The endpoint to send telemetry. This is derived from the ICOS Agent URL, but it is not the same ICOS_TELEMETRUUM_LEAF_EXTRA_ARGSOptional. Additional arguments. For instance to set a label --static-host-label test_static=docker-stagingFile Content extracertsbundle.pemICOS CA Root Cert in PEM format
Other variables are available to further customize the installation.

Customization¶
The Worker Suite instllation can be customized enabling/disabling some components or manually setting some worker properties.
Host Labels and Location¶
Temetry module will work well in most of the cases with the default configuration and will discover automatically some information on the device (e.g., ip, location, labels).
It is possible to manually override some of this data in various way described in the Host Configuration section.
Energy Consumption Metrics¶
Energy consumption metrics are disabled by default. They can be activated (if supported by device CPU) with the following value: