diff --git a/LICENSE b/LICENSE
index 4f83ffcf5..3219c615c 100644
--- a/LICENSE
+++ b/LICENSE
@@ -190,7 +190,7 @@ Intel In-Band Manageability is under the Apache License v2.0:
same "printed page" as the copyright notice for easier
identification within third-party archives.
- Copyright 2021-2023 Intel Corporation
+ Copyright 2021-2024 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/docs/Configuration Parameters.md b/docs/Configuration Parameters.md
index b14087716..26a92b009 100644
--- a/docs/Configuration Parameters.md
+++ b/docs/Configuration Parameters.md
@@ -16,14 +16,14 @@ The below tables represent the different sections of the configuration file.
| dbs | WARN | How the system should be respond if there is a Docker Bench Security alert. [ON, OFF, or WARN] |
### Telemetry
-| Key | Default Value | Lower Limit | Upper Limit | Description |
-|:-------------------------------|:-------------:|:------------|-------------|-----------------------------------------------------------------------------------------------------------------------------------------|
-| collectionIntervalSeconds | 60 | 30 | 120 | Time interval after which telemetry is collected from the system. |
-| publishIntervalSeconds | 300 | 120 | 480 | Time interval after which collected telemetry is published to dispatcher and the cloud |
-| maxCacheSize | 100 | 50 | 200 | Maximum cache set to store the telemetry data. This is the count of messages that telemetry agent caches before sending out to the cloud |
-| containerHealthIntervalSeconds | 600 | 300 | 1800 | Interval after which container health check is run and results are returned. |
-| enableSwBom | true | N/A | N/A | Specifies if Software BOM needs to be published in the initial telemetry. |
-| swBomIntervalHours | 24 | 1 | 168 | Number of hours between swBom publish. |
+| Key | Default Value | Lower Limit | Upper Limit | Description |
+|:-------------------------------|:-------------:|:------------|-------------|------------------------------------------------------------------------------------------------------------------------------------------|
+| collectionIntervalSeconds | 60 | 30 | 120 | Time interval after which telemetry is collected from the system. |
+| publishIntervalSeconds | 300 | 120 | 480 | Time interval after which collected telemetry is published to dispatcher and the cloud |
+| maxCacheSize | 100 | 50 | 200 | Maximum cache set to store the telemetry data. This is the count of messages that telemetry agent caches before sending out to the cloud |
+| containerHealthIntervalSeconds | 600 | 300 | 1800 | Interval after which container health check is run and results are returned. |
+| enableSwBom | true | N/A | N/A | Specifies if Software BOM needs to be published in the initial telemetry. |
+| swBomIntervalHours | 24 | 1 | 168 | Number of hours between swBom publish. |
### Diagnostic
| Key | Default Value | Description |
diff --git a/docs/In-Band Manageability Developer Guide.md b/docs/In-Band Manageability Developer Guide.md
index 004367b7c..a488b67f6 100644
--- a/docs/In-Band Manageability Developer Guide.md
+++ b/docs/In-Band Manageability Developer Guide.md
@@ -8,29 +8,29 @@
2. [Audience](#audience)
2. [Architecture](#architecture)
1. [INB](#inbm)
- 1. [CloudAdapter Agent](#%EF%B8%8Fcloudadapter-agent)
- 2. [Configuration Agent](#%EF%B8%8Fconfiguration-agent)
- 3. [Diagnostic Agent](#%EF%B8%8Fdiagnostic-agent)
- 4. [Dispatcher Agent](#%EF%B8%8Fdispatcher-agent-dms)
+ 1. [CloudAdapter Agent](#cloudadapter-agent)
+ 2. [Configuration Agent](#configuration-agent)
+ 3. [Diagnostic Agent](#diagnostic-agent)
+ 4. [Dispatcher Agent](#dispatcher-agent-dms)
1. [OTA Update Class Diagram](#ota-update-class-diagram)
- 5. [Telemetry Agent](#%EF%B8%8Ftelemetry-agent)
- 6. [TRTL](#%EF%B8%8Ftrtl)
+ 5. [Telemetry Agent](#telemetry-agent)
+ 6. [TRTL](#trtl)
2. [INBC](#inbc)
3. [Run Agents via Source Code](#run-agents-via-source-code)
-6. [Add New Configuration Parameter](#add-new-configuration-parameter)
-7. [Security](#security)
- 1. [OS Hardening](#os-hardening)
- 2. [INBM Hardening](#inbm-hardening)
+4. [Add New Configuration Parameter](#add-new-configuration-parameter)
+5. [Security](#security-)
+ 1. [OS Hardening](#os-hardening-)
+ 2. [INBM Hardening](#inbm-hardening-)
1. [AppArmor Profiles](#apparmor-profiles)
2. [Access Control List](#access-control-list)
- 3. [MQTT over TLS Support](#mqtt-over-tls-support)
+ 3. [MQTT over TLS Support](#mqtt-over-tls-support-)
4. [Trusted Repo List](#trusted-repo-list)
5. [Signature Verification on OTA Packages](#signature-verification-on-ota-packages)
6. [Manifest Schema Checks](#manifest-schema-checks)
- 7. [Docker Bench Security](#docker-bench-security)
+ 7. [Docker Bench Security](#docker-bench-security-)
8. [Platform TPM usage](#platform-tpm-usage)
-8. [Enable Debug Logging](#enable-debug-logging)
-9. [OTA Commands via Manifest](#ota-commands-via-manifest)
+6. [Enable Debug Logging](#enable-debug-logging)
+7. [OTA Commands via Manifest](#ota-commands-via-manifest)
1. [AOTA Updates](#aota-updates)
1. [AOTA Manifest Parameters](#aota-manifest-parameters)
2. [FOTA Updates](#fota-updates)
@@ -40,21 +40,21 @@
1. [SOTA Manifest Parameters](#sota-manifest-parameters)
4. [POTA Updates](#pota-updates)
1. [POTA Manifest Parameters](#pota-manifest-parameters)
- 5. [Configuration Operations](#configuration-operations)
+ 5. [Configuration Operations](#configuration-operations-)
1. [Configuration Manifest](#configuration-manifest)
2. [Manual Configuration Update](#manual-configuration-update)
6. [Power Management](#power-management)
1. [Restart via Manifest](#restart-via-manifest)
2. [Shutdown via Manifest](#shutdown-via-manifest)
-10. [Extending FOTA support](#extending-fota-support)
- 1. [Understanding FOTA Configuration File](#understanding-fota-configuration-file)
- 2. [Firmware Configuration Parameter Values](#firmware-configuration-parameter-values)
- 3. [Query command Manifest](#query-command-manifest)
- 4. [AppArmor Permissions](#apparmor-permissions)
-11. [Creating a New Agent](#creating-a-new-agent)
-12. [Issues and Troubleshooting](#issues-and-troubleshooting)
+8. [Extending FOTA support](#extending-fota-support)
+ 1. [Understanding FOTA Configuration File](#understanding-fota-configuration-file-)
+ 2. [Firmware Configuration Parameter Values](#firmware-configuration-parameter-values)
+ 3. [Query command Manifest](#query-command-manifest)
+ 4. [AppArmor Permissions](#apparmor-permissions)
+9. [Creating a New Agent](#creating-a-new-agent)
+10. [Issues and Troubleshooting](#issues-and-troubleshooting)
1. [OTA Error Status](#ota-error-status)
- 2. [Dispatcher-Agent Not Receiving Messages](#dispatcher-agent-not-receiving-messages)
+ 2. [Dispatcher-Agent Not Receiving Messages](#dispatcher-agent-not-receiving-messages-)
3. [OTA Status Log File](#ota-status-log-file)
@@ -719,7 +719,7 @@ inbm/dispatcher-agent/fpm-template/lib/systemd/system/inbm-dispatcher.service
is shown below.
```
- # Copyright 2021-2023 Intel Corporation All Rights Reserved.
+ # Copyright 2021-2024 Intel Corporation All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
[Unit]
diff --git a/docs/In-Band Manageability User Guide - Azure.md b/docs/In-Band Manageability User Guide - Azure.md
index 30350d7ca..eecafe803 100644
--- a/docs/In-Band Manageability User Guide - Azure.md
+++ b/docs/In-Band Manageability User Guide - Azure.md
@@ -5,11 +5,11 @@
1. [Introduction](#introduction)
1. [Audience](#audience)
-3. [Azure® Overview](#azure-overview)
- 1. [Getting Started with Azure®](#getting-started-with-azure)
- 1. [Creating Azure® portal account](#creating-azure-portal-account)
- 2. [Setting up an Azure® IoT Central Application ](#setting-up-an-azure-iot-central-application)
- 3. [Accessing Azure®](#accessing-azure)
+3. [Azure® Overview](#azurereg-overview)
+ 1. [Getting Started with Azure®](#getting-started-with-azurereg)
+ 1. [Creating Azure® portal account](#creating-azurereg-portal-account)
+ 2. [Setting up an Azure® IoT Central Application ](#setting-up-an-azurereg-iot-central-application-)
+ 3. [Accessing Azure®](#accessing-azurereg)
4. [Setting up the application for X509 based device enrollment](#setting-up-the-application-for-x509-based-device-enrollment)
2. [Creating a Device and Obtaining Device Credentials](#creating-a-device-and-obtaining-device-credentials)
1. [Shared Access Signature (SAS) authentication:](#shared-access-signature-sas-authentication)
@@ -22,7 +22,7 @@
2. [Navigating the Device Interface](#navigating-the-device-interface)
6. [Performing batch operations](#performing-batch-operations)
7. [OTA Updates](#ota-updates)
- 1. [Trusted Repositories ](#trusted-repositories)
+ 1. [Trusted Repositories ](#trusted-repositories-)
2. [Preparing OTA Update Packages](#preparing-ota-update-packages)
1. [Creating FOTA Package](#creating-fota-package)
2. [Creating SOTA Package](#creating-sota-package)
@@ -36,15 +36,15 @@
3. [AOTA Docker-Compose Operations](#aota-docker-compose-operations)
1. [Docker Compose Up](#docker-compose-up)
2. [Docker-Compose Down](#docker-compose-down)
- 4. [Docker-Compose Pull](#docker-compose-pull)
- 1. [Docker-Compose List](#docker-compose-list)
+ 4. [Docker-Compose Pull](#docker-compose-pull-)
+ 1. [Docker-Compose List](#docker-compose-list-)
2. [Docker-Compose Remove](#docker-compose-remove)
5. [AOTA Docker Operations](#aota-docker-operations)
1. [Docker Import](#docker-import)
2. [Docker Load](#docker-load)
3. [Docker Pull](#docker-pull)
4. [Docker Remove](#docker-remove)
- 5. [Docker Stats](#docker-stats)
+ 5. [Docker Stats](#docker-stats-)
6. [AOTA Application Operations](#aota-application-operations)
1. [Application Update](#application-update)
2. [AOTA Docker/Docker-Compose Operations via Manifest](#aota-dockerdocker-compose-operations-via-manifest)
@@ -55,7 +55,7 @@
1. [SOTA Update Via ‘Trigger SOTA’ Button Click (Debian Package Manager, Ubuntu OS)](#sota-update-via-trigger-sota-button-click-debian-package-manager-ubuntu-os)
2. [SOTA Update Via ‘Trigger SOTA’ Button Click (Mender)](#sota-update-via-trigger-sota-button-click-mender)
3. [SOTA Update via Manifest](#sota-update-via-manifest)
- 9. [Configuration Update ](#configuration-update)
+ 9. [Configuration Update ](#configuration-update-)
1. [Configuration Set](#configuration-set)
2. [Configuration Get](#configuration-get)
3. [Configuration Load](#configuration-load)
diff --git a/docs/Terminology.md b/docs/Terminology.md
index eb62106f1..2706a92af 100644
--- a/docs/Terminology.md
+++ b/docs/Terminology.md
@@ -16,7 +16,7 @@
| MTLS | Mutual Transport Layer Security |
| OS | Operating System |
| OTA | Over-the-air |
-| PEM | Privacy Enhanced Mail |
+| PEM | Privacy Enhanced Mail |
| POTA | Platform Over-the-Air (SOTA and FOTA combined) |
| SMBIOS | System Management BIOS |
| SoC | System on a Chip |
diff --git a/inbc-program/fpm-template/usr/share/doc/inbc/LICENSE b/inbc-program/fpm-template/usr/share/doc/inbc/LICENSE
index 8633f0303..53c3ca3a3 100644
--- a/inbc-program/fpm-template/usr/share/doc/inbc/LICENSE
+++ b/inbc-program/fpm-template/usr/share/doc/inbc/LICENSE
@@ -193,7 +193,7 @@ Intel In-Band Manageability is under the Apache License v2.0:
same "printed page" as the copyright notice for easier
identification within third-party archives.
- Copyright 2021-2023 Intel Corporation
+ Copyright 2021-2024 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/inbc-program/inbc/__init__.py b/inbc-program/inbc/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbc-program/inbc/__init__.py
+++ b/inbc-program/inbc/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/broker.py b/inbc-program/inbc/broker.py
index 0bb4dfc68..553876f94 100644
--- a/inbc-program/inbc/broker.py
+++ b/inbc-program/inbc/broker.py
@@ -1,7 +1,7 @@
"""
Broker service for INBC tool
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/command/__init__.py b/inbc-program/inbc/command/__init__.py
index cdaffc084..586b58399 100644
--- a/inbc-program/inbc/command/__init__.py
+++ b/inbc-program/inbc/command/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/command/command.py b/inbc-program/inbc/command/command.py
index b03cbcd30..1c4ceead1 100644
--- a/inbc-program/inbc/command/command.py
+++ b/inbc-program/inbc/command/command.py
@@ -1,7 +1,7 @@
"""
Command classes to represent command entered by user.
- # Copyright (C) 2020-2023 Intel Corporation
+ # Copyright (C) 2020-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/command/command_factory.py b/inbc-program/inbc/command/command_factory.py
index b1bac3f20..520bda821 100644
--- a/inbc-program/inbc/command/command_factory.py
+++ b/inbc-program/inbc/command/command_factory.py
@@ -1,7 +1,7 @@
"""
Factory to create the correct Command object
- # Copyright (C) 2020-2023 Intel Corporation
+ # Copyright (C) 2020-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
"""
from ..ibroker import IBroker
diff --git a/inbc-program/inbc/command/config_command.py b/inbc-program/inbc/command/config_command.py
index be608d476..7cfa65a30 100644
--- a/inbc-program/inbc/command/config_command.py
+++ b/inbc-program/inbc/command/config_command.py
@@ -1,7 +1,7 @@
"""
Config Command classes to represent command entered by user.
- # Copyright (C) 2020-2023 Intel Corporation
+ # Copyright (C) 2020-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/command/ota_command.py b/inbc-program/inbc/command/ota_command.py
index dc3c34066..535f763c2 100644
--- a/inbc-program/inbc/command/ota_command.py
+++ b/inbc-program/inbc/command/ota_command.py
@@ -1,7 +1,7 @@
"""
OTA Command classes to represent command entered by user.
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from typing import Any
diff --git a/inbc-program/inbc/constants.py b/inbc-program/inbc/constants.py
index 816d6836c..c99896155 100644
--- a/inbc-program/inbc/constants.py
+++ b/inbc-program/inbc/constants.py
@@ -1,6 +1,6 @@
""" Constants and other config variables used throughout the INBC module.
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/ibroker.py b/inbc-program/inbc/ibroker.py
index c75457a29..622202385 100644
--- a/inbc-program/inbc/ibroker.py
+++ b/inbc-program/inbc/ibroker.py
@@ -1,7 +1,7 @@
"""
Interface to Broker class
-Copyright (C) 2020-2023 Intel Corporation
+Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/inbc.py b/inbc-program/inbc/inbc.py
index f2d47fd37..f0d911129 100644
--- a/inbc-program/inbc/inbc.py
+++ b/inbc-program/inbc/inbc.py
@@ -1,6 +1,6 @@
"""Command-line INBC tool to invoke Software update on the device with manageability framework.
-Copyright (C) 2020-2023 Intel Corporation
+Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/inbc_exception.py b/inbc-program/inbc/inbc_exception.py
index c8ca69656..6f8e2fb50 100644
--- a/inbc-program/inbc/inbc_exception.py
+++ b/inbc-program/inbc/inbc_exception.py
@@ -1,7 +1,7 @@
"""
InbcException Exception module
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/parser/__init__.py b/inbc-program/inbc/parser/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbc-program/inbc/parser/__init__.py
+++ b/inbc-program/inbc/parser/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/parser/config_parser.py b/inbc-program/inbc/parser/config_parser.py
index eae630a54..43e4c0014 100644
--- a/inbc-program/inbc/parser/config_parser.py
+++ b/inbc-program/inbc/parser/config_parser.py
@@ -1,6 +1,6 @@
"""Parser class to parse the system argument
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import argparse
diff --git a/inbc-program/inbc/parser/ota_parser.py b/inbc-program/inbc/parser/ota_parser.py
index 38a90cd56..ef35ede75 100644
--- a/inbc-program/inbc/parser/ota_parser.py
+++ b/inbc-program/inbc/parser/ota_parser.py
@@ -1,6 +1,6 @@
"""Parser class to parse the system argument
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import argparse
diff --git a/inbc-program/inbc/parser/parser.py b/inbc-program/inbc/parser/parser.py
index 3f3208d50..6873c7190 100644
--- a/inbc-program/inbc/parser/parser.py
+++ b/inbc-program/inbc/parser/parser.py
@@ -1,6 +1,6 @@
"""Parser class to parse the system argument
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbc-program/inbc/parser/source_app_parser.py b/inbc-program/inbc/parser/source_app_parser.py
index 3702f3690..7251ee2a5 100644
--- a/inbc-program/inbc/parser/source_app_parser.py
+++ b/inbc-program/inbc/parser/source_app_parser.py
@@ -1,6 +1,6 @@
"""Source Application Parser class to parse the system argument
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import argparse
diff --git a/inbc-program/inbc/parser/source_os_parser.py b/inbc-program/inbc/parser/source_os_parser.py
index 0570d0fdc..f184bfa2e 100644
--- a/inbc-program/inbc/parser/source_os_parser.py
+++ b/inbc-program/inbc/parser/source_os_parser.py
@@ -1,6 +1,6 @@
"""Source OS Parser class to parse the system argument
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import argparse
diff --git a/inbc-program/inbc/shared.py b/inbc-program/inbc/shared.py
index 11947aa09..5e5fd3a36 100644
--- a/inbc-program/inbc/shared.py
+++ b/inbc-program/inbc/shared.py
@@ -2,7 +2,7 @@
"""
Shared module used by vision-agent
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbc-program/inbc/utility.py b/inbc-program/inbc/utility.py
index a6b3f894e..219147866 100644
--- a/inbc-program/inbc/utility.py
+++ b/inbc-program/inbc/utility.py
@@ -1,7 +1,7 @@
"""
Utilities for INBC tool
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import getpass
diff --git a/inbc-program/inbc/validator.py b/inbc-program/inbc/validator.py
index deda973b6..396ba6c01 100644
--- a/inbc-program/inbc/validator.py
+++ b/inbc-program/inbc/validator.py
@@ -1,6 +1,6 @@
""" User import validation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbc-program/inbc/xml_tag.py b/inbc-program/inbc/xml_tag.py
index 8b91d17da..1ac25fa29 100644
--- a/inbc-program/inbc/xml_tag.py
+++ b/inbc-program/inbc/xml_tag.py
@@ -1,6 +1,6 @@
""" Creates XML formatted tags.
- Copyright (C) 2020-2023 Intel Corporation
+ Copyright (C) 2020-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_common_lib/__init__.py b/inbm-lib/inbm_common_lib/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm-lib/inbm_common_lib/__init__.py
+++ b/inbm-lib/inbm_common_lib/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_common_lib/constants.py b/inbm-lib/inbm_common_lib/constants.py
index d17e1ad14..af79383cf 100644
--- a/inbm-lib/inbm_common_lib/constants.py
+++ b/inbm-lib/inbm_common_lib/constants.py
@@ -1,7 +1,7 @@
"""
Constants used by both inbm-vision and inbm.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from datetime import datetime
diff --git a/inbm-lib/inbm_common_lib/device_tree.py b/inbm-lib/inbm_common_lib/device_tree.py
index 0fdd6949e..48dfcd7f0 100644
--- a/inbm-lib/inbm_common_lib/device_tree.py
+++ b/inbm-lib/inbm_common_lib/device_tree.py
@@ -1,7 +1,7 @@
"""
Use Linux device-tree path to gather system information.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from .constants import DEVICE_TREE_PATH, FW_DEVICE_TREE_PATH, DEVICE_TREE_MODEL, \
diff --git a/inbm-lib/inbm_common_lib/dmi.py b/inbm-lib/inbm_common_lib/dmi.py
index f71fbf21d..6dd5d7667 100644
--- a/inbm-lib/inbm_common_lib/dmi.py
+++ b/inbm-lib/inbm_common_lib/dmi.py
@@ -1,7 +1,7 @@
"""
Use Linux dmi path to gather system information.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import os
diff --git a/inbm-lib/inbm_common_lib/exceptions.py b/inbm-lib/inbm_common_lib/exceptions.py
index 4cb61dc88..1050aa182 100644
--- a/inbm-lib/inbm_common_lib/exceptions.py
+++ b/inbm-lib/inbm_common_lib/exceptions.py
@@ -1,7 +1,7 @@
"""
Exception for Sanity check on str
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_common_lib/platform_info.py b/inbm-lib/inbm_common_lib/platform_info.py
index 87ad85247..c8510ce30 100644
--- a/inbm-lib/inbm_common_lib/platform_info.py
+++ b/inbm-lib/inbm_common_lib/platform_info.py
@@ -1,7 +1,7 @@
"""
Data structure for Platform Information
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from datetime import datetime
diff --git a/inbm-lib/inbm_common_lib/pms/__init__.py b/inbm-lib/inbm_common_lib/pms/__init__.py
index 25b3e3faa..3af048b18 100644
--- a/inbm-lib/inbm_common_lib/pms/__init__.py
+++ b/inbm-lib/inbm_common_lib/pms/__init__.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_common_lib/pms/pms_helper.py b/inbm-lib/inbm_common_lib/pms/pms_helper.py
index fe48ff01d..c38225de0 100644
--- a/inbm-lib/inbm_common_lib/pms/pms_helper.py
+++ b/inbm-lib/inbm_common_lib/pms/pms_helper.py
@@ -1,7 +1,7 @@
"""
Class to send the request to pms service, e.g. reset device
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_common_lib/request_message_constants.py b/inbm-lib/inbm_common_lib/request_message_constants.py
index e9ab5bce9..4344ad4a3 100644
--- a/inbm-lib/inbm_common_lib/request_message_constants.py
+++ b/inbm-lib/inbm_common_lib/request_message_constants.py
@@ -2,7 +2,7 @@
Constants for response messages to requests.
Used by INBC to detect ota message.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_common_lib/shell_runner.py b/inbm-lib/inbm_common_lib/shell_runner.py
index ba1d752f4..13fdefaf5 100644
--- a/inbm-lib/inbm_common_lib/shell_runner.py
+++ b/inbm-lib/inbm_common_lib/shell_runner.py
@@ -1,7 +1,7 @@
"""
Runs shell commands used by the common manageability library
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import platform
diff --git a/inbm-lib/inbm_common_lib/utility.py b/inbm-lib/inbm_common_lib/utility.py
index c2abac78f..6c10c4d59 100644
--- a/inbm-lib/inbm_common_lib/utility.py
+++ b/inbm-lib/inbm_common_lib/utility.py
@@ -1,7 +1,7 @@
"""
Utilities
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import html
diff --git a/inbm-lib/inbm_common_lib/version.py b/inbm-lib/inbm_common_lib/version.py
index 9e71808ca..f96b46919 100644
--- a/inbm-lib/inbm_common_lib/version.py
+++ b/inbm-lib/inbm_common_lib/version.py
@@ -1,6 +1,6 @@
""" Parse inbm/inbm-vision version file information
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_lib/__init__.py b/inbm-lib/inbm_lib/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm-lib/inbm_lib/__init__.py
+++ b/inbm-lib/inbm_lib/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_lib/constants.py b/inbm-lib/inbm_lib/constants.py
index 00939634c..83ce6a6d9 100644
--- a/inbm-lib/inbm_lib/constants.py
+++ b/inbm-lib/inbm_lib/constants.py
@@ -1,6 +1,6 @@
"""
Constants used by the common manageability library
- @copyright: Copyright 2017-2023 Intel Corporation All Rights Reserved.
+ @copyright: Copyright 2017-2024 Intel Corporation All Rights Reserved.
@license: SPDX-License-Identifier: Apache-2.0
"""
from inbm_common_lib.utility import get_canonical_representation_of_path
diff --git a/inbm-lib/inbm_lib/count_down_latch.py b/inbm-lib/inbm_lib/count_down_latch.py
index c50ecbae6..9a48128a4 100644
--- a/inbm-lib/inbm_lib/count_down_latch.py
+++ b/inbm-lib/inbm_lib/count_down_latch.py
@@ -1,7 +1,7 @@
"""
Manages locking threads.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_lib/create_xml_tags.py b/inbm-lib/inbm_lib/create_xml_tags.py
index 65a77bb92..ebe84fb98 100644
--- a/inbm-lib/inbm_lib/create_xml_tags.py
+++ b/inbm-lib/inbm_lib/create_xml_tags.py
@@ -1,6 +1,6 @@
"""Creates XML formatted tags.
- @copyright: Copyright 2021-2023 Intel Corporation All Rights Reserved.
+ @copyright: Copyright 2021-2024 Intel Corporation All Rights Reserved.
@license: Intel, see licenses/LICENSE for more details.
"""
from typing import Dict
diff --git a/inbm-lib/inbm_lib/dbs_parser.py b/inbm-lib/inbm_lib/dbs_parser.py
index b48c1a575..40057cacd 100644
--- a/inbm-lib/inbm_lib/dbs_parser.py
+++ b/inbm-lib/inbm_lib/dbs_parser.py
@@ -1,7 +1,7 @@
"""
Module which runs the Docker Bench Security check on docker images and containers.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm-lib/inbm_lib/detect_os.py b/inbm-lib/inbm_lib/detect_os.py
index c292538f1..efeaab23d 100644
--- a/inbm-lib/inbm_lib/detect_os.py
+++ b/inbm-lib/inbm_lib/detect_os.py
@@ -1,7 +1,7 @@
"""
Used to detect the platform Operating system to trigger updates.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from enum import Enum
diff --git a/inbm-lib/inbm_lib/mqttclient/__init__.py b/inbm-lib/inbm_lib/mqttclient/__init__.py
index 3dae9009c..805ff1441 100644
--- a/inbm-lib/inbm_lib/mqttclient/__init__.py
+++ b/inbm-lib/inbm_lib/mqttclient/__init__.py
@@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
diff --git a/inbm-lib/inbm_lib/mqttclient/config.py b/inbm-lib/inbm_lib/mqttclient/config.py
index 56686660b..d74408d67 100644
--- a/inbm-lib/inbm_lib/mqttclient/config.py
+++ b/inbm-lib/inbm_lib/mqttclient/config.py
@@ -1,7 +1,7 @@
"""
MQTT Configuration variables
- @copyright: Copyright 2017-2023 Intel Corporation All Rights Reserved.
+ @copyright: Copyright 2017-2024 Intel Corporation All Rights Reserved.
@license: Intel, see licenses/LICENSE for more details.
"""
diff --git a/inbm-lib/inbm_lib/mqttclient/mqtt.py b/inbm-lib/inbm_lib/mqttclient/mqtt.py
index b19d43945..174ef6175 100644
--- a/inbm-lib/inbm_lib/mqttclient/mqtt.py
+++ b/inbm-lib/inbm_lib/mqttclient/mqtt.py
@@ -1,7 +1,7 @@
"""
MQTT client class which uses the Eclipse Paho client library
- @copyright: Copyright 2017-2023 Intel Corporation All Rights Reserved.
+ @copyright: Copyright 2017-2024 Intel Corporation All Rights Reserved.
@license: SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_lib/path_prefixes.py b/inbm-lib/inbm_lib/path_prefixes.py
index 6b191c918..42e37d24b 100644
--- a/inbm-lib/inbm_lib/path_prefixes.py
+++ b/inbm-lib/inbm_lib/path_prefixes.py
@@ -1,7 +1,7 @@
"""
Intel Manageability path prefixes
- @copyright: Copyright 2017-2023 Intel Corporation All Rights Reserved.
+ @copyright: Copyright 2017-2024 Intel Corporation All Rights Reserved.
@license: SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_lib/request_message_constants.py b/inbm-lib/inbm_lib/request_message_constants.py
index a0e495299..fe161635d 100644
--- a/inbm-lib/inbm_lib/request_message_constants.py
+++ b/inbm-lib/inbm_lib/request_message_constants.py
@@ -2,7 +2,7 @@
Constants for OTA related message.
Used by INBC to detect OTA message.
- Copyright (C) 2019-2023 Intel Corporation
+ Copyright (C) 2019-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
# CONFIGURATION_SUCCESSFUL_OLD for older INB release (before ER47)
diff --git a/inbm-lib/inbm_lib/security_masker.py b/inbm-lib/inbm_lib/security_masker.py
index 1631274bc..6cf50cdbf 100644
--- a/inbm-lib/inbm_lib/security_masker.py
+++ b/inbm-lib/inbm_lib/security_masker.py
@@ -1,7 +1,7 @@
"""
Masks passwords and user names in log files, etc.
- @copyright: Copyright 2017-2023 Intel Corporation All Rights Reserved.
+ @copyright: Copyright 2017-2024 Intel Corporation All Rights Reserved.
@license: SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_lib/timer.py b/inbm-lib/inbm_lib/timer.py
index d126c81d5..7437e55e7 100644
--- a/inbm-lib/inbm_lib/timer.py
+++ b/inbm-lib/inbm_lib/timer.py
@@ -1,7 +1,7 @@
"""
Module to set the timer.
- Copyright (C) 2019-2023 Intel Corporation
+ Copyright (C) 2019-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_lib/trtl.py b/inbm-lib/inbm_lib/trtl.py
index e0f62abe0..e7d9c0024 100644
--- a/inbm-lib/inbm_lib/trtl.py
+++ b/inbm-lib/inbm_lib/trtl.py
@@ -5,7 +5,7 @@
This module constructs the necessary shell commands using the
appropriate boilerplate to call the TRTL executable
- @copyright: Copyright 2017-2023 Intel Corporation All Rights Reserved.
+ @copyright: Copyright 2017-2024 Intel Corporation All Rights Reserved.
@license: SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_lib/validate_package_list.py b/inbm-lib/inbm_lib/validate_package_list.py
index 32c861257..f5bf92006 100644
--- a/inbm-lib/inbm_lib/validate_package_list.py
+++ b/inbm-lib/inbm_lib/validate_package_list.py
@@ -1,7 +1,7 @@
"""
Function to parse and validate CSV package list (e.g. for Ubuntu).
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm-lib/inbm_lib/windows_service.py b/inbm-lib/inbm_lib/windows_service.py
index cc601dc4d..93ed540e0 100644
--- a/inbm-lib/inbm_lib/windows_service.py
+++ b/inbm-lib/inbm_lib/windows_service.py
@@ -5,7 +5,7 @@
to run as a Windows service. On other OSes, these methods will be ignored and the base class
will be a stub.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import abc
diff --git a/inbm-lib/inbm_lib/wmi.py b/inbm-lib/inbm_lib/wmi.py
index 35134a43f..b2cb0358a 100644
--- a/inbm-lib/inbm_lib/wmi.py
+++ b/inbm-lib/inbm_lib/wmi.py
@@ -1,7 +1,7 @@
"""
Functions for calling and parsing wmic tool output on Windows
- @copyright: Copyright 2020-2023 Intel Corporation All Rights Reserved.
+ @copyright: Copyright 2020-2024 Intel Corporation All Rights Reserved.
@license: SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm-lib/inbm_lib/wmi_exception.py b/inbm-lib/inbm_lib/wmi_exception.py
index 96644aa8f..f6c3580e2 100644
--- a/inbm-lib/inbm_lib/wmi_exception.py
+++ b/inbm-lib/inbm_lib/wmi_exception.py
@@ -1,7 +1,7 @@
"""
Exception for WMI errors
- @copyright: Copyright 2021-2023 Intel Corporation All Rights Reserved.
+ @copyright: Copyright 2021-2024 Intel Corporation All Rights Reserved.
@license: Intel, see licenses/LICENSE for more details.
"""
diff --git a/inbm-lib/inbm_lib/xmlhandler.py b/inbm-lib/inbm_lib/xmlhandler.py
index 1bb4e51d0..4ef421595 100644
--- a/inbm-lib/inbm_lib/xmlhandler.py
+++ b/inbm-lib/inbm_lib/xmlhandler.py
@@ -1,7 +1,7 @@
"""
Module that handles parsing of XML files
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import io
diff --git a/inbm/Changelog.md b/inbm/Changelog.md
index 8047b01b4..a06093769 100644
--- a/inbm/Changelog.md
+++ b/inbm/Changelog.md
@@ -24,7 +24,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- Ensure the GUID in the manifest if provided matches one of the GUIDs on the system before performing a FOTA.
- dependabot: update golang.org/x/net from 0.14.0 to 0.17.0 in /inbm/trtl (addresses CVE-2023-39325, CVE-2023-44487)
- update pypi urllib3 from 1.26.17 to 1.26.18 (addresses CVE-2023-45803 in urllib3)
- - depandabot: bump github.com/docker/docker from 24.0.5+incompatible to 24.0.7+incompatible in /inbm/trtl (addresses GHSA-jq35-85cj-fj4p)
+ - dependabot: bump github.com/docker/docker from 24.0.5+incompatible to 24.0.7+incompatible in /inbm/trtl (addresses GHSA-jq35-85cj-fj4p)
- dependabot: Bump cryptography from 41.0.4 to 41.0.6 in /inbm/dispatcher-agen (addresses CVE-2023-49083, CVE-2023-5678, CVE-2023-5363)
- update included reference certifi source code from 2020.12.05 to 2023.7.22, which was not a security issue per se but was flagged in BDBA as it contains CVE-2022-23491 and CVE-2023-37920
- dependabot: Bump pyinstaller from 5.13.0 to 5.13.1 in all agents/programs (addresses CVE-2023-49797)
diff --git a/inbm/LICENSE b/inbm/LICENSE
index 8633f0303..53c3ca3a3 100644
--- a/inbm/LICENSE
+++ b/inbm/LICENSE
@@ -193,7 +193,7 @@ Intel In-Band Manageability is under the Apache License v2.0:
same "printed page" as the copyright notice for easier
identification within third-party archives.
- Copyright 2021-2023 Intel Corporation
+ Copyright 2021-2024 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/inbm/cloudadapter-agent/Makefile b/inbm/cloudadapter-agent/Makefile
index 24daf06ea..a6d49f875 100644
--- a/inbm/cloudadapter-agent/Makefile
+++ b/inbm/cloudadapter-agent/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
.PHONY: tests # `make tests` doesn't run because of the tests directory
diff --git a/inbm/cloudadapter-agent/chardet/__init__.py b/inbm/cloudadapter-agent/chardet/__init__.py
index 8be130a0a..020e4d3f8 100644
--- a/inbm/cloudadapter-agent/chardet/__init__.py
+++ b/inbm/cloudadapter-agent/chardet/__init__.py
@@ -1,6 +1,6 @@
# dummy chardet
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from typing import Dict
diff --git a/inbm/cloudadapter-agent/cloudadapter/__init__.py b/inbm/cloudadapter-agent/cloudadapter/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/cloudadapter-agent/cloudadapter/__init__.py
+++ b/inbm/cloudadapter-agent/cloudadapter/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/agent/__init__.py b/inbm/cloudadapter-agent/cloudadapter/agent/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/cloudadapter-agent/cloudadapter/agent/__init__.py
+++ b/inbm/cloudadapter-agent/cloudadapter/agent/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/agent/broker.py b/inbm/cloudadapter-agent/cloudadapter/agent/broker.py
index 377634fd2..0a816bf9f 100644
--- a/inbm/cloudadapter-agent/cloudadapter/agent/broker.py
+++ b/inbm/cloudadapter-agent/cloudadapter/agent/broker.py
@@ -4,7 +4,7 @@
An instance of this class will be created to start the agent and listen
for incoming commands on the command channel
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/agent/device_manager.py b/inbm/cloudadapter-agent/cloudadapter/agent/device_manager.py
index 304aa1c25..1e18be96d 100644
--- a/inbm/cloudadapter-agent/cloudadapter/agent/device_manager.py
+++ b/inbm/cloudadapter-agent/cloudadapter/agent/device_manager.py
@@ -1,7 +1,7 @@
"""
Responsible for dealing with messages that manipulate the device
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/agent/publisher.py b/inbm/cloudadapter-agent/cloudadapter/agent/publisher.py
index 2f9791796..ee5f009de 100644
--- a/inbm/cloudadapter-agent/cloudadapter/agent/publisher.py
+++ b/inbm/cloudadapter-agent/cloudadapter/agent/publisher.py
@@ -2,7 +2,7 @@
Responsible for publishing messages to Intel(R) In-Band Manageability, doing some pre-parsing
before calling appropriate Broker methods.
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/client.py b/inbm/cloudadapter-agent/cloudadapter/client.py
index b561bb90c..de1e51b24 100644
--- a/inbm/cloudadapter-agent/cloudadapter/client.py
+++ b/inbm/cloudadapter-agent/cloudadapter/client.py
@@ -1,7 +1,7 @@
"""
Bridges the connection between the cloud adapter and the Intel(R) In-Band Manageability broker
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/__init__.py b/inbm/cloudadapter-agent/cloudadapter/cloud/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/__init__.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/adapter_factory.py b/inbm/cloudadapter-agent/cloudadapter/cloud/adapter_factory.py
index c644eadc3..fee13a471 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/adapter_factory.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/adapter_factory.py
@@ -1,7 +1,7 @@
"""
Provides concrete adapters with the Abstract Adapter interface
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/__init__.py b/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/__init__.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/adapter.py b/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/adapter.py
index 851989559..686fea026 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/adapter.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/adapter.py
@@ -1,7 +1,7 @@
"""
Abstract base class used by all cloud adapters
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/azure_adapter.py b/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/azure_adapter.py
index 837c5afd7..71077a926 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/azure_adapter.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/azure_adapter.py
@@ -4,7 +4,7 @@
Connects to Azure IoT Central via the General Cloud MQTT client
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/generic_adapter.py b/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/generic_adapter.py
index 96df99bd9..00344a891 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/generic_adapter.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/adapters/generic_adapter.py
@@ -4,7 +4,7 @@
Connects to a custom cloud client via the General Cloud MQTT client
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from ...exceptions import AdapterConfigureError, ClientBuildError
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/client/__init__.py b/inbm/cloudadapter-agent/cloudadapter/cloud/client/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/client/__init__.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/client/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/client/connections/__init__.py b/inbm/cloudadapter-agent/cloudadapter/cloud/client/connections/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/client/connections/__init__.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/client/connections/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/client/handlers/__init__.py b/inbm/cloudadapter-agent/cloudadapter/cloud/client/handlers/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/client/handlers/__init__.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/client/handlers/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/__init__.py b/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/__init__.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/_messenger.py b/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/_messenger.py
index 63ebb7f1c..be7cfa200 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/_messenger.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/_messenger.py
@@ -3,7 +3,7 @@
Messengers are responsible for creating a properly formatted payload,
then ensuring their successful publish to the cloud.
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/one_way_messenger.py b/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/one_way_messenger.py
index def23b15d..fca94295c 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/one_way_messenger.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/client/messengers/one_way_messenger.py
@@ -2,7 +2,7 @@
Messenger responsible for publishing events.
Publishes are one way, purely based on the MQTT protocol.
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/cloud_builders.py b/inbm/cloudadapter-agent/cloudadapter/cloud/cloud_builders.py
index 9b4290813..127a3c978 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/cloud_builders.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/cloud_builders.py
@@ -1,7 +1,7 @@
"""
Module containing functions that direct the building of CloudClients
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/cloudadapter-agent/cloudadapter/cloud/cloud_publisher.py b/inbm/cloudadapter-agent/cloudadapter/cloud/cloud_publisher.py
index 07c587218..c10c6d681 100644
--- a/inbm/cloudadapter-agent/cloudadapter/cloud/cloud_publisher.py
+++ b/inbm/cloudadapter-agent/cloudadapter/cloud/cloud_publisher.py
@@ -2,7 +2,7 @@
Responsible for publishing messages to the cloud, doing some preparsing
before calling appropriate Adapter methods
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/constants.py b/inbm/cloudadapter-agent/cloudadapter/constants.py
index 337f9e8ee..651883aa5 100644
--- a/inbm/cloudadapter-agent/cloudadapter/constants.py
+++ b/inbm/cloudadapter-agent/cloudadapter/constants.py
@@ -1,7 +1,7 @@
"""
Constants and other config variables used throughout the cloudadapter module
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/exceptions.py b/inbm/cloudadapter-agent/cloudadapter/exceptions.py
index fff2f0eb2..c27a949b4 100644
--- a/inbm/cloudadapter-agent/cloudadapter/exceptions.py
+++ b/inbm/cloudadapter-agent/cloudadapter/exceptions.py
@@ -1,7 +1,7 @@
"""
Exceptions used throughout the cloudadapter module
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/cloudadapter/utilities.py b/inbm/cloudadapter-agent/cloudadapter/utilities.py
index f95b728e9..4d4430010 100644
--- a/inbm/cloudadapter-agent/cloudadapter/utilities.py
+++ b/inbm/cloudadapter-agent/cloudadapter/utilities.py
@@ -1,7 +1,7 @@
"""
Utility functions and classes used throughout the cloudadapter module
-Copyright (C) 2017-2023 Intel Corporation
+Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/cloudadapter-agent/config.sh b/inbm/cloudadapter-agent/config.sh
index ef2aeb6b8..692a3855f 100755
--- a/inbm/cloudadapter-agent/config.sh
+++ b/inbm/cloudadapter-agent/config.sh
@@ -6,7 +6,7 @@
# The purpose of this script is to allow quick cloud configuration
# without having to run the actual provision installer script
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
# Usage:
diff --git a/inbm/cloudadapter-agent/fpm-template/lib/systemd/system/inbm-cloudadapter.service b/inbm/cloudadapter-agent/fpm-template/lib/systemd/system/inbm-cloudadapter.service
index 1c31f4f53..f93027b65 100644
--- a/inbm/cloudadapter-agent/fpm-template/lib/systemd/system/inbm-cloudadapter.service
+++ b/inbm/cloudadapter-agent/fpm-template/lib/systemd/system/inbm-cloudadapter.service
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
[Unit]
diff --git a/inbm/cloudadapter-agent/fpm-template/usr/bin/provision-tc b/inbm/cloudadapter-agent/fpm-template/usr/bin/provision-tc
index 1514b10dc..8df19cd63 100755
--- a/inbm/cloudadapter-agent/fpm-template/usr/bin/provision-tc
+++ b/inbm/cloudadapter-agent/fpm-template/usr/bin/provision-tc
@@ -1,7 +1,7 @@
#!/bin/bash
# Shell script that provisions Intel(R) In-Band Manageability Framework
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
# PROVISION_TPM could be set to auto, disable, or enable, or could be unset
diff --git a/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_2.4.json b/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_2.4.json
index 336f1cd8a..95e545da0 100644
--- a/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_2.4.json
+++ b/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_2.4.json
@@ -13,9 +13,9 @@
"sizeX": 6.5,
"sizeY": 4.5,
"resources": [],
- "templateHtml": "\n\n\n\n
",
- "templateCss": "/*\nDevice List widget CSS\n\nCopyright (C) 2017-2023 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\n\n#info-panel {\n overflow: auto;\n margin: 0;\n}\n\n.header-box {\n top: 0;\n z-index: 10;\n box-sizing: border-box;\n\n position: -webkit-sticky;\n position: sticky;\n padding: 1.5rem 1.5rem 0.5rem 1.5rem;\n background-color: #fff;\n margin-bottom: 1.5rem;\n \n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n}\n\n.header {\n font-size: 1.25rem;\n font-weight: 500;\n}\n\n.md-errors-spacer {\n display: none;\n}\n\n.search-box {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n}\n\n.search {\n flex-basis: 1;\n flex-grow: 1;\n}\n\n.device {\n margin: 0 1.5rem 0.5rem 1.5rem;\n display: flex;\n flex-flow: column nowrap;\n}",
- "controllerScript": "/*\nDevice List widget AngularJS controller code\n\nCopyright (C) 2017-2023 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\nself.onInit = function() {\n const scope = self.ctx.$scope;\n scope.online = false;\n\n // Initialize the devices object\n scope.devices = [];\n self.ctx.datasources.forEach(source => {\n // Create the devices\n device = {\n selected: true,\n name: source.name,\n id: source.entityId\n };\n scope.devices.push(device);\n });\n scope.devices.sort((a, b) => {\n // Sort the devices by name alphabetically\n const an = a.name;\n const bn = b.name;\n return an < bn ? -1 : an > bn ? 1 : 0;\n });\n \n // Initialize the search object\n scope.search = {\n name: \"\"\n };\n \n // Batch alter the select state\n scope.batchSelect = state => {\n for (let name in scope.devices) {\n const device = scope.devices[name];\n device.selected = state;\n }\n };\n \n // Broadcast an event with the selected events\n scope.selected = () => {\n const selectedIds = [];\n scope.devices.forEach(device => {\n if (device.selected) {\n selectedIds.push({\n id: device.id,\n name: device.name\n }); \n }\n });\n const deviceSelected = new CustomEvent(\n 'deviceSelected',\n {detail: selectedIds}\n );\n document.dispatchEvent(deviceSelected);\n };\n \n // Broadcast event on updates\n scope.$watch('devices', scope.selected, true);\n};\n\nself.onDataUpdated = function() {\n const scope = self.ctx.$scope;\n scope.selected();\n};\n\nself.onResize = function() {};\n\nself.onDestroy = function() {};\n",
+ "templateHtml": "\n\n\n\n",
+ "templateCss": "/*\nDevice List widget CSS\n\nCopyright (C) 2017-2024 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\n\n#info-panel {\n overflow: auto;\n margin: 0;\n}\n\n.header-box {\n top: 0;\n z-index: 10;\n box-sizing: border-box;\n\n position: -webkit-sticky;\n position: sticky;\n padding: 1.5rem 1.5rem 0.5rem 1.5rem;\n background-color: #fff;\n margin-bottom: 1.5rem;\n \n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n}\n\n.header {\n font-size: 1.25rem;\n font-weight: 500;\n}\n\n.md-errors-spacer {\n display: none;\n}\n\n.search-box {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n}\n\n.search {\n flex-basis: 1;\n flex-grow: 1;\n}\n\n.device {\n margin: 0 1.5rem 0.5rem 1.5rem;\n display: flex;\n flex-flow: column nowrap;\n}",
+ "controllerScript": "/*\nDevice List widget AngularJS controller code\n\nCopyright (C) 2017-2024 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\nself.onInit = function() {\n const scope = self.ctx.$scope;\n scope.online = false;\n\n // Initialize the devices object\n scope.devices = [];\n self.ctx.datasources.forEach(source => {\n // Create the devices\n device = {\n selected: true,\n name: source.name,\n id: source.entityId\n };\n scope.devices.push(device);\n });\n scope.devices.sort((a, b) => {\n // Sort the devices by name alphabetically\n const an = a.name;\n const bn = b.name;\n return an < bn ? -1 : an > bn ? 1 : 0;\n });\n \n // Initialize the search object\n scope.search = {\n name: \"\"\n };\n \n // Batch alter the select state\n scope.batchSelect = state => {\n for (let name in scope.devices) {\n const device = scope.devices[name];\n device.selected = state;\n }\n };\n \n // Broadcast an event with the selected events\n scope.selected = () => {\n const selectedIds = [];\n scope.devices.forEach(device => {\n if (device.selected) {\n selectedIds.push({\n id: device.id,\n name: device.name\n }); \n }\n });\n const deviceSelected = new CustomEvent(\n 'deviceSelected',\n {detail: selectedIds}\n );\n document.dispatchEvent(deviceSelected);\n };\n \n // Broadcast event on updates\n scope.$watch('devices', scope.selected, true);\n};\n\nself.onDataUpdated = function() {\n const scope = self.ctx.$scope;\n scope.selected();\n};\n\nself.onResize = function() {};\n\nself.onDestroy = function() {};\n",
"settingsSchema": "{}",
"dataKeySettingsSchema": "{}\n",
"defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"My Device\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Happiness\",\"color\":\"#ff9800\",\"settings\":{},\"_hash\":0.26790778871949805,\"funcBody\":\"return Math.round(1000*Math.cos(time/5000));\"},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Temperature\",\"color\":\"rgb(33, 150, 243)\",\"settings\":{},\"_hash\":0.682878536509057,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -1000) {\\n\\tvalue = -1000;\\n} else if (value > 1000) {\\n\\tvalue = 1000;\\n}\\nreturn value;\"}]}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0\",\"settings\":{},\"title\":\"Device List\",\"dropShadow\":true,\"enableFullscreen\":false,\"widgetStyle\":{},\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"useDashboardTimewindow\":true,\"displayTimewindow\":true,\"showLegend\":false,\"actions\":{}}"
@@ -29,9 +29,9 @@
"sizeX": 8,
"sizeY": 5,
"resources": [],
- "templateHtml": "\n\n\n\n\n\n",
- "templateCss": "/*\nDocker Container Stats widget CSS\n\nCopyright (C) 2017-2023 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\n#info-panel {\n overflow: auto;\n margin: 0;\n}\n\n.device {\n margin: 0;\n display: flex;\n flex-flow: column nowrap;\n}\n\n.header-box {\n top: 0;\n z-index: 10;\n box-sizing: border-box;\n\n position: -webkit-sticky;\n position: sticky;\n padding: 1rem;\n background-color: #fff;\n margin-bottom: 1.5rem;\n \n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n}\n\n.header-title {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n font-size: 1.05rem;\n margin-bottom: 0.5rem;\n}\n\n.header-info {\n font-size: 0.9rem;\n color: #777;\n}\n\n.md-errors-spacer {\n display: none;\n}\n\n.search-box {\n display: inline-block;\n flex-flow: row nowrap;\n align-items: center;\n margin: 0;\n}\n\n.search {\n flex-basis: 1;\n flex-grow: 1;\n}\n\nmd-progress-circular svg path {\n stroke: #777;\n}\n\n.no-data {\n margin: 0 auto;\n}\n\n.container {\n opacity: 0.5;\n box-sizing: border-box;\n width: 100%;\n margin-bottom: 1rem;\n padding: 0rem 1rem;\n font-size: 0.9rem;\n}\n\n.container-name {\n margin-right: 0.5rem;\n word-wrap: break-word;\n font-weight: bold;\n}\n\n.container-stats {\n display: flex;\n flex-flow: row wrap;\n word-wrap: break-word;\n word-break: break-all;\n color: #666;\n}\n\n.container-active {\n opacity: 1;\n}\n\n.stat {\n margin-bottom: 0.25rem;\n}",
- "controllerScript": "/*\nDocker Container Stats widget AngularJS controller code\n\nCopyright (C) 2017-2023 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\nself.onInit = function() {\n\n const scope = self.ctx.$scope;\n \n scope.containers = [];\n \n // Toggle search mode\n scope.filter = { name: \"\" };\n scope.searching = false;\n scope.search = () => {\n scope.searching = !scope.searching;\n if (scope.searching) {\n setTimeout(() => \n document.getElementById(\"dcs-search-box\").focus());\n } else {\n scope.filter.name = \"\";\n }\n };\n \n // Show waiting animation while command is being sent\n scope.waiting = false;\n document.addEventListener('rpcAck', rpcAck => {\n console.log(rpcAck.detail === false);\n if (rpcAck.detail === false) {\n scope.waiting = false;\n }\n });\n\n // Send an RPC request to refresh the stats\n scope.refresh = () => {\n const rpcRequest = new CustomEvent(\n 'rpcRequest', {\n detail: {\n command: \"triggeraota\",\n payload: {\n app: \"docker\",\n cmd: \"stats\"\n }\n }\n }\n );\n scope.waiting = true;\n document.dispatchEvent(rpcRequest);\n \n // Timeout the waiting animation\n setTimeout(\n () => scope.waiting = false,\n self.ctx.settings.refreshTimeout\n );\n };\n};\n\nself.onDataUpdated = function() {\n\n const scope = self.ctx.$scope;\n const isNumber = n => !isNaN(parseFloat(n)) && isFinite(n);\n \n let maxTS = 0;\n \n self.ctx.data.forEach(data => {\n // Timestamp is left, prop is right\n if (data.data.length === 0) return;\n let ts = data.data[0][0];\n let value = data.data[0][1];\n \n // Try to parse container stats\n let containers_data = null;\n try {\n containers_data = JSON.parse(value);\n } catch (e) {\n return;\n } finally {\n if (containers_data === null\n || !containers_data.hasOwnProperty(\"containers\")) {\n return;\n }\n }\n \n // Create container objects\n const containers = [];\n containers_data.containers.forEach(c => {\n container = {\n name: c.name,\n stats: {},\n sum: 0\n };\n for (const key in c) {\n if (key != \"name\") {\n const val = c[key];\n container.stats[key] = val;\n if (! isNaN(val)) container.sum += val;\n }\n }\n containers.push(container);\n });\n \n containers.sort((a, b) => {\n // Non-zero containers come first\n // Logical XOR on a.sum and b.sum\n if (a.sum ? !b.sum : b.sum) {\n return a.sum > b.sum ? -1 : 1;\n }\n\n // Alphabetical sort\n an = a.name;\n bn = b.name;\n return an < bn ? -1 : an > bn ? 1 : 0;\n });\n\n // Update containers\n scope.containers = containers;\n\n if (ts > maxTS) {\n maxTS = ts;\n }\n });\n \n if (maxTS > 0) {\n const lastUpdatedTS = new Date(0);\n lastUpdatedTS.setUTCMilliseconds(maxTS);\n scope.lastUpdated = lastUpdatedTS.toLocaleString();\n setTimeout(() => scope.waiting = false, 10);\n }\n};\n\nself.onResize = function() {};\n\nself.onDestroy = function() {};\n",
+ "templateHtml": "\n\n\n\n\n\n",
+ "templateCss": "/*\nDocker Container Stats widget CSS\n\nCopyright (C) 2017-2024 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\n#info-panel {\n overflow: auto;\n margin: 0;\n}\n\n.device {\n margin: 0;\n display: flex;\n flex-flow: column nowrap;\n}\n\n.header-box {\n top: 0;\n z-index: 10;\n box-sizing: border-box;\n\n position: -webkit-sticky;\n position: sticky;\n padding: 1rem;\n background-color: #fff;\n margin-bottom: 1.5rem;\n \n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n}\n\n.header-title {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n font-size: 1.05rem;\n margin-bottom: 0.5rem;\n}\n\n.header-info {\n font-size: 0.9rem;\n color: #777;\n}\n\n.md-errors-spacer {\n display: none;\n}\n\n.search-box {\n display: inline-block;\n flex-flow: row nowrap;\n align-items: center;\n margin: 0;\n}\n\n.search {\n flex-basis: 1;\n flex-grow: 1;\n}\n\nmd-progress-circular svg path {\n stroke: #777;\n}\n\n.no-data {\n margin: 0 auto;\n}\n\n.container {\n opacity: 0.5;\n box-sizing: border-box;\n width: 100%;\n margin-bottom: 1rem;\n padding: 0rem 1rem;\n font-size: 0.9rem;\n}\n\n.container-name {\n margin-right: 0.5rem;\n word-wrap: break-word;\n font-weight: bold;\n}\n\n.container-stats {\n display: flex;\n flex-flow: row wrap;\n word-wrap: break-word;\n word-break: break-all;\n color: #666;\n}\n\n.container-active {\n opacity: 1;\n}\n\n.stat {\n margin-bottom: 0.25rem;\n}",
+ "controllerScript": "/*\nDocker Container Stats widget AngularJS controller code\n\nCopyright (C) 2017-2024 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\nself.onInit = function() {\n\n const scope = self.ctx.$scope;\n \n scope.containers = [];\n \n // Toggle search mode\n scope.filter = { name: \"\" };\n scope.searching = false;\n scope.search = () => {\n scope.searching = !scope.searching;\n if (scope.searching) {\n setTimeout(() => \n document.getElementById(\"dcs-search-box\").focus());\n } else {\n scope.filter.name = \"\";\n }\n };\n \n // Show waiting animation while command is being sent\n scope.waiting = false;\n document.addEventListener('rpcAck', rpcAck => {\n console.log(rpcAck.detail === false);\n if (rpcAck.detail === false) {\n scope.waiting = false;\n }\n });\n\n // Send an RPC request to refresh the stats\n scope.refresh = () => {\n const rpcRequest = new CustomEvent(\n 'rpcRequest', {\n detail: {\n command: \"triggeraota\",\n payload: {\n app: \"docker\",\n cmd: \"stats\"\n }\n }\n }\n );\n scope.waiting = true;\n document.dispatchEvent(rpcRequest);\n \n // Timeout the waiting animation\n setTimeout(\n () => scope.waiting = false,\n self.ctx.settings.refreshTimeout\n );\n };\n};\n\nself.onDataUpdated = function() {\n\n const scope = self.ctx.$scope;\n const isNumber = n => !isNaN(parseFloat(n)) && isFinite(n);\n \n let maxTS = 0;\n \n self.ctx.data.forEach(data => {\n // Timestamp is left, prop is right\n if (data.data.length === 0) return;\n let ts = data.data[0][0];\n let value = data.data[0][1];\n \n // Try to parse container stats\n let containers_data = null;\n try {\n containers_data = JSON.parse(value);\n } catch (e) {\n return;\n } finally {\n if (containers_data === null\n || !containers_data.hasOwnProperty(\"containers\")) {\n return;\n }\n }\n \n // Create container objects\n const containers = [];\n containers_data.containers.forEach(c => {\n container = {\n name: c.name,\n stats: {},\n sum: 0\n };\n for (const key in c) {\n if (key != \"name\") {\n const val = c[key];\n container.stats[key] = val;\n if (! isNaN(val)) container.sum += val;\n }\n }\n containers.push(container);\n });\n \n containers.sort((a, b) => {\n // Non-zero containers come first\n // Logical XOR on a.sum and b.sum\n if (a.sum ? !b.sum : b.sum) {\n return a.sum > b.sum ? -1 : 1;\n }\n\n // Alphabetical sort\n an = a.name;\n bn = b.name;\n return an < bn ? -1 : an > bn ? 1 : 0;\n });\n\n // Update containers\n scope.containers = containers;\n\n if (ts > maxTS) {\n maxTS = ts;\n }\n });\n \n if (maxTS > 0) {\n const lastUpdatedTS = new Date(0);\n lastUpdatedTS.setUTCMilliseconds(maxTS);\n scope.lastUpdated = lastUpdatedTS.toLocaleString();\n setTimeout(() => scope.waiting = false, 10);\n }\n};\n\nself.onResize = function() {};\n\nself.onDestroy = function() {};\n",
"settingsSchema": "{\n \"schema\": {\n \"type\": \"object\",\n \"title\": \"Settings\",\n \"properties\": {\n \"refreshTimeout\": {\n \"title\": \"Refresh Timeout\",\n \"type\": \"number\",\n \"default\": 8000\n }\n }\n }\n}",
"dataKeySettingsSchema": "{}",
"defaultConfig": "{\"showTitle\":false,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{},\"title\":\"Docker Stats Widget\",\"dropShadow\":true,\"enableFullscreen\":true,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"mobileHeight\":null,\"showTitleIcon\":false,\"titleIcon\":\"more_horiz\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"24px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"useDashboardTimewindow\":true,\"displayTimewindow\":true,\"showLegend\":false,\"actions\":{},\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Sin\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.7570621101814305,\"funcBody\":\"return Math.round(1000*Math.sin(time/5000));\"}]}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}}}"
@@ -77,9 +77,9 @@
"sizeX": 6.5,
"sizeY": 4.5,
"resources": [],
- "templateHtml": "\n\n\n\n",
- "templateCss": "/*\nDevice Information widget CSS\n\n@copyright: Copyright 2019-2023 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\n#info-panel {\n overflow: auto;\n margin: 0;\n}\n\n.device {\n margin: 0 1rem 1rem 1rem;\n display: flex;\n flex-flow: column nowrap;\n}\n\n.device-header {\n top: 0;\n box-sizing: border-box;\n position: -webkit-sticky;\n position: sticky;\n padding: 1rem 0;\n background-color: #fff;\n}\n\n.device-name {\n display: inline-block;\n font-size: 1.25rem;\n font-weight: 500;\n margin-right: 1rem;\n}\n\n.device-status {\n display: inline-block;\n font-size: 0.9rem;\n color: #666;\n}\n\n.device-property {\n display: flex;\n width: 100%;\n margin: 0.25rem auto;\n font-size: 0.9rem;\n}\n\n.property-key {\n flex: 1;\n flex-basis: 30%;\n margin-right: 0.5rem;\n word-wrap: break-word;\n}\n\n.property-value {\n flex: 2;\n flex-basis: 70%;\n color: #666;\n word-wrap: break-word;\n word-break: break-all;\n}",
- "controllerScript": "/*\nDevice Information widget AngularJS controller code\n\n@copyright: Copyright 2019-2023 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\nself.onInit = function() {\n \n const scope = self.ctx.$scope;\n scope.online = false;\n\n // Initialize the devices object\n scope.devices = {};\n self.ctx.datasources.forEach(source => {\n // Create the devices\n props = {};\n source.dataKeys.forEach(key => {\n props[key.label] = \"\";\n });\n scope.devices[source.name] = props;\n });\n};\n\nself.onDataUpdated = function() {\n\n const scope = self.ctx.$scope;\n const isNumber = n => !isNaN(parseFloat(n)) && isFinite(n);\n \n self.ctx.data.forEach(data => {\n // Timestamp is left, prop is right\n if (data.data.length === 0) return;\n value = data.data[0][1];\n \n // Properly format numeric data\n if (isNumber(value)) {\n let decimals = self.ctx.decimals;\n let units = self.ctx.units;\n if (data.dataKey.decimals || data.dataKey.decimals === 0) {\n decimals = data.dataKey.decimals;\n }\n if (data.dataKey.units) {\n units = data.dataKey.units;\n }\n value = self.ctx.utils.formatValue(value, decimals, units, true);\n }\n \n // Set the correct property\n scope.devices[data.datasource.name][data.dataKey.label] = value;\n });\n};\n\nself.onResize = function() {};\n\nself.onDestroy = function() {};\n",
+ "templateHtml": "\n\n\n\n",
+ "templateCss": "/*\nDevice Information widget CSS\n\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\n#info-panel {\n overflow: auto;\n margin: 0;\n}\n\n.device {\n margin: 0 1rem 1rem 1rem;\n display: flex;\n flex-flow: column nowrap;\n}\n\n.device-header {\n top: 0;\n box-sizing: border-box;\n position: -webkit-sticky;\n position: sticky;\n padding: 1rem 0;\n background-color: #fff;\n}\n\n.device-name {\n display: inline-block;\n font-size: 1.25rem;\n font-weight: 500;\n margin-right: 1rem;\n}\n\n.device-status {\n display: inline-block;\n font-size: 0.9rem;\n color: #666;\n}\n\n.device-property {\n display: flex;\n width: 100%;\n margin: 0.25rem auto;\n font-size: 0.9rem;\n}\n\n.property-key {\n flex: 1;\n flex-basis: 30%;\n margin-right: 0.5rem;\n word-wrap: break-word;\n}\n\n.property-value {\n flex: 2;\n flex-basis: 70%;\n color: #666;\n word-wrap: break-word;\n word-break: break-all;\n}",
+ "controllerScript": "/*\nDevice Information widget AngularJS controller code\n\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\nself.onInit = function() {\n \n const scope = self.ctx.$scope;\n scope.online = false;\n\n // Initialize the devices object\n scope.devices = {};\n self.ctx.datasources.forEach(source => {\n // Create the devices\n props = {};\n source.dataKeys.forEach(key => {\n props[key.label] = \"\";\n });\n scope.devices[source.name] = props;\n });\n};\n\nself.onDataUpdated = function() {\n\n const scope = self.ctx.$scope;\n const isNumber = n => !isNaN(parseFloat(n)) && isFinite(n);\n \n self.ctx.data.forEach(data => {\n // Timestamp is left, prop is right\n if (data.data.length === 0) return;\n value = data.data[0][1];\n \n // Properly format numeric data\n if (isNumber(value)) {\n let decimals = self.ctx.decimals;\n let units = self.ctx.units;\n if (data.dataKey.decimals || data.dataKey.decimals === 0) {\n decimals = data.dataKey.decimals;\n }\n if (data.dataKey.units) {\n units = data.dataKey.units;\n }\n value = self.ctx.utils.formatValue(value, decimals, units, true);\n }\n \n // Set the correct property\n scope.devices[data.datasource.name][data.dataKey.label] = value;\n });\n};\n\nself.onResize = function() {};\n\nself.onDestroy = function() {};\n",
"settingsSchema": "{}",
"dataKeySettingsSchema": "{}\n",
"defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"My Device\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Happiness\",\"color\":\"#ff9800\",\"settings\":{},\"_hash\":0.26790778871949805,\"funcBody\":\"return Math.round(1000*Math.cos(time/5000));\"},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Temperature\",\"color\":\"rgb(33, 150, 243)\",\"settings\":{},\"_hash\":0.682878536509057,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -1000) {\\n\\tvalue = -1000;\\n} else if (value > 1000) {\\n\\tvalue = 1000;\\n}\\nreturn value;\"}]}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"8px\",\"settings\":{},\"title\":\"Device Information\",\"dropShadow\":true,\"enableFullscreen\":true,\"widgetStyle\":{},\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"useDashboardTimewindow\":true,\"displayTimewindow\":true,\"showLegend\":false,\"actions\":{}}"
@@ -93,9 +93,9 @@
"sizeX": 4.5,
"sizeY": 2,
"resources": [],
- "templateHtml": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Method\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ o.label }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n SEND\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Results\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{otaSuccess}}\r\n \r\n check_circle\r\n \r\n \r\n \r\n {{otaFailure}}\r\n \r\n cancel\r\n \r\n \r\n \r\n \r\n \r\n get_app\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{response.success ? 'check_circle' : 'cancel'}}\r\n \r\n {{response.name}}\r\n
\r\n
\r\n {{response.message}}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
",
- "templateCss": "/*\r\nThe OTA Form widget CSS\r\n\r\n@copyright: Copyright 2019-2023 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\n#ota-method-button-wrapper {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n#ota-method-button {\r\n background-color: rgb(33, 150, 243);\r\n width: 80%;\r\n}",
- "controllerScript": "/*\r\nOTA Form widget AngularJS controller code\r\n\r\n@copyright: Copyright 2019-20232 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\nself.onInit = function() {\r\n\r\n const scope = self.ctx.$scope;\r\n const settings = self.ctx.settings;\r\n\r\n // Callback to show the prerendered dialog\r\n $mdDialog = scope.$injector.get(\"$mdDialog\");\r\n scope.displayDialog = event => {\r\n $mdDialog.show({\r\n contentElement: '#ota-dialog-' + scope.otaMethod,\r\n parent: angular.element(document.body),\r\n targetEvent: event,\r\n clickOutsideToClose: true\r\n });\r\n };\r\n\r\n // Callback to hide the dialog\r\n scope.closeDialog = () => {\r\n $mdDialog.cancel();\r\n scope.initOtaResponse();\r\n };\r\n\r\n // Set the method\r\n scope.otaMethodLabel = settings.otaMethodLabel;\r\n scope.otaMethod = settings.otaMethod;\r\n\r\n // Set the method select fields\r\n scope.otaSelectFields = [];\r\n if (settings.otaSelectFields) {\r\n settings.otaSelectFields.forEach(field => {\r\n scope.otaSelectFields.push(field);\r\n });\r\n }\r\n\r\n // Set the method text fields\r\n scope.otaTextFields = [];\r\n if (settings.otaTextFields) {\r\n settings.otaTextFields.forEach(field => {\r\n scope.otaTextFields.push(field);\r\n });\r\n }\r\n\r\n // Center button if no fields are present\r\n scope.alignButton =\r\n (scope.otaSelectFields.length || scope.otaTextFields.length)\r\n ? \"flex-end\" : \"center\";\r\n\r\n // The device response data\r\n scope.initOtaResponse = () => {\r\n scope.otaTab = 1;\r\n scope.otaSuccess = 0;\r\n scope.otaFailure = 0;\r\n scope.otaResponse = [];\r\n };\r\n scope.initOtaResponse();\r\n\r\n scope.addOtaResponse = (success, name, message) => {\r\n response = {\r\n 'success': success,\r\n 'name': name,\r\n 'message': message\r\n };\r\n (success) ? ++scope.otaSuccess : ++scope.otaFailure;\r\n scope.otaResponse.push(response);\r\n };\r\n\r\n // Callback for send button\r\n scope.batch = settings.batch;\r\n scope.send = () => {\r\n scope.initOtaResponse();\r\n if (scope.batch) {\r\n scope.sendFieldsBatch();\r\n } else {\r\n scope.sendFields();\r\n }\r\n };\r\n\r\n // Simulate a batch RPC\r\n scope.devices = [];\r\n scope.sendFieldsBatch = () => {\r\n scope.devices.forEach(device => {\r\n self.ctx.defaultSubscription.targetDeviceId = device.id;\r\n self.ctx.defaultSubscription.targetDeviceName = device.name;\r\n scope.sendFields();\r\n });\r\n };\r\n\r\n // Send the fields and inputs to device\r\n scope.sendFields = () => {\r\n\r\n // Populate the method arguments\r\n const args = {};\r\n scope.otaTextFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data;\r\n });\r\n scope.otaSelectFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data.key;\r\n });\r\n\r\n // Send the arguments\r\n const timeout = settings.requestTimeout;\r\n const name = self.ctx.defaultSubscription.targetDeviceName;\r\n self.ctx.controlApi\r\n .sendTwoWayCommand(\r\n scope.otaMethod, args, timeout)\r\n .then(\r\n // Handle success\r\n success => scope.addOtaResponse(\r\n true, name, angular.toJson(success)),\r\n // Handle failure\r\n failure => scope.addOtaResponse(\r\n false, name, `\"${failure.status}`\r\n + ` ${failure.statusText} `\r\n + `${scope.rpcErrorText}\"`)\r\n )\r\n .finally(() => {\r\n const totalOta = scope.otaSuccess + scope.otaFailure;\r\n if (totalOta >= scope.devices.length) { // Include non-batch case\r\n scope.otaResponse.sort((a, b) => {\r\n if (a.success && !b.success) {\r\n return -1;\r\n } else if (!a.success && b.success) {\r\n return 1;\r\n } else if (a.name < b.name) {\r\n return -1;\r\n } else if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n scope.otaTab = 2;\r\n }\r\n });\r\n };\r\n\r\n // Save data as a .csv file\r\n // Adapted from https://stackoverflow.com/a/30832210\r\n scope.save = () => {\r\n // Create .CSV filename\r\n const cmd = scope.otaMethodLabel\r\n .toLocaleLowerCase()\r\n .replace(\" \", \"-\");\r\n const date = new Date();\r\n const d = date.getDate();\r\n const m = date.getMonth() + 1;\r\n const y = date.getFullYear();\r\n filename = `${cmd}_${y}-${m}-${d}.csv`;\r\n \r\n // Create .CSV file\r\n data = \"Send Status,Device Name,Message\\r\\n\";\r\n scope.otaResponse.forEach(r => {\r\n data += `${r.success},${r.name},${r.message}\\r\\n`;\r\n });\r\n \r\n type = \"text/plain\";\r\n const file = new Blob([data], {type: type});\r\n if (window.navigator.msSaveOrOpenBlob)\r\n window.navigator.msSaveOrOpenBlob(file, filename); // IE10+\r\n else {\r\n const a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function() {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n };\r\n\r\n // Listen to the globally broadcasted device selection event\r\n scope.updateList = e => scope.devices = e.detail;\r\n document.addEventListener(\"deviceSelected\", scope.updateList);\r\n\r\n // Run any resizing code\r\n self.onResize();\r\n};\r\n\r\nself.onResize = function() {};\r\n\r\nself.onDestroy = function() {\r\n document.removeEventListener(\"deviceActive\", self.ctx.$scope.updateList);\r\n};",
+ "templateHtml": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Method\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ o.label }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n SEND\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Results\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{otaSuccess}}\r\n \r\n check_circle\r\n \r\n \r\n \r\n {{otaFailure}}\r\n \r\n cancel\r\n \r\n \r\n \r\n \r\n \r\n get_app\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{response.success ? 'check_circle' : 'cancel'}}\r\n \r\n {{response.name}}\r\n
\r\n
\r\n {{response.message}}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
",
+ "templateCss": "/*\r\nThe OTA Form widget CSS\r\n\r\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\n#ota-method-button-wrapper {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n#ota-method-button {\r\n background-color: rgb(33, 150, 243);\r\n width: 80%;\r\n}",
+ "controllerScript": "/*\r\nOTA Form widget AngularJS controller code\r\n\r\n@copyright: Copyright 2019-20242 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\nself.onInit = function() {\r\n\r\n const scope = self.ctx.$scope;\r\n const settings = self.ctx.settings;\r\n\r\n // Callback to show the prerendered dialog\r\n $mdDialog = scope.$injector.get(\"$mdDialog\");\r\n scope.displayDialog = event => {\r\n $mdDialog.show({\r\n contentElement: '#ota-dialog-' + scope.otaMethod,\r\n parent: angular.element(document.body),\r\n targetEvent: event,\r\n clickOutsideToClose: true\r\n });\r\n };\r\n\r\n // Callback to hide the dialog\r\n scope.closeDialog = () => {\r\n $mdDialog.cancel();\r\n scope.initOtaResponse();\r\n };\r\n\r\n // Set the method\r\n scope.otaMethodLabel = settings.otaMethodLabel;\r\n scope.otaMethod = settings.otaMethod;\r\n\r\n // Set the method select fields\r\n scope.otaSelectFields = [];\r\n if (settings.otaSelectFields) {\r\n settings.otaSelectFields.forEach(field => {\r\n scope.otaSelectFields.push(field);\r\n });\r\n }\r\n\r\n // Set the method text fields\r\n scope.otaTextFields = [];\r\n if (settings.otaTextFields) {\r\n settings.otaTextFields.forEach(field => {\r\n scope.otaTextFields.push(field);\r\n });\r\n }\r\n\r\n // Center button if no fields are present\r\n scope.alignButton =\r\n (scope.otaSelectFields.length || scope.otaTextFields.length)\r\n ? \"flex-end\" : \"center\";\r\n\r\n // The device response data\r\n scope.initOtaResponse = () => {\r\n scope.otaTab = 1;\r\n scope.otaSuccess = 0;\r\n scope.otaFailure = 0;\r\n scope.otaResponse = [];\r\n };\r\n scope.initOtaResponse();\r\n\r\n scope.addOtaResponse = (success, name, message) => {\r\n response = {\r\n 'success': success,\r\n 'name': name,\r\n 'message': message\r\n };\r\n (success) ? ++scope.otaSuccess : ++scope.otaFailure;\r\n scope.otaResponse.push(response);\r\n };\r\n\r\n // Callback for send button\r\n scope.batch = settings.batch;\r\n scope.send = () => {\r\n scope.initOtaResponse();\r\n if (scope.batch) {\r\n scope.sendFieldsBatch();\r\n } else {\r\n scope.sendFields();\r\n }\r\n };\r\n\r\n // Simulate a batch RPC\r\n scope.devices = [];\r\n scope.sendFieldsBatch = () => {\r\n scope.devices.forEach(device => {\r\n self.ctx.defaultSubscription.targetDeviceId = device.id;\r\n self.ctx.defaultSubscription.targetDeviceName = device.name;\r\n scope.sendFields();\r\n });\r\n };\r\n\r\n // Send the fields and inputs to device\r\n scope.sendFields = () => {\r\n\r\n // Populate the method arguments\r\n const args = {};\r\n scope.otaTextFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data;\r\n });\r\n scope.otaSelectFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data.key;\r\n });\r\n\r\n // Send the arguments\r\n const timeout = settings.requestTimeout;\r\n const name = self.ctx.defaultSubscription.targetDeviceName;\r\n self.ctx.controlApi\r\n .sendTwoWayCommand(\r\n scope.otaMethod, args, timeout)\r\n .then(\r\n // Handle success\r\n success => scope.addOtaResponse(\r\n true, name, angular.toJson(success)),\r\n // Handle failure\r\n failure => scope.addOtaResponse(\r\n false, name, `\"${failure.status}`\r\n + ` ${failure.statusText} `\r\n + `${scope.rpcErrorText}\"`)\r\n )\r\n .finally(() => {\r\n const totalOta = scope.otaSuccess + scope.otaFailure;\r\n if (totalOta >= scope.devices.length) { // Include non-batch case\r\n scope.otaResponse.sort((a, b) => {\r\n if (a.success && !b.success) {\r\n return -1;\r\n } else if (!a.success && b.success) {\r\n return 1;\r\n } else if (a.name < b.name) {\r\n return -1;\r\n } else if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n scope.otaTab = 2;\r\n }\r\n });\r\n };\r\n\r\n // Save data as a .csv file\r\n // Adapted from https://stackoverflow.com/a/30832210\r\n scope.save = () => {\r\n // Create .CSV filename\r\n const cmd = scope.otaMethodLabel\r\n .toLocaleLowerCase()\r\n .replace(\" \", \"-\");\r\n const date = new Date();\r\n const d = date.getDate();\r\n const m = date.getMonth() + 1;\r\n const y = date.getFullYear();\r\n filename = `${cmd}_${y}-${m}-${d}.csv`;\r\n \r\n // Create .CSV file\r\n data = \"Send Status,Device Name,Message\\r\\n\";\r\n scope.otaResponse.forEach(r => {\r\n data += `${r.success},${r.name},${r.message}\\r\\n`;\r\n });\r\n \r\n type = \"text/plain\";\r\n const file = new Blob([data], {type: type});\r\n if (window.navigator.msSaveOrOpenBlob)\r\n window.navigator.msSaveOrOpenBlob(file, filename); // IE10+\r\n else {\r\n const a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function() {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n };\r\n\r\n // Listen to the globally broadcasted device selection event\r\n scope.updateList = e => scope.devices = e.detail;\r\n document.addEventListener(\"deviceSelected\", scope.updateList);\r\n\r\n // Run any resizing code\r\n self.onResize();\r\n};\r\n\r\nself.onResize = function() {};\r\n\r\nself.onDestroy = function() {\r\n document.removeEventListener(\"deviceActive\", self.ctx.$scope.updateList);\r\n};",
"settingsSchema": "{\n \"schema\": {\n \"type\": \"object\",\n \"title\": \"Settings\",\n \"properties\": {\n \"batch\": {\n \"title\": \"Batch RPC\",\n \"type\": \"boolean\",\n \"default\": false\n },\n \"otaMethodLabel\": {\n \"title\": \"OTA Method Label\",\n \"type\": \"string\",\n \"default\": \"Sample Method\"\n },\n \"otaMethod\": {\n \"title\": \"OTA Method Key\",\n \"type\": \"string\",\n \"default\": \"sample_method\"\n },\n \"otaSelectFields\": {\n \"title\": \"Select Box Fields\",\n \"type\": \"array\",\n \"minItems\": 0,\n \"items\": {\n \"title\": \"Select Box\",\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"key\": {\n \"title\": \"Key\",\n \"type\": \"string\"\n },\n \"options\": {\n \"title\": \"Options\",\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": {\n \"title\": \"Option\",\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"key\": {\n \"title\": \"Key\",\n \"type\": \"string\"\n }\n }\n }\n }\n }\n }\n },\n \"otaTextFields\": {\n \"title\": \"Text Box Fields\",\n \"type\": \"array\",\n \"minItems\": 0,\n \"items\": {\n \"title\": \"Text Box\",\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"key\": {\n \"title\": \"Key\",\n \"type\": \"string\"\n }\n }\n }\n },\n \"requestTimeout\": {\n \"title\": \"RPC request timeout\",\n \"type\": \"number\",\n \"default\": 500\n }\n }\n }\n}",
"dataKeySettingsSchema": "{}\n",
"defaultConfig": "{\"targetDeviceAliases\":[],\"showTitle\":false,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"requestTimeout\":500,\"otaTextFields\":[{\"label\":\"Sample Text\",\"key\":\"sample_text\"},{\"label\":\"Sample Text 2\",\"key\":\"sample_text_2\"}],\"otaSelectFields\":[{\"label\":\"Sample Select\",\"key\":\"sample_select\",\"options\":[{\"label\":\"Option 1\",\"key\":\"1\"},{\"label\":\"Option 2\",\"key\":\"2\"},{\"label\":\"Option 3\",\"key\":\"3\"}],\"data\":{\"label\":\"Option 1\",\"key\":\"1\"}},{\"label\":\"Sample Select 2\",\"key\":\"sample_select_2\",\"options\":[{\"label\":\"Option 1\",\"key\":\"1\"},{\"label\":\"Option 2\",\"key\":\"2\"},{\"label\":\"Option 3\",\"key\":\"3\"}],\"data\":{\"label\":\"Option 1\",\"key\":\"1\"}}],\"otaMethod\":\"sample_form_method\",\"otaMethodLabel\":\"Sample Form Method\"},\"title\":\"OTA Form\",\"dropShadow\":true,\"enableFullscreen\":false,\"widgetStyle\":{},\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"useDashboardTimewindow\":true,\"displayTimewindow\":true,\"showLegend\":false,\"actions\":{}}"
@@ -109,9 +109,9 @@
"sizeX": 6,
"sizeY": 1.5,
"resources": [],
- "templateHtml": "\n\n\n\n\n",
- "templateCss": "/*\nConnectivity Status widget CSS\n\n@copyright: Copyright 2019-2023 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\n.status {\n display: flex;\n align-items: center;\n width: 100%;\n height: 100%;\n background-color: gray;\n color: white;\n}\n\n.alive {\n background-color: green;\n}\n\n.text {\n display: inline-block;\n margin: 1rem;\n height: 1rem;\n font-size: 1rem;\n font-weight: bold;\n}\n\nmd-progress-circular svg path {\n stroke: white;\n}",
- "controllerScript": "/*\nConnectivity Status widget AngularJS controller code\n\n@copyright: Copyright 2019-2023 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\nself.onInit = function() {\n\n const scope = self.ctx.$scope;\n const settings = self.ctx.settings;\n\n // Initialization\n scope.connection = \"\";\n scope.pulse = 60000 * settings.pulse;\n\n // Callback to send the fields and inputs to device\n scope.ping = () => {\n\n // Send the arguments\n promise = self.ctx.controlApi\n .sendTwoWayCommand(\"ping\", {}, 500);\n promise.then(\n success => scope.connection =\n \"alive\",\n failure => scope.connection = \"\"\n );\n return promise;\n\n };\n \n // Defer the check in ping to avoid spam\n scope.deferred_ping = 0;\n scope.defer_ping = () => {\n clearTimeout(scope.deferred_ping);\n scope.deferred_ping = setTimeout(scope.ping, 5000);\n };\n\n // Recursive pulse ping\n scope.pulse_ping = () => setTimeout(() => {\n scope.defer_ping();\n scope.pulse_ping();\n }, scope.pulse);\n\n // Listen to the globally broadcasted connectivity event\n document.addEventListener(\"deviceActive\", scope\n .defer_ping);\n \n // Send an RPC on behalf of a widget that can't\n scope.sendRpc = rpcEvent => {\n if (rpcEvent.detail !== null) {\n command = rpcEvent.detail.command;\n payload = rpcEvent.detail.payload;\n self.ctx.controlApi\n .sendTwoWayCommand(command, payload, 500)\n .then(\n success => document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: true }\n )\n ),\n failure => document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: false }\n )\n )\n )\n }\n };\n \n // Listen for globally broadcasted RPC request events\n document.addEventListener(\"rpcRequest\", scope.sendRpc);\n\n scope.ping();\n scope.pulse_ping();\n};\n\nself.onDestroy = function() {\n document.removeEventListener(\"deviceActive\",\n self.ctx.$scope.ping);\n};",
+ "templateHtml": "\n\n\n\n\n",
+ "templateCss": "/*\nConnectivity Status widget CSS\n\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\n.status {\n display: flex;\n align-items: center;\n width: 100%;\n height: 100%;\n background-color: gray;\n color: white;\n}\n\n.alive {\n background-color: green;\n}\n\n.text {\n display: inline-block;\n margin: 1rem;\n height: 1rem;\n font-size: 1rem;\n font-weight: bold;\n}\n\nmd-progress-circular svg path {\n stroke: white;\n}",
+ "controllerScript": "/*\nConnectivity Status widget AngularJS controller code\n\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\nself.onInit = function() {\n\n const scope = self.ctx.$scope;\n const settings = self.ctx.settings;\n\n // Initialization\n scope.connection = \"\";\n scope.pulse = 60000 * settings.pulse;\n\n // Callback to send the fields and inputs to device\n scope.ping = () => {\n\n // Send the arguments\n promise = self.ctx.controlApi\n .sendTwoWayCommand(\"ping\", {}, 500);\n promise.then(\n success => scope.connection =\n \"alive\",\n failure => scope.connection = \"\"\n );\n return promise;\n\n };\n \n // Defer the check in ping to avoid spam\n scope.deferred_ping = 0;\n scope.defer_ping = () => {\n clearTimeout(scope.deferred_ping);\n scope.deferred_ping = setTimeout(scope.ping, 5000);\n };\n\n // Recursive pulse ping\n scope.pulse_ping = () => setTimeout(() => {\n scope.defer_ping();\n scope.pulse_ping();\n }, scope.pulse);\n\n // Listen to the globally broadcasted connectivity event\n document.addEventListener(\"deviceActive\", scope\n .defer_ping);\n \n // Send an RPC on behalf of a widget that can't\n scope.sendRpc = rpcEvent => {\n if (rpcEvent.detail !== null) {\n command = rpcEvent.detail.command;\n payload = rpcEvent.detail.payload;\n self.ctx.controlApi\n .sendTwoWayCommand(command, payload, 500)\n .then(\n success => document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: true }\n )\n ),\n failure => document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: false }\n )\n )\n )\n }\n };\n \n // Listen for globally broadcasted RPC request events\n document.addEventListener(\"rpcRequest\", scope.sendRpc);\n\n scope.ping();\n scope.pulse_ping();\n};\n\nself.onDestroy = function() {\n document.removeEventListener(\"deviceActive\",\n self.ctx.$scope.ping);\n};",
"settingsSchema": "{\n \"schema\": {\n \"type\": \"object\",\n \"title\": \"Settings\",\n \"properties\": {\n \"pulse\": {\n \"title\": \"Pulse (minutes)\",\n \"type\": \"number\",\n \"default\": 5\n }\n }\n }\n}",
"dataKeySettingsSchema": "{}",
"defaultConfig": "{\"showTitle\":false,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0\",\"settings\":{\"pulse\":10},\"title\":\"Connectivity Status\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"mobileHeight\":null,\"targetDeviceAliases\":[],\"widgetStyle\":{},\"useDashboardTimewindow\":true,\"displayTimewindow\":true,\"showLegend\":false,\"actions\":{}}"
diff --git a/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_3.3.json b/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_3.3.json
index 073efed95..c8bfafaae 100644
--- a/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_3.3.json
+++ b/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_3.3.json
@@ -16,9 +16,9 @@
"sizeX": 6,
"sizeY": 1.5,
"resources": [],
- "templateHtml": "\n\n\n\n\n",
- "templateCss": "/*\nConnectivity Status widget CSS\n\nCopyright (C) 2017-2023 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\n.status {\n display: flex;\n align-items: center;\n width: 100%;\n height: 100%;\n background-color: gray;\n color: white;\n}\n\n.alive {\n background-color: green;\n}\n\n.text {\n display: inline-block;\n margin: 1rem;\n height: 1rem;\n font-size: 1rem;\n font-weight: bold;\n}\n\nmat-progress-circular svg path {\n stroke: white;\n}",
- "controllerScript": "/*\nConnectivity Status widget Angular controller code\n\nCopyright (C) 2017-2023 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\nself.onInit = function() {\n\n const scope = self.ctx.$scope;\n const settings = self.ctx.settings;\n\n // Initialization\n scope.connection = \"\";\n scope.pulse = 60000 * settings.pulse;\n\n // Callback to send the fields and inputs to device\n scope.ping = () => {\n \n var commandObservable= self.ctx.controlApi.sendTwoWayCommand(\"ping\", {}, 500);\n \n commandObservable.subscribe(\n function (response) {\n self.ctx.detectChanges();\n scope.connection = \"alive\";\n self.ctx.detectChanges();\n \n },\n function (rejection) {\n self.ctx.detectChanges();\n scope.connection = \"\";\n self.ctx.detectChanges();\n }\n \n );\n \n return commandObservable;\n\n };\n \n // Defer the check in ping to avoid spam\n scope.deferred_ping = 0;\n scope.defer_ping = () => {\n clearTimeout(scope.deferred_ping);\n scope.deferred_ping = setTimeout(scope.ping, 5000);\n };\n\n // Recursive pulse ping\n scope.pulse_ping = () => setTimeout(() => {\n scope.defer_ping();\n scope.pulse_ping();\n }, scope.pulse);\n\n // Listen to the globally broadcasted connectivity event\n document.addEventListener(\"deviceActive\", scope\n .defer_ping);\n \n scope.sendRpc = rpcEvent => {\n if (rpcEvent.detail !== null) {\n command = rpcEvent.detail.command;\n payload = rpcEvent.detail.payload;\n var c = self.ctx.controlApi\n .sendTwoWayCommand(command, payload, 500);\n \n c.subscribe(\n function (response) {\n document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: true }\n )\n )\n },\n function (rejection) { \n document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: false }\n )\n )\n }\n )\n \n }\n };\n \n \n // Listen for globally broadcasted RPC request events\n document.addEventListener(\"rpcRequest\", scope.sendRpc);\n\n scope.ping();\n scope.pulse_ping();\n};\n\nself.onDestroy = function() {\n document.removeEventListener(\"deviceActive\",\n self.ctx.$scope.ping);\n};",
+ "templateHtml": "\n\n\n\n\n",
+ "templateCss": "/*\nConnectivity Status widget CSS\n\nCopyright (C) 2017-2024 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\n.status {\n display: flex;\n align-items: center;\n width: 100%;\n height: 100%;\n background-color: gray;\n color: white;\n}\n\n.alive {\n background-color: green;\n}\n\n.text {\n display: inline-block;\n margin: 1rem;\n height: 1rem;\n font-size: 1rem;\n font-weight: bold;\n}\n\nmat-progress-circular svg path {\n stroke: white;\n}",
+ "controllerScript": "/*\nConnectivity Status widget Angular controller code\n\nCopyright (C) 2017-2024 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\nself.onInit = function() {\n\n const scope = self.ctx.$scope;\n const settings = self.ctx.settings;\n\n // Initialization\n scope.connection = \"\";\n scope.pulse = 60000 * settings.pulse;\n\n // Callback to send the fields and inputs to device\n scope.ping = () => {\n \n var commandObservable= self.ctx.controlApi.sendTwoWayCommand(\"ping\", {}, 500);\n \n commandObservable.subscribe(\n function (response) {\n self.ctx.detectChanges();\n scope.connection = \"alive\";\n self.ctx.detectChanges();\n \n },\n function (rejection) {\n self.ctx.detectChanges();\n scope.connection = \"\";\n self.ctx.detectChanges();\n }\n \n );\n \n return commandObservable;\n\n };\n \n // Defer the check in ping to avoid spam\n scope.deferred_ping = 0;\n scope.defer_ping = () => {\n clearTimeout(scope.deferred_ping);\n scope.deferred_ping = setTimeout(scope.ping, 5000);\n };\n\n // Recursive pulse ping\n scope.pulse_ping = () => setTimeout(() => {\n scope.defer_ping();\n scope.pulse_ping();\n }, scope.pulse);\n\n // Listen to the globally broadcasted connectivity event\n document.addEventListener(\"deviceActive\", scope\n .defer_ping);\n \n scope.sendRpc = rpcEvent => {\n if (rpcEvent.detail !== null) {\n command = rpcEvent.detail.command;\n payload = rpcEvent.detail.payload;\n var c = self.ctx.controlApi\n .sendTwoWayCommand(command, payload, 500);\n \n c.subscribe(\n function (response) {\n document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: true }\n )\n )\n },\n function (rejection) { \n document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: false }\n )\n )\n }\n )\n \n }\n };\n \n \n // Listen for globally broadcasted RPC request events\n document.addEventListener(\"rpcRequest\", scope.sendRpc);\n\n scope.ping();\n scope.pulse_ping();\n};\n\nself.onDestroy = function() {\n document.removeEventListener(\"deviceActive\",\n self.ctx.$scope.ping);\n};",
"settingsSchema": "{\n \"schema\": {\n \"type\": \"object\",\n \"title\": \"Settings\",\n \"properties\": {\n \"pulse\": {\n \"title\": \"Pulse (minutes)\",\n \"type\": \"number\",\n \"default\": 5\n }\n }\n }\n}",
"dataKeySettingsSchema": "{}",
"defaultConfig": "{\"showTitle\":false,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0\",\"settings\":{\"pulse\":10},\"title\":\"Connectivity Status\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"mobileHeight\":null,\"targetDeviceAliases\":[],\"widgetStyle\":{},\"useDashboardTimewindow\":true,\"displayTimewindow\":true,\"showLegend\":false,\"actions\":{}}"
@@ -52,8 +52,8 @@
"sizeX": 8,
"sizeY": 5,
"resources": [],
- "templateHtml": "\n\n\n\n\n\n\n
\n \n
NO DOCKER STATS DATA
\n
\n
\n
\n
\n
\n
\n {{item.key}}: {{item.value}}\n
\n
\n
\n
\n
\n
",
- "templateCss": "/*\nDocker Container Stats widget CSS\n\n@copyright: Copyright 2019-2023 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\n#info-panel {\n overflow: auto;\n margin: 0;\n}\n\n.stats {\n margin: 0;\n display: flex;\n flex-flow: column nowrap;\n}\n\n.header-box {\n top: 0;\n z-index: 10;\n box-sizing: border-box;\n\n position: -webkit-sticky;\n position: sticky;\n padding: 1rem;\n background-color: #fff;\n margin-bottom: 1.5rem;\n \n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n}\n\n.header-title {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n font-size: 1.05rem;\n margin-bottom: 0.5rem;\n}\n\n.header-info {\n font-size: 0.9rem;\n color: #777;\n}\n\n.mat-errors-spacer {\n display: none;\n}\n\n.search-box {\n display: inline-block;\n flex-flow: row nowrap;\n align-items: center;\n margin: 0;\n}\n\n.search {\n flex-basis: 1;\n flex-grow: 1;\n}\n\nmat-progress-circular svg path {\n stroke: #777;\n}\n\n.no-data {\n margin: 0 auto;\n}\n\n.container {\n opacity: 0.5;\n box-sizing: border-box;\n width: 100%;\n margin-bottom: 1rem;\n padding: 0rem 1rem;\n font-size: 0.9rem;\n}\n\n.container-name {\n margin-right: 0.5rem;\n word-wrap: break-word;\n font-weight: bold;\n}\n\n.container-stats {\n display: flex;\n flex-flow: row wrap;\n word-wrap: break-word;\n word-break: break-all;\n color: #666;\n}\n\n.container-active {\n opacity: 1;\n}\n\n.stat {\n margin-bottom: 0.25rem;\n}",
+ "templateHtml": "\n\n\n\n\n\n\n
\n \n
NO DOCKER STATS DATA
\n
\n
\n
\n
\n
\n
\n {{item.key}}: {{item.value}}\n
\n
\n
\n
\n
\n
",
+ "templateCss": "/*\nDocker Container Stats widget CSS\n\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\n#info-panel {\n overflow: auto;\n margin: 0;\n}\n\n.stats {\n margin: 0;\n display: flex;\n flex-flow: column nowrap;\n}\n\n.header-box {\n top: 0;\n z-index: 10;\n box-sizing: border-box;\n\n position: -webkit-sticky;\n position: sticky;\n padding: 1rem;\n background-color: #fff;\n margin-bottom: 1.5rem;\n \n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n}\n\n.header-title {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n font-size: 1.05rem;\n margin-bottom: 0.5rem;\n}\n\n.header-info {\n font-size: 0.9rem;\n color: #777;\n}\n\n.mat-errors-spacer {\n display: none;\n}\n\n.search-box {\n display: inline-block;\n flex-flow: row nowrap;\n align-items: center;\n margin: 0;\n}\n\n.search {\n flex-basis: 1;\n flex-grow: 1;\n}\n\nmat-progress-circular svg path {\n stroke: #777;\n}\n\n.no-data {\n margin: 0 auto;\n}\n\n.container {\n opacity: 0.5;\n box-sizing: border-box;\n width: 100%;\n margin-bottom: 1rem;\n padding: 0rem 1rem;\n font-size: 0.9rem;\n}\n\n.container-name {\n margin-right: 0.5rem;\n word-wrap: break-word;\n font-weight: bold;\n}\n\n.container-stats {\n display: flex;\n flex-flow: row wrap;\n word-wrap: break-word;\n word-break: break-all;\n color: #666;\n}\n\n.container-active {\n opacity: 1;\n}\n\n.stat {\n margin-bottom: 0.25rem;\n}",
"controllerScript": "/*\nDocker Container Stats widget Angular controller code\n\n@copyright: Copyright 2022 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\nself.onInit = function() {\n\n const scope = self.ctx.$scope;\n \n scope.containers = [];\n scope.waiting = false;\n};\n\n/*\nRound a number with a given precision.\n\n@param value: the value to round.\n@param precision: the number of places to round 'value' to.\n@return: the rounded value.\n*/\nfunction round(value, precision) {\n var mult = Math.pow(10, precision || 0);\n return Math.round(value * mult) / mult;\n}\n\n/*\nConvert a given number of bytes to a easily readable \ndenomination if needed (KB, MB, GB).\n\n@param val: an integer representing a certain number of bytes\n@return: a string that contains the easily readable conversion of the integer.\n*/\nfunction toMegabytes(val) {\n const NUM_BYTES_IN_KB = 1e3;\n const NUM_BYTES_IN_MB = 1e6;\n const NUM_BYTES_IN_GB = 1e9;\n const PRECISION = 2;\n\n if (val < 0) {\n return \"is negative!\";\n\n } if (val / NUM_BYTES_IN_KB == 0 \n || val.toString().length < NUM_BYTES_IN_KB.toString().length) { // bytes\n return val.toString().concat(\" Bytes\");\n\n } else if (val.toString().length < NUM_BYTES_IN_MB.toString().length) { // kilobytes\n return round(val / NUM_BYTES_IN_KB, PRECISION).toString().concat(\" KB\");\n \n } else if (val.toString().length < NUM_BYTES_IN_GB.toString().length) { // megabytes\n return round(val / NUM_BYTES_IN_MB, PRECISION).toString().concat(\" MB\");\n \n } else { // gigabytes\n return round(val / NUM_BYTES_IN_GB, PRECISION).toString().concat(\" GB\");\n }\n}\n\n\nself.onDataUpdated = function() {\n\n const scope = self.ctx.$scope;\n self.ctx.detectChanges();\n let maxTS = 0;\n scope.containers = [];\n self.ctx.data.forEach(data => {\n // Timestamp is left, prop is right\n if (data.data.length === 0) return;\n let ts = data.data[0][0];\n let value = data.data[0][1];\n console.log(data);\n\n // Try to parse container stats\n let containers_data = null;\n try {\n containers_data = JSON.parse(value);\n } catch (e) {\n return;\n } finally {\n if (containers_data === null\n || !containers_data.hasOwnProperty(\"containers\")) {\n return;\n }\n }\n \n // Create container objects\n const containers = [];\n containers_data.containers.forEach(c => {\n container = {\n ContainerName: c.imageName,\n Date: new Date(ts),\n ContainerID: c.containerID,\n CpuPercent: c.cpuPercent,\n MemoryUsage: toMegabytes(c.memoryUsage),\n MemoryLimit: toMegabytes(c.memoryLimit),\n MemoryPercent: c.MemoryPercent\n };\n containers.push(container);\n });\n\n scope.containers = scope.containers.concat(containers);\n if (ts > maxTS) {\n maxTS = ts;\n }\n });\n \n if (maxTS > 0) {\n const lastUpdatedTS = new Date(0);\n lastUpdatedTS.setUTCMilliseconds(maxTS);\n scope.lastUpdated = lastUpdatedTS.toLocaleString();\n setTimeout(() => scope.waiting = false, 10);\n }\n};\n\nself.onResize = function() {};\n\nself.onDestroy = function() {};\n",
"settingsSchema": "{\n \"schema\": {\n \"type\": \"object\",\n \"title\": \"Settings\",\n \"properties\": {\n \"refreshTimeout\": {\n \"title\": \"Refresh Timeout\",\n \"type\": \"number\",\n \"default\": 8000\n }\n }\n }\n}",
"dataKeySettingsSchema": "{}",
@@ -124,9 +124,9 @@
"sizeX": 4.5,
"sizeY": 2,
"resources": [],
- "templateHtml": "\r\n\r\n\r\n\r\n\r\n\r\n",
- "templateCss": "/*\r\nThe OTA Form widget CSS\r\n\r\n@copyright: Copyright 2019-2023 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\n#ota-method-button-wrapper {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n#ota-method-button {\r\n background-color: rgb(33, 150, 243);\r\n width: 100%;\r\n}\r\n\r\n",
- "controllerScript": "/*\r\nOTA Form widget Angular controller code\r\n\r\n@copyright: Copyright 2019-2023 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\nself.onInit = function() {\r\n \r\n const scope = self.ctx.$scope;\r\n const settings = self.ctx.settings;\r\n // Set the method\r\n scope.otaMethodLabel = settings.otaMethodLabel;\r\n scope.otaMethod = settings.otaMethod;\r\n \r\n \r\n let $injector = self.ctx.$scope.$injector;\r\n let customDialog = $injector.get(self.ctx.servicesMap.get('customDialog'));\r\n let htmltemplate = `\r\n`\r\n\r\n scope.devices = [];\r\n // Callback to show the prerendered dialog\r\n scope.displayDialog = event => {\r\n scope.ctx.dialog = customDialog.customDialog(htmltemplate, DialogController);\r\n scope.ctx.dialog.subscribe();\r\n \r\n function DialogController(instance) {\r\n let vm = instance;\r\n \r\n vm.closeDialog = () => {\r\n vm.dialogRef.close(null);\r\n vm.initOtaResponse();\r\n };\r\n\r\n // Set the method\r\n vm.otaMethodLabel = settings.otaMethodLabel;\r\n vm.otaMethod = settings.otaMethod;\r\n\r\n vm.batch = settings.batch ? true : false;\r\n\r\n // Set the method select fields\r\n vm.otaSelectFields = [];\r\n if (settings.otaSelectFields) {\r\n settings.otaSelectFields.forEach(field => {\r\n vm.otaSelectFields.push(field);\r\n });\r\n }\r\n \r\n // Set the method text fields\r\n vm.otaTextFields = [];\r\n if (settings.otaTextFields) {\r\n settings.otaTextFields.forEach(field => {\r\n vm.otaTextFields.push(field);\r\n });\r\n }\r\n \r\n // Center button if no fields are present\r\n vm.alignButton =\r\n (vm.otaSelectFields.length || vm.otaTextFields.length)\r\n ? \"flex-end\" : \"center\";\r\n\r\n // The device response data\r\n vm.initOtaResponse = () => {\r\n vm.otaTab = 0;\r\n vm.otaSuccess = 0;\r\n vm.otaFailure = 0;\r\n vm.otaResponse = [];\r\n };\r\n vm.initOtaResponse();\r\n \r\n vm.addOtaResponse = (success, name, message) => {\r\n response = {\r\n 'success': success,\r\n 'name': name,\r\n 'message': message\r\n };\r\n (success) ? ++vm.otaSuccess : ++vm.otaFailure;\r\n vm.otaResponse.push(response);\r\n };\r\n \r\n // Callback for send button\r\n vm.send = () => {\r\n vm.initOtaResponse();\r\n if (vm.batch) {\r\n vm.sendFieldsBatch();\r\n } else {\r\n vm.sendFields();\r\n }\r\n };\r\n \r\n // Simulate a batch RPC\r\n vm.sendFieldsBatch = () => {\r\n self.ctx.detectChanges();\r\n console.log(scope.devices);\r\n scope.devices.forEach(device => {\r\n console.log('-processing a device-');\r\n self.ctx.detectChanges();\r\n self.ctx.defaultSubscription.targetDeviceId = device.id;\r\n self.ctx.defaultSubscription.targetDeviceName = device.name;\r\n vm.sendFields();\r\n });\r\n };\r\n \r\n // Send the fields and inputs to device\r\n vm.sendFields = () => {\r\n // Populate the method arguments\r\n const args = {};\r\n \r\n vm.otaTextFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data;\r\n });\r\n \r\n vm.otaSelectFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data.key;\r\n });\r\n // Send the arguments\r\n const timeout = settings.requestTimeout;\r\n const name = self.ctx.defaultSubscription.targetDeviceName;\r\n \r\n var commandObservable = self.ctx.controlApi.sendTwoWayCommand(scope.otaMethod, args, timeout);\r\n vm.afterOtaResponse = () => {\r\n \r\n const totalOta = vm.otaSuccess + vm.otaFailure;\r\n \r\n if (totalOta >= scope.devices.length) { // Include non-batch case\r\n vm.otaResponse.sort((a, b) => {\r\n if (a.success && !b.success) {\r\n return -1;\r\n } else if (!a.success && b.success) {\r\n return 1;\r\n } else if (a.name < b.name) {\r\n return -1;\r\n } else if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n vm.otaTab = 1;\r\n }\r\n }\r\n commandObservable.subscribe(\r\n function (response) {\r\n vm.addOtaResponse(\r\n true, name, response);\r\n vm.afterOtaResponse();\r\n self.ctx.detectChanges();\r\n },\r\n function (rejection) {\r\n self.ctx.detectChanges();\r\n if (rejection.status == 504) {\r\n vm.addOtaResponse(\r\n false, name, \"Device did not respond before timeout.\");\r\n } else {\r\n vm.addOtaResponse(\r\n false, name, `\"${rejection.status}`\r\n + ` ${rejection.statusText} `\r\n + `${vm.rpcErrorText}\"`);\r\n }\r\n vm.afterOtaResponse();\r\n self.ctx.detectChanges();\r\n }\r\n );\r\n };\r\n }\r\n };\r\n \r\n //Listen to the globally broadcasted device selection event\r\n document.addEventListener(\"deviceSelected\", e => {\r\n console.log(\"Updating devices with \" + e.detail);\r\n scope.devices = e.detail;\r\n }); \r\n \r\n // Run any resizing code\r\n self.onResize();\r\n};\r\n\r\nself.onResize = function() {};\r\n\r\nself.onDestroy = function() {\r\n document.removeEventListener(\"deviceActive\", self.ctx.$scope.updateList);\r\n};",
+ "templateHtml": "\r\n\r\n\r\n\r\n\r\n\r\n",
+ "templateCss": "/*\r\nThe OTA Form widget CSS\r\n\r\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\n#ota-method-button-wrapper {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n#ota-method-button {\r\n background-color: rgb(33, 150, 243);\r\n width: 100%;\r\n}\r\n\r\n",
+ "controllerScript": "/*\r\nOTA Form widget Angular controller code\r\n\r\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\nself.onInit = function() {\r\n \r\n const scope = self.ctx.$scope;\r\n const settings = self.ctx.settings;\r\n // Set the method\r\n scope.otaMethodLabel = settings.otaMethodLabel;\r\n scope.otaMethod = settings.otaMethod;\r\n \r\n \r\n let $injector = self.ctx.$scope.$injector;\r\n let customDialog = $injector.get(self.ctx.servicesMap.get('customDialog'));\r\n let htmltemplate = `\r\n`\r\n\r\n scope.devices = [];\r\n // Callback to show the prerendered dialog\r\n scope.displayDialog = event => {\r\n scope.ctx.dialog = customDialog.customDialog(htmltemplate, DialogController);\r\n scope.ctx.dialog.subscribe();\r\n \r\n function DialogController(instance) {\r\n let vm = instance;\r\n \r\n vm.closeDialog = () => {\r\n vm.dialogRef.close(null);\r\n vm.initOtaResponse();\r\n };\r\n\r\n // Set the method\r\n vm.otaMethodLabel = settings.otaMethodLabel;\r\n vm.otaMethod = settings.otaMethod;\r\n\r\n vm.batch = settings.batch ? true : false;\r\n\r\n // Set the method select fields\r\n vm.otaSelectFields = [];\r\n if (settings.otaSelectFields) {\r\n settings.otaSelectFields.forEach(field => {\r\n vm.otaSelectFields.push(field);\r\n });\r\n }\r\n \r\n // Set the method text fields\r\n vm.otaTextFields = [];\r\n if (settings.otaTextFields) {\r\n settings.otaTextFields.forEach(field => {\r\n vm.otaTextFields.push(field);\r\n });\r\n }\r\n \r\n // Center button if no fields are present\r\n vm.alignButton =\r\n (vm.otaSelectFields.length || vm.otaTextFields.length)\r\n ? \"flex-end\" : \"center\";\r\n\r\n // The device response data\r\n vm.initOtaResponse = () => {\r\n vm.otaTab = 0;\r\n vm.otaSuccess = 0;\r\n vm.otaFailure = 0;\r\n vm.otaResponse = [];\r\n };\r\n vm.initOtaResponse();\r\n \r\n vm.addOtaResponse = (success, name, message) => {\r\n response = {\r\n 'success': success,\r\n 'name': name,\r\n 'message': message\r\n };\r\n (success) ? ++vm.otaSuccess : ++vm.otaFailure;\r\n vm.otaResponse.push(response);\r\n };\r\n \r\n // Callback for send button\r\n vm.send = () => {\r\n vm.initOtaResponse();\r\n if (vm.batch) {\r\n vm.sendFieldsBatch();\r\n } else {\r\n vm.sendFields();\r\n }\r\n };\r\n \r\n // Simulate a batch RPC\r\n vm.sendFieldsBatch = () => {\r\n self.ctx.detectChanges();\r\n console.log(scope.devices);\r\n scope.devices.forEach(device => {\r\n console.log('-processing a device-');\r\n self.ctx.detectChanges();\r\n self.ctx.defaultSubscription.targetDeviceId = device.id;\r\n self.ctx.defaultSubscription.targetDeviceName = device.name;\r\n vm.sendFields();\r\n });\r\n };\r\n \r\n // Send the fields and inputs to device\r\n vm.sendFields = () => {\r\n // Populate the method arguments\r\n const args = {};\r\n \r\n vm.otaTextFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data;\r\n });\r\n \r\n vm.otaSelectFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data.key;\r\n });\r\n // Send the arguments\r\n const timeout = settings.requestTimeout;\r\n const name = self.ctx.defaultSubscription.targetDeviceName;\r\n \r\n var commandObservable = self.ctx.controlApi.sendTwoWayCommand(scope.otaMethod, args, timeout);\r\n vm.afterOtaResponse = () => {\r\n \r\n const totalOta = vm.otaSuccess + vm.otaFailure;\r\n \r\n if (totalOta >= scope.devices.length) { // Include non-batch case\r\n vm.otaResponse.sort((a, b) => {\r\n if (a.success && !b.success) {\r\n return -1;\r\n } else if (!a.success && b.success) {\r\n return 1;\r\n } else if (a.name < b.name) {\r\n return -1;\r\n } else if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n vm.otaTab = 1;\r\n }\r\n }\r\n commandObservable.subscribe(\r\n function (response) {\r\n vm.addOtaResponse(\r\n true, name, response);\r\n vm.afterOtaResponse();\r\n self.ctx.detectChanges();\r\n },\r\n function (rejection) {\r\n self.ctx.detectChanges();\r\n if (rejection.status == 504) {\r\n vm.addOtaResponse(\r\n false, name, \"Device did not respond before timeout.\");\r\n } else {\r\n vm.addOtaResponse(\r\n false, name, `\"${rejection.status}`\r\n + ` ${rejection.statusText} `\r\n + `${vm.rpcErrorText}\"`);\r\n }\r\n vm.afterOtaResponse();\r\n self.ctx.detectChanges();\r\n }\r\n );\r\n };\r\n }\r\n };\r\n \r\n //Listen to the globally broadcasted device selection event\r\n document.addEventListener(\"deviceSelected\", e => {\r\n console.log(\"Updating devices with \" + e.detail);\r\n scope.devices = e.detail;\r\n }); \r\n \r\n // Run any resizing code\r\n self.onResize();\r\n};\r\n\r\nself.onResize = function() {};\r\n\r\nself.onDestroy = function() {\r\n document.removeEventListener(\"deviceActive\", self.ctx.$scope.updateList);\r\n};",
"settingsSchema": "{\n \"schema\": {\n \"type\": \"object\",\n \"title\": \"Settings\",\n \"properties\": {\n \"oneWayElseTwoWay\": {\n \"title\": \"Is One Way Command\",\n \"type\": \"boolean\",\n \"default\": false\n },\n \"batch\": {\n \"title\": \"Batch RPC\",\n \"type\": \"boolean\",\n \"default\": false\n },\n \"otaMethodLabel\": {\n \"title\": \"OTA Method Label\",\n \"type\": \"string\",\n \"default\": \"Sample Method\"\n },\n \"otaMethod\": {\n \"title\": \"OTA Method Key\",\n \"type\": \"string\",\n \"default\": \"sample_method\"\n },\n \"otaSelectFields\": {\n \"title\": \"Select Box Fields\",\n \"type\": \"array\",\n \"minItems\": 0,\n \"items\": {\n \"title\": \"Select Box\",\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"key\": {\n \"title\": \"Key\",\n \"type\": \"string\"\n },\n \"options\": {\n \"title\": \"Options\",\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": {\n \"title\": \"Option\",\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"key\": {\n \"title\": \"Key\",\n \"type\": \"string\"\n }\n }\n }\n }\n }\n }\n },\n \"otaTextFields\": {\n \"title\": \"Text Box Fields\",\n \"type\": \"array\",\n \"minItems\": 0,\n \"items\": {\n \"title\": \"Text Box\",\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"key\": {\n \"title\": \"Key\",\n \"type\": \"string\"\n }\n }\n }\n },\n \"requestTimeout\": {\n \"title\": \"RPC request timeout\",\n \"type\": \"number\",\n \"default\": 500\n }\n }\n },\n \"form\": [\n \"batch\",\n \"otaMethodLabel\",\n \"otaMethod\",\n \"otaTextFields\",\n \"otaSelectFields\",\n \"oneWayElseTwoWay\",\n \"requestTimeout\"\n ]\n}",
"dataKeySettingsSchema": "{}\n",
"defaultConfig": "{\"targetDeviceAliases\":[],\"showTitle\":false,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"requestTimeout\":500,\"otaTextFields\":[{\"label\":\"Sample Text\",\"key\":\"sample_text\"},{\"label\":\"Sample Text 2\",\"key\":\"sample_text_2\"}],\"otaSelectFields\":[{\"label\":\"Sample Select\",\"key\":\"sample_select\",\"options\":[{\"label\":\"Option 1\",\"key\":\"1\"},{\"label\":\"Option 2\",\"key\":\"2\"},{\"label\":\"Option 3\",\"key\":\"3\"}],\"data\":{\"label\":\"Option 1\",\"key\":\"1\"}},{\"label\":\"Sample Select 2\",\"key\":\"sample_select_2\",\"options\":[{\"label\":\"Option 1\",\"key\":\"1\"},{\"label\":\"Option 2\",\"key\":\"2\"},{\"label\":\"Option 3\",\"key\":\"3\"}],\"data\":{\"label\":\"Option 1\",\"key\":\"1\"}}],\"otaMethod\":\"sample_form_method\",\"otaMethodLabel\":\"Sample Form Method\"},\"title\":\"OTA Form\",\"dropShadow\":true,\"enableFullscreen\":false,\"widgetStyle\":{},\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"useDashboardTimewindow\":true,\"displayTimewindow\":true,\"showLegend\":false,\"actions\":{}}"
diff --git a/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_3.4.2.json b/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_3.4.2.json
index c17b71539..96bdbdbc7 100644
--- a/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_3.4.2.json
+++ b/inbm/cloudadapter-agent/fpm-template/usr/share/cloudadapter-agent/thingsboard/intel_manageability_widgets_version_3.4.2.json
@@ -16,9 +16,9 @@
"sizeX": 6,
"sizeY": 1.5,
"resources": [],
- "templateHtml": "\n\n\n\n\n",
- "templateCss": "/*\nConnectivity Status widget CSS\n\nCopyright (C) 2017-2022 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\n.status {\n display: flex;\n align-items: center;\n width: 100%;\n height: 100%;\n background-color: gray;\n color: white;\n}\n\n.alive {\n background-color: green;\n}\n\n.text {\n display: inline-block;\n margin: 1rem;\n height: 1rem;\n font-size: 1rem;\n font-weight: bold;\n}\n\nmat-progress-circular svg path {\n stroke: white;\n}",
- "controllerScript": "/*\nConnectivity Status widget Angular controller code\n\nCopyright (C) 2017-2022 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\nself.onInit = function() {\n\n const scope = self.ctx.$scope;\n const settings = self.ctx.settings;\n\n // Initialization\n scope.connection = \"\";\n scope.pulse = 60000 * settings.pulse;\n\n // Callback to send the fields and inputs to device\n scope.ping = () => {\n \n var commandObservable= self.ctx.controlApi.sendTwoWayCommand(\"ping\", {}, 500);\n \n commandObservable.subscribe(\n function (response) {\n self.ctx.detectChanges();\n scope.connection = \"alive\";\n self.ctx.detectChanges();\n \n },\n function (rejection) {\n self.ctx.detectChanges();\n scope.connection = \"\";\n self.ctx.detectChanges();\n }\n \n );\n \n return commandObservable;\n\n };\n \n // Defer the check in ping to avoid spam\n scope.deferred_ping = 0;\n scope.defer_ping = () => {\n clearTimeout(scope.deferred_ping);\n scope.deferred_ping = setTimeout(scope.ping, 5000);\n };\n\n // Recursive pulse ping\n scope.pulse_ping = () => setTimeout(() => {\n scope.defer_ping();\n scope.pulse_ping();\n }, scope.pulse);\n\n // Listen to the globally broadcasted connectivity event\n document.addEventListener(\"deviceActive\", scope\n .defer_ping);\n \n scope.sendRpc = rpcEvent => {\n if (rpcEvent.detail !== null) {\n command = rpcEvent.detail.command;\n payload = rpcEvent.detail.payload;\n var c = self.ctx.controlApi\n .sendTwoWayCommand(command, payload, 500);\n \n c.subscribe(\n function (response) {\n document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: true }\n )\n )\n },\n function (rejection) { \n document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: false }\n )\n )\n }\n )\n \n }\n };\n \n \n // Listen for globally broadcasted RPC request events\n document.addEventListener(\"rpcRequest\", scope.sendRpc);\n\n scope.ping();\n scope.pulse_ping();\n};\n\nself.onDestroy = function() {\n document.removeEventListener(\"deviceActive\",\n self.ctx.$scope.ping);\n};",
+ "templateHtml": "\n\n\n\n\n",
+ "templateCss": "/*\nConnectivity Status widget CSS\n\nCopyright (C) 2017-2024 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\n.status {\n display: flex;\n align-items: center;\n width: 100%;\n height: 100%;\n background-color: gray;\n color: white;\n}\n\n.alive {\n background-color: green;\n}\n\n.text {\n display: inline-block;\n margin: 1rem;\n height: 1rem;\n font-size: 1rem;\n font-weight: bold;\n}\n\nmat-progress-circular svg path {\n stroke: white;\n}",
+ "controllerScript": "/*\nConnectivity Status widget Angular controller code\n\nCopyright (C) 2017-2024 Intel Corporation\nSPDX-License-Identifier: Apache-2.0\n*/\n\nself.onInit = function() {\n\n const scope = self.ctx.$scope;\n const settings = self.ctx.settings;\n\n // Initialization\n scope.connection = \"\";\n scope.pulse = 60000 * settings.pulse;\n\n // Callback to send the fields and inputs to device\n scope.ping = () => {\n \n var commandObservable= self.ctx.controlApi.sendTwoWayCommand(\"ping\", {}, 500);\n \n commandObservable.subscribe(\n function (response) {\n self.ctx.detectChanges();\n scope.connection = \"alive\";\n self.ctx.detectChanges();\n \n },\n function (rejection) {\n self.ctx.detectChanges();\n scope.connection = \"\";\n self.ctx.detectChanges();\n }\n \n );\n \n return commandObservable;\n\n };\n \n // Defer the check in ping to avoid spam\n scope.deferred_ping = 0;\n scope.defer_ping = () => {\n clearTimeout(scope.deferred_ping);\n scope.deferred_ping = setTimeout(scope.ping, 5000);\n };\n\n // Recursive pulse ping\n scope.pulse_ping = () => setTimeout(() => {\n scope.defer_ping();\n scope.pulse_ping();\n }, scope.pulse);\n\n // Listen to the globally broadcasted connectivity event\n document.addEventListener(\"deviceActive\", scope\n .defer_ping);\n \n scope.sendRpc = rpcEvent => {\n if (rpcEvent.detail !== null) {\n command = rpcEvent.detail.command;\n payload = rpcEvent.detail.payload;\n var c = self.ctx.controlApi\n .sendTwoWayCommand(command, payload, 500);\n \n c.subscribe(\n function (response) {\n document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: true }\n )\n )\n },\n function (rejection) { \n document.dispatchEvent(\n new CustomEvent(\n 'rpcAck', { detail: false }\n )\n )\n }\n )\n \n }\n };\n \n \n // Listen for globally broadcasted RPC request events\n document.addEventListener(\"rpcRequest\", scope.sendRpc);\n\n scope.ping();\n scope.pulse_ping();\n};\n\nself.onDestroy = function() {\n document.removeEventListener(\"deviceActive\",\n self.ctx.$scope.ping);\n};",
"settingsSchema": "{\n \"schema\": {\n \"type\": \"object\",\n \"title\": \"Settings\",\n \"properties\": {\n \"pulse\": {\n \"title\": \"Pulse (minutes)\",\n \"type\": \"number\",\n \"default\": 5\n }\n }\n }\n}",
"dataKeySettingsSchema": "{}",
"defaultConfig": "{\"showTitle\":false,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0\",\"settings\":{\"pulse\":10},\"title\":\"Connectivity Status\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"mobileHeight\":null,\"targetDeviceAliases\":[],\"widgetStyle\":{},\"useDashboardTimewindow\":true,\"displayTimewindow\":true,\"showLegend\":false,\"actions\":{}}"
@@ -52,8 +52,8 @@
"sizeX": 8,
"sizeY": 5,
"resources": [],
- "templateHtml": "\n\n\n\n\n\n\n
\n \n
NO DOCKER STATS DATA
\n
\n
\n
\n
\n
\n
\n {{item.key}}: {{item.value}}\n
\n
\n
\n
\n
\n
",
- "templateCss": "/*\nDocker Container Stats widget CSS\n\n@copyright: Copyright 2019-2022 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\n#info-panel {\n overflow: auto;\n margin: 0;\n}\n\n.stats {\n margin: 0;\n display: flex;\n flex-flow: column nowrap;\n}\n\n.header-box {\n top: 0;\n z-index: 10;\n box-sizing: border-box;\n\n position: -webkit-sticky;\n position: sticky;\n padding: 1rem;\n background-color: #fff;\n margin-bottom: 1.5rem;\n \n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n}\n\n.header-title {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n font-size: 1.05rem;\n margin-bottom: 0.5rem;\n}\n\n.header-info {\n font-size: 0.9rem;\n color: #777;\n}\n\n.mat-errors-spacer {\n display: none;\n}\n\n.search-box {\n display: inline-block;\n flex-flow: row nowrap;\n align-items: center;\n margin: 0;\n}\n\n.search {\n flex-basis: 1;\n flex-grow: 1;\n}\n\nmat-progress-circular svg path {\n stroke: #777;\n}\n\n.no-data {\n margin: 0 auto;\n}\n\n.container {\n opacity: 0.5;\n box-sizing: border-box;\n width: 100%;\n margin-bottom: 1rem;\n padding: 0rem 1rem;\n font-size: 0.9rem;\n}\n\n.container-name {\n margin-right: 0.5rem;\n word-wrap: break-word;\n font-weight: bold;\n}\n\n.container-stats {\n display: flex;\n flex-flow: row wrap;\n word-wrap: break-word;\n word-break: break-all;\n color: #666;\n}\n\n.container-active {\n opacity: 1;\n}\n\n.stat {\n margin-bottom: 0.25rem;\n}",
+ "templateHtml": "\n\n\n\n\n\n\n
\n \n
NO DOCKER STATS DATA
\n
\n
\n
\n
\n
\n
\n {{item.key}}: {{item.value}}\n
\n
\n
\n
\n
\n
",
+ "templateCss": "/*\nDocker Container Stats widget CSS\n\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\n#info-panel {\n overflow: auto;\n margin: 0;\n}\n\n.stats {\n margin: 0;\n display: flex;\n flex-flow: column nowrap;\n}\n\n.header-box {\n top: 0;\n z-index: 10;\n box-sizing: border-box;\n\n position: -webkit-sticky;\n position: sticky;\n padding: 1rem;\n background-color: #fff;\n margin-bottom: 1.5rem;\n \n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n}\n\n.header-title {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n font-size: 1.05rem;\n margin-bottom: 0.5rem;\n}\n\n.header-info {\n font-size: 0.9rem;\n color: #777;\n}\n\n.mat-errors-spacer {\n display: none;\n}\n\n.search-box {\n display: inline-block;\n flex-flow: row nowrap;\n align-items: center;\n margin: 0;\n}\n\n.search {\n flex-basis: 1;\n flex-grow: 1;\n}\n\nmat-progress-circular svg path {\n stroke: #777;\n}\n\n.no-data {\n margin: 0 auto;\n}\n\n.container {\n opacity: 0.5;\n box-sizing: border-box;\n width: 100%;\n margin-bottom: 1rem;\n padding: 0rem 1rem;\n font-size: 0.9rem;\n}\n\n.container-name {\n margin-right: 0.5rem;\n word-wrap: break-word;\n font-weight: bold;\n}\n\n.container-stats {\n display: flex;\n flex-flow: row wrap;\n word-wrap: break-word;\n word-break: break-all;\n color: #666;\n}\n\n.container-active {\n opacity: 1;\n}\n\n.stat {\n margin-bottom: 0.25rem;\n}",
"controllerScript": "/*\nDocker Container Stats widget Angular controller code\n\n@copyright: Copyright 2022 Intel Corporation All Rights Reserved.\n@license: Intel, see licenses/LICENSE for more details.\n*/\n\nself.onInit = function() {\n\n const scope = self.ctx.$scope;\n \n scope.containers = [];\n scope.waiting = false;\n};\n\n/*\nRound a number with a given precision.\n\n@param value: the value to round.\n@param precision: the number of places to round 'value' to.\n@return: the rounded value.\n*/\nfunction round(value, precision) {\n var mult = Math.pow(10, precision || 0);\n return Math.round(value * mult) / mult;\n}\n\n/*\nConvert a given number of bytes to a easily readable \ndenomination if needed (KB, MB, GB).\n\n@param val: an integer representing a certain number of bytes\n@return: a string that contains the easily readable conversion of the integer.\n*/\nfunction toMegabytes(val) {\n const NUM_BYTES_IN_KB = 1e3;\n const NUM_BYTES_IN_MB = 1e6;\n const NUM_BYTES_IN_GB = 1e9;\n const PRECISION = 2;\n\n if (val < 0) {\n return \"is negative!\";\n\n } if (val / NUM_BYTES_IN_KB == 0 \n || val.toString().length < NUM_BYTES_IN_KB.toString().length) { // bytes\n return val.toString().concat(\" Bytes\");\n\n } else if (val.toString().length < NUM_BYTES_IN_MB.toString().length) { // kilobytes\n return round(val / NUM_BYTES_IN_KB, PRECISION).toString().concat(\" KB\");\n \n } else if (val.toString().length < NUM_BYTES_IN_GB.toString().length) { // megabytes\n return round(val / NUM_BYTES_IN_MB, PRECISION).toString().concat(\" MB\");\n \n } else { // gigabytes\n return round(val / NUM_BYTES_IN_GB, PRECISION).toString().concat(\" GB\");\n }\n}\n\n\nself.onDataUpdated = function() {\n\n const scope = self.ctx.$scope;\n self.ctx.detectChanges();\n let maxTS = 0;\n scope.containers = [];\n self.ctx.data.forEach(data => {\n // Timestamp is left, prop is right\n if (data.data.length === 0) return;\n let ts = data.data[0][0];\n let value = data.data[0][1];\n console.log(data);\n\n // Try to parse container stats\n let containers_data = null;\n try {\n containers_data = JSON.parse(value);\n } catch (e) {\n return;\n } finally {\n if (containers_data === null\n || !containers_data.hasOwnProperty(\"containers\")) {\n return;\n }\n }\n \n // Create container objects\n const containers = [];\n containers_data.containers.forEach(c => {\n container = {\n ContainerName: c.imageName,\n Date: new Date(ts),\n ContainerID: c.containerID,\n CpuPercent: c.cpuPercent,\n MemoryUsage: toMegabytes(c.memoryUsage),\n MemoryLimit: toMegabytes(c.memoryLimit),\n MemoryPercent: c.MemoryPercent\n };\n containers.push(container);\n });\n\n scope.containers = scope.containers.concat(containers);\n if (ts > maxTS) {\n maxTS = ts;\n }\n });\n \n if (maxTS > 0) {\n const lastUpdatedTS = new Date(0);\n lastUpdatedTS.setUTCMilliseconds(maxTS);\n scope.lastUpdated = lastUpdatedTS.toLocaleString();\n setTimeout(() => scope.waiting = false, 10);\n }\n};\n\nself.onResize = function() {};\n\nself.onDestroy = function() {};\n",
"settingsSchema": "{\n \"schema\": {\n \"type\": \"object\",\n \"title\": \"Settings\",\n \"properties\": {\n \"refreshTimeout\": {\n \"title\": \"Refresh Timeout\",\n \"type\": \"number\",\n \"default\": 8000\n }\n }\n }\n}",
"dataKeySettingsSchema": "{}",
@@ -124,9 +124,9 @@
"sizeX": 4.5,
"sizeY": 2,
"resources": [],
- "templateHtml": "\r\n\r\n\r\n\r\n\r\n\r\n",
- "templateCss": "/*\r\nThe OTA Form widget CSS\r\n\r\n@copyright: Copyright 2019-2022 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\n#ota-method-button-wrapper {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n#ota-method-button {\r\n background-color: rgb(33, 150, 243);\r\n width: 100%;\r\n}\r\n\r\n",
- "controllerScript": "/*\r\nOTA Form widget Angular controller code\r\n\r\n@copyright: Copyright 2019-2022 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\nself.onInit = function() {\r\n \r\n const scope = self.ctx.$scope;\r\n const settings = self.ctx.settings;\r\n // Set the method\r\n scope.otaMethodLabel = settings.otaMethodLabel;\r\n scope.otaMethod = settings.otaMethod;\r\n \r\n \r\n let $injector = self.ctx.$scope.$injector;\r\n let customDialog = $injector.get(self.ctx.servicesMap.get('customDialog'));\r\n let htmltemplate = `\r\n`\r\n\r\n scope.devices = [];\r\n // Callback to show the prerendered dialog\r\n scope.displayDialog = event => {\r\n scope.ctx.dialog = customDialog.customDialog(htmltemplate, DialogController);\r\n scope.ctx.dialog.subscribe();\r\n \r\n function DialogController(instance) {\r\n let vm = instance;\r\n \r\n vm.closeDialog = () => {\r\n vm.dialogRef.close(null);\r\n vm.initOtaResponse();\r\n };\r\n\r\n // Set the method\r\n vm.otaMethodLabel = settings.otaMethodLabel;\r\n vm.otaMethod = settings.otaMethod;\r\n\r\n vm.batch = settings.batch ? true : false;\r\n\r\n // Set the method select fields\r\n vm.otaSelectFields = [];\r\n if (settings.otaSelectFields) {\r\n settings.otaSelectFields.forEach(field => {\r\n vm.otaSelectFields.push(field);\r\n });\r\n }\r\n \r\n // Set the method text fields\r\n vm.otaTextFields = [];\r\n if (settings.otaTextFields) {\r\n settings.otaTextFields.forEach(field => {\r\n vm.otaTextFields.push(field);\r\n });\r\n }\r\n \r\n // Center button if no fields are present\r\n vm.alignButton =\r\n (vm.otaSelectFields.length || vm.otaTextFields.length)\r\n ? \"flex-end\" : \"center\";\r\n\r\n // The device response data\r\n vm.initOtaResponse = () => {\r\n vm.otaTab = 0;\r\n vm.otaSuccess = 0;\r\n vm.otaFailure = 0;\r\n vm.otaResponse = [];\r\n };\r\n vm.initOtaResponse();\r\n \r\n vm.addOtaResponse = (success, name, message) => {\r\n response = {\r\n 'success': success,\r\n 'name': name,\r\n 'message': message\r\n };\r\n (success) ? ++vm.otaSuccess : ++vm.otaFailure;\r\n vm.otaResponse.push(response);\r\n };\r\n \r\n // Callback for send button\r\n vm.send = () => {\r\n vm.initOtaResponse();\r\n if (vm.batch) {\r\n vm.sendFieldsBatch();\r\n } else {\r\n vm.sendFields();\r\n }\r\n };\r\n \r\n // Simulate a batch RPC\r\n vm.sendFieldsBatch = () => {\r\n self.ctx.detectChanges();\r\n console.log(scope.devices);\r\n scope.devices.forEach(device => {\r\n console.log('-processing a device-');\r\n self.ctx.detectChanges();\r\n self.ctx.defaultSubscription.targetDeviceId = device.id;\r\n self.ctx.defaultSubscription.targetDeviceName = device.name;\r\n vm.sendFields();\r\n });\r\n };\r\n \r\n // Send the fields and inputs to device\r\n vm.sendFields = () => {\r\n // Populate the method arguments\r\n const args = {};\r\n \r\n vm.otaTextFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data;\r\n });\r\n \r\n vm.otaSelectFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data.key;\r\n });\r\n // Send the arguments\r\n const timeout = settings.requestTimeout;\r\n const name = self.ctx.defaultSubscription.targetDeviceName;\r\n \r\n var commandObservable = self.ctx.controlApi.sendTwoWayCommand(scope.otaMethod, args, timeout);\r\n vm.afterOtaResponse = () => {\r\n \r\n const totalOta = vm.otaSuccess + vm.otaFailure;\r\n \r\n if (totalOta >= scope.devices.length) { // Include non-batch case\r\n vm.otaResponse.sort((a, b) => {\r\n if (a.success && !b.success) {\r\n return -1;\r\n } else if (!a.success && b.success) {\r\n return 1;\r\n } else if (a.name < b.name) {\r\n return -1;\r\n } else if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n vm.otaTab = 1;\r\n }\r\n }\r\n commandObservable.subscribe(\r\n function (response) {\r\n vm.addOtaResponse(\r\n true, name, response);\r\n vm.afterOtaResponse();\r\n self.ctx.detectChanges();\r\n },\r\n function (rejection) {\r\n self.ctx.detectChanges();\r\n if (rejection.status == 504) {\r\n vm.addOtaResponse(\r\n false, name, \"Device did not respond before timeout.\");\r\n } else {\r\n vm.addOtaResponse(\r\n false, name, `\"${rejection.status}`\r\n + ` ${rejection.statusText} `\r\n + `${vm.rpcErrorText}\"`);\r\n }\r\n vm.afterOtaResponse();\r\n self.ctx.detectChanges();\r\n }\r\n );\r\n };\r\n }\r\n };\r\n \r\n //Listen to the globally broadcasted device selection event\r\n document.addEventListener(\"deviceSelected\", e => {\r\n console.log(\"Updating devices with \" + e.detail);\r\n scope.devices = e.detail;\r\n }); \r\n \r\n // Run any resizing code\r\n self.onResize();\r\n};\r\n\r\nself.onResize = function() {};\r\n\r\nself.onDestroy = function() {\r\n document.removeEventListener(\"deviceActive\", self.ctx.$scope.updateList);\r\n};",
+ "templateHtml": "\r\n\r\n\r\n\r\n\r\n\r\n",
+ "templateCss": "/*\r\nThe OTA Form widget CSS\r\n\r\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\n#ota-method-button-wrapper {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n#ota-method-button {\r\n background-color: rgb(33, 150, 243);\r\n width: 100%;\r\n}\r\n\r\n",
+ "controllerScript": "/*\r\nOTA Form widget Angular controller code\r\n\r\n@copyright: Copyright 2019-2024 Intel Corporation All Rights Reserved.\r\n@license: Intel, see licenses/LICENSE for more details.\r\n*/\r\n\r\nself.onInit = function() {\r\n \r\n const scope = self.ctx.$scope;\r\n const settings = self.ctx.settings;\r\n // Set the method\r\n scope.otaMethodLabel = settings.otaMethodLabel;\r\n scope.otaMethod = settings.otaMethod;\r\n \r\n \r\n let $injector = self.ctx.$scope.$injector;\r\n let customDialog = $injector.get(self.ctx.servicesMap.get('customDialog'));\r\n let htmltemplate = `\r\n`\r\n\r\n scope.devices = [];\r\n // Callback to show the prerendered dialog\r\n scope.displayDialog = event => {\r\n scope.ctx.dialog = customDialog.customDialog(htmltemplate, DialogController);\r\n scope.ctx.dialog.subscribe();\r\n \r\n function DialogController(instance) {\r\n let vm = instance;\r\n \r\n vm.closeDialog = () => {\r\n vm.dialogRef.close(null);\r\n vm.initOtaResponse();\r\n };\r\n\r\n // Set the method\r\n vm.otaMethodLabel = settings.otaMethodLabel;\r\n vm.otaMethod = settings.otaMethod;\r\n\r\n vm.batch = settings.batch ? true : false;\r\n\r\n // Set the method select fields\r\n vm.otaSelectFields = [];\r\n if (settings.otaSelectFields) {\r\n settings.otaSelectFields.forEach(field => {\r\n vm.otaSelectFields.push(field);\r\n });\r\n }\r\n \r\n // Set the method text fields\r\n vm.otaTextFields = [];\r\n if (settings.otaTextFields) {\r\n settings.otaTextFields.forEach(field => {\r\n vm.otaTextFields.push(field);\r\n });\r\n }\r\n \r\n // Center button if no fields are present\r\n vm.alignButton =\r\n (vm.otaSelectFields.length || vm.otaTextFields.length)\r\n ? \"flex-end\" : \"center\";\r\n\r\n // The device response data\r\n vm.initOtaResponse = () => {\r\n vm.otaTab = 0;\r\n vm.otaSuccess = 0;\r\n vm.otaFailure = 0;\r\n vm.otaResponse = [];\r\n };\r\n vm.initOtaResponse();\r\n \r\n vm.addOtaResponse = (success, name, message) => {\r\n response = {\r\n 'success': success,\r\n 'name': name,\r\n 'message': message\r\n };\r\n (success) ? ++vm.otaSuccess : ++vm.otaFailure;\r\n vm.otaResponse.push(response);\r\n };\r\n \r\n // Callback for send button\r\n vm.send = () => {\r\n vm.initOtaResponse();\r\n if (vm.batch) {\r\n vm.sendFieldsBatch();\r\n } else {\r\n vm.sendFields();\r\n }\r\n };\r\n \r\n // Simulate a batch RPC\r\n vm.sendFieldsBatch = () => {\r\n self.ctx.detectChanges();\r\n console.log(scope.devices);\r\n scope.devices.forEach(device => {\r\n console.log('-processing a device-');\r\n self.ctx.detectChanges();\r\n self.ctx.defaultSubscription.targetDeviceId = device.id;\r\n self.ctx.defaultSubscription.targetDeviceName = device.name;\r\n vm.sendFields();\r\n });\r\n };\r\n \r\n // Send the fields and inputs to device\r\n vm.sendFields = () => {\r\n // Populate the method arguments\r\n const args = {};\r\n \r\n vm.otaTextFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data;\r\n });\r\n \r\n vm.otaSelectFields.forEach(field => {\r\n if (field.data) args[field.key] = field.data.key;\r\n });\r\n // Send the arguments\r\n const timeout = settings.requestTimeout;\r\n const name = self.ctx.defaultSubscription.targetDeviceName;\r\n \r\n var commandObservable = self.ctx.controlApi.sendTwoWayCommand(scope.otaMethod, args, timeout);\r\n vm.afterOtaResponse = () => {\r\n \r\n const totalOta = vm.otaSuccess + vm.otaFailure;\r\n \r\n if (totalOta >= scope.devices.length) { // Include non-batch case\r\n vm.otaResponse.sort((a, b) => {\r\n if (a.success && !b.success) {\r\n return -1;\r\n } else if (!a.success && b.success) {\r\n return 1;\r\n } else if (a.name < b.name) {\r\n return -1;\r\n } else if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n vm.otaTab = 1;\r\n }\r\n }\r\n commandObservable.subscribe(\r\n function (response) {\r\n vm.addOtaResponse(\r\n true, name, response);\r\n vm.afterOtaResponse();\r\n self.ctx.detectChanges();\r\n },\r\n function (rejection) {\r\n self.ctx.detectChanges();\r\n if (rejection.status == 504) {\r\n vm.addOtaResponse(\r\n false, name, \"Device did not respond before timeout.\");\r\n } else {\r\n vm.addOtaResponse(\r\n false, name, `\"${rejection.status}`\r\n + ` ${rejection.statusText} `\r\n + `${vm.rpcErrorText}\"`);\r\n }\r\n vm.afterOtaResponse();\r\n self.ctx.detectChanges();\r\n }\r\n );\r\n };\r\n }\r\n };\r\n \r\n //Listen to the globally broadcasted device selection event\r\n document.addEventListener(\"deviceSelected\", e => {\r\n console.log(\"Updating devices with \" + e.detail);\r\n scope.devices = e.detail;\r\n }); \r\n \r\n // Run any resizing code\r\n self.onResize();\r\n};\r\n\r\nself.onResize = function() {};\r\n\r\nself.onDestroy = function() {\r\n document.removeEventListener(\"deviceActive\", self.ctx.$scope.updateList);\r\n};",
"settingsSchema": "{\n \"schema\": {\n \"type\": \"object\",\n \"title\": \"Settings\",\n \"properties\": {\n \"oneWayElseTwoWay\": {\n \"title\": \"Is One Way Command\",\n \"type\": \"boolean\",\n \"default\": false\n },\n \"batch\": {\n \"title\": \"Batch RPC\",\n \"type\": \"boolean\",\n \"default\": false\n },\n \"otaMethodLabel\": {\n \"title\": \"OTA Method Label\",\n \"type\": \"string\",\n \"default\": \"Sample Method\"\n },\n \"otaMethod\": {\n \"title\": \"OTA Method Key\",\n \"type\": \"string\",\n \"default\": \"sample_method\"\n },\n \"otaSelectFields\": {\n \"title\": \"Select Box Fields\",\n \"type\": \"array\",\n \"minItems\": 0,\n \"items\": {\n \"title\": \"Select Box\",\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"key\": {\n \"title\": \"Key\",\n \"type\": \"string\"\n },\n \"options\": {\n \"title\": \"Options\",\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": {\n \"title\": \"Option\",\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"key\": {\n \"title\": \"Key\",\n \"type\": \"string\"\n }\n }\n }\n }\n }\n }\n },\n \"otaTextFields\": {\n \"title\": \"Text Box Fields\",\n \"type\": \"array\",\n \"minItems\": 0,\n \"items\": {\n \"title\": \"Text Box\",\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"key\": {\n \"title\": \"Key\",\n \"type\": \"string\"\n }\n }\n }\n },\n \"requestTimeout\": {\n \"title\": \"RPC request timeout\",\n \"type\": \"number\",\n \"default\": 500\n }\n }\n },\n \"form\": [\n \"batch\",\n \"otaMethodLabel\",\n \"otaMethod\",\n \"otaTextFields\",\n \"otaSelectFields\",\n \"oneWayElseTwoWay\",\n \"requestTimeout\"\n ]\n}",
"dataKeySettingsSchema": "{}\n",
"defaultConfig": "{\"targetDeviceAliases\":[],\"showTitle\":false,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"requestTimeout\":500,\"otaTextFields\":[{\"label\":\"Sample Text\",\"key\":\"sample_text\"},{\"label\":\"Sample Text 2\",\"key\":\"sample_text_2\"}],\"otaSelectFields\":[{\"label\":\"Sample Select\",\"key\":\"sample_select\",\"options\":[{\"label\":\"Option 1\",\"key\":\"1\"},{\"label\":\"Option 2\",\"key\":\"2\"},{\"label\":\"Option 3\",\"key\":\"3\"}],\"data\":{\"label\":\"Option 1\",\"key\":\"1\"}},{\"label\":\"Sample Select 2\",\"key\":\"sample_select_2\",\"options\":[{\"label\":\"Option 1\",\"key\":\"1\"},{\"label\":\"Option 2\",\"key\":\"2\"},{\"label\":\"Option 3\",\"key\":\"3\"}],\"data\":{\"label\":\"Option 1\",\"key\":\"1\"}}],\"otaMethod\":\"sample_form_method\",\"otaMethodLabel\":\"Sample Form Method\"},\"title\":\"OTA Form\",\"dropShadow\":true,\"enableFullscreen\":false,\"widgetStyle\":{},\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"useDashboardTimewindow\":true,\"displayTimewindow\":true,\"showLegend\":false,\"actions\":{}}"
diff --git a/inbm/cloudadapter-agent/package-py3.sh b/inbm/cloudadapter-agent/package-py3.sh
index b0131b633..7de0fa27c 100755
--- a/inbm/cloudadapter-agent/package-py3.sh
+++ b/inbm/cloudadapter-agent/package-py3.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
PACKAGE_TYPE="$1"
diff --git a/inbm/cloudadapter-agent/setup.py b/inbm/cloudadapter-agent/setup.py
index 52d69a433..ddc997299 100644
--- a/inbm/cloudadapter-agent/setup.py
+++ b/inbm/cloudadapter-agent/setup.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
from setuptools import setup, find_packages
diff --git a/inbm/configuration-agent/Makefile b/inbm/configuration-agent/Makefile
index 48bfa710e..17c0b1e7d 100644
--- a/inbm/configuration-agent/Makefile
+++ b/inbm/configuration-agent/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
.PHONY: tests # `make tests` doesn't run because of the tests directory
diff --git a/inbm/configuration-agent/configuration/__init__.py b/inbm/configuration-agent/configuration/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/configuration-agent/configuration/__init__.py
+++ b/inbm/configuration-agent/configuration/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/configuration-agent/configuration/broker.py b/inbm/configuration-agent/configuration/broker.py
index a6b641415..61c6ed0f7 100644
--- a/inbm/configuration-agent/configuration/broker.py
+++ b/inbm/configuration-agent/configuration/broker.py
@@ -1,7 +1,7 @@
"""
Central configuration/logging service for the manageability framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import json
diff --git a/inbm/configuration-agent/configuration/commands.py b/inbm/configuration-agent/configuration/commands.py
index a9a3e5891..e48329e7a 100644
--- a/inbm/configuration-agent/configuration/commands.py
+++ b/inbm/configuration-agent/configuration/commands.py
@@ -1,7 +1,7 @@
"""
Commands supported by Configuration Agent
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/configuration-agent/configuration/configuration.py b/inbm/configuration-agent/configuration/configuration.py
index 3c5131442..0e776a0bc 100755
--- a/inbm/configuration-agent/configuration/configuration.py
+++ b/inbm/configuration-agent/configuration/configuration.py
@@ -2,7 +2,7 @@
"""
Central configuration-agent/configuration service for the manageability framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/configuration-agent/configuration/configuration_exception.py b/inbm/configuration-agent/configuration/configuration_exception.py
index b48003168..a9fbd879b 100644
--- a/inbm/configuration-agent/configuration/configuration_exception.py
+++ b/inbm/configuration-agent/configuration/configuration_exception.py
@@ -3,7 +3,7 @@
Central configuration agent error handling framework responsible
for raising exceptions in case of unexpected behavior.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/configuration-agent/configuration/constants.py b/inbm/configuration-agent/configuration/constants.py
index 88f764d17..a89f37b82 100644
--- a/inbm/configuration-agent/configuration/constants.py
+++ b/inbm/configuration-agent/configuration/constants.py
@@ -1,7 +1,7 @@
"""
Constants and other config variables used throughout the configuration module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from inbm_lib.path_prefixes import INTEL_MANAGEABILITY_ETC_PATH_PREFIX, \
diff --git a/inbm/configuration-agent/configuration/ikeyvaluestore.py b/inbm/configuration-agent/configuration/ikeyvaluestore.py
index 471d6d802..ee4007613 100644
--- a/inbm/configuration-agent/configuration/ikeyvaluestore.py
+++ b/inbm/configuration-agent/configuration/ikeyvaluestore.py
@@ -1,7 +1,7 @@
"""
Base class of commands supported by Configuration Agent
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/configuration-agent/configuration/xml_key_value_store.py b/inbm/configuration-agent/configuration/xml_key_value_store.py
index b0e58d2bd..0e3a3f11d 100644
--- a/inbm/configuration-agent/configuration/xml_key_value_store.py
+++ b/inbm/configuration-agent/configuration/xml_key_value_store.py
@@ -1,7 +1,7 @@
"""
Module that handles parsing of XML files
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import io
diff --git a/inbm/configuration-agent/package-py3.sh b/inbm/configuration-agent/package-py3.sh
index f0691135a..71f5aba99 100755
--- a/inbm/configuration-agent/package-py3.sh
+++ b/inbm/configuration-agent/package-py3.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
PACKAGE_TYPE="$1"
diff --git a/inbm/diagnostic-agent/Makefile b/inbm/diagnostic-agent/Makefile
index 16e334f85..482b72281 100644
--- a/inbm/diagnostic-agent/Makefile
+++ b/inbm/diagnostic-agent/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
.PHONY: tests # `make tests` doesn't run because of the tests directory
diff --git a/inbm/diagnostic-agent/diagnostic/__init__.py b/inbm/diagnostic-agent/diagnostic/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/diagnostic-agent/diagnostic/__init__.py
+++ b/inbm/diagnostic-agent/diagnostic/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/broker.py b/inbm/diagnostic-agent/diagnostic/broker.py
index f86bc2a06..382f944e4 100644
--- a/inbm/diagnostic-agent/diagnostic/broker.py
+++ b/inbm/diagnostic-agent/diagnostic/broker.py
@@ -2,7 +2,7 @@
"""
Broker for MQTT communication of the agent.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/diagnostic-agent/diagnostic/command_pattern.py b/inbm/diagnostic-agent/diagnostic/command_pattern.py
index 5da087462..468b8aea6 100644
--- a/inbm/diagnostic-agent/diagnostic/command_pattern.py
+++ b/inbm/diagnostic-agent/diagnostic/command_pattern.py
@@ -1,7 +1,7 @@
"""
Implementation of Command Pattern to check health of system
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/commands.py b/inbm/diagnostic-agent/diagnostic/commands.py
index e17280c64..30c9d457c 100644
--- a/inbm/diagnostic-agent/diagnostic/commands.py
+++ b/inbm/diagnostic-agent/diagnostic/commands.py
@@ -1,5 +1,5 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/config_dbs.py b/inbm/diagnostic-agent/diagnostic/config_dbs.py
index 6199d8925..1bb473ec3 100644
--- a/inbm/diagnostic-agent/diagnostic/config_dbs.py
+++ b/inbm/diagnostic-agent/diagnostic/config_dbs.py
@@ -1,5 +1,5 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/constants.py b/inbm/diagnostic-agent/diagnostic/constants.py
index 2b9e28ee3..d26cf4caf 100644
--- a/inbm/diagnostic-agent/diagnostic/constants.py
+++ b/inbm/diagnostic-agent/diagnostic/constants.py
@@ -1,7 +1,7 @@
"""
Agent which monitors and reports the state of critical components of the framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/diagnostic.py b/inbm/diagnostic-agent/diagnostic/diagnostic.py
index 249cf999b..4076d7016 100755
--- a/inbm/diagnostic-agent/diagnostic/diagnostic.py
+++ b/inbm/diagnostic-agent/diagnostic/diagnostic.py
@@ -2,7 +2,7 @@
"""
Agent which monitors and reports the state of critical components of the framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/diagnostic_checker.py b/inbm/diagnostic-agent/diagnostic/diagnostic_checker.py
index f69ae24eb..cbdb7d055 100644
--- a/inbm/diagnostic-agent/diagnostic/diagnostic_checker.py
+++ b/inbm/diagnostic-agent/diagnostic/diagnostic_checker.py
@@ -2,7 +2,7 @@
"""
Acts as the client in the command pattern for the diagnostic-agent
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/diagnostic_exception.py b/inbm/diagnostic-agent/diagnostic/diagnostic_exception.py
index 52bb1c2a1..3bf2f204b 100644
--- a/inbm/diagnostic-agent/diagnostic/diagnostic_exception.py
+++ b/inbm/diagnostic-agent/diagnostic/diagnostic_exception.py
@@ -2,7 +2,7 @@
"""
Agent which monitors and reports the state of critical components of the framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/dispatch_command.py b/inbm/diagnostic-agent/diagnostic/dispatch_command.py
index 140aef786..8a2ab0072 100644
--- a/inbm/diagnostic-agent/diagnostic/dispatch_command.py
+++ b/inbm/diagnostic-agent/diagnostic/dispatch_command.py
@@ -1,7 +1,7 @@
"""
Agent which monitors and reports the state of critical components of the framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/docker_bench_security_runner.py b/inbm/diagnostic-agent/diagnostic/docker_bench_security_runner.py
index 389833777..8436b0758 100644
--- a/inbm/diagnostic-agent/diagnostic/docker_bench_security_runner.py
+++ b/inbm/diagnostic-agent/diagnostic/docker_bench_security_runner.py
@@ -1,7 +1,7 @@
"""
Agent which monitors and reports the state of critical components of the framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/event_watcher.py b/inbm/diagnostic-agent/diagnostic/event_watcher.py
index 443d3cbab..737f23135 100644
--- a/inbm/diagnostic-agent/diagnostic/event_watcher.py
+++ b/inbm/diagnostic-agent/diagnostic/event_watcher.py
@@ -1,6 +1,6 @@
"""
Agent which monitors and reports the state of critical components of the framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/filesystem_utilities.py b/inbm/diagnostic-agent/diagnostic/filesystem_utilities.py
index 6ea6f8192..02b0ad238 100644
--- a/inbm/diagnostic-agent/diagnostic/filesystem_utilities.py
+++ b/inbm/diagnostic-agent/diagnostic/filesystem_utilities.py
@@ -1,7 +1,7 @@
"""
Filesystem utilities--e.g., calculate free space on a filesystem.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/diagnostic-agent/diagnostic/health_checker.py b/inbm/diagnostic-agent/diagnostic/health_checker.py
index fb0ebcc26..60b55a1c3 100644
--- a/inbm/diagnostic-agent/diagnostic/health_checker.py
+++ b/inbm/diagnostic-agent/diagnostic/health_checker.py
@@ -1,7 +1,7 @@
"""
Creates a health check command list
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from typing import List, Dict, Any
diff --git a/inbm/diagnostic-agent/diagnostic/ibroker.py b/inbm/diagnostic-agent/diagnostic/ibroker.py
index 53e58128e..93ac2b170 100644
--- a/inbm/diagnostic-agent/diagnostic/ibroker.py
+++ b/inbm/diagnostic-agent/diagnostic/ibroker.py
@@ -1,7 +1,7 @@
"""
Interface to Broker class
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/main.py b/inbm/diagnostic-agent/diagnostic/main.py
index bf6565a28..c00906900 100755
--- a/inbm/diagnostic-agent/diagnostic/main.py
+++ b/inbm/diagnostic-agent/diagnostic/main.py
@@ -2,7 +2,7 @@
"""
Agent which monitors and reports the state of critical components of the framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/repeating_timer.py b/inbm/diagnostic-agent/diagnostic/repeating_timer.py
index e07daa42e..64f37a230 100644
--- a/inbm/diagnostic-agent/diagnostic/repeating_timer.py
+++ b/inbm/diagnostic-agent/diagnostic/repeating_timer.py
@@ -1,7 +1,7 @@
"""
Timer utilizing thr Python threading.Timer class
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/util.py b/inbm/diagnostic-agent/diagnostic/util.py
index ca7e9eb28..695f3cc6a 100644
--- a/inbm/diagnostic-agent/diagnostic/util.py
+++ b/inbm/diagnostic-agent/diagnostic/util.py
@@ -1,7 +1,7 @@
"""
Agent which monitors and reports the state of critical components of the framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/diagnostic/value_bounds_dataclass.py b/inbm/diagnostic-agent/diagnostic/value_bounds_dataclass.py
index 63a2e2d2a..9a62d6297 100644
--- a/inbm/diagnostic-agent/diagnostic/value_bounds_dataclass.py
+++ b/inbm/diagnostic-agent/diagnostic/value_bounds_dataclass.py
@@ -3,7 +3,7 @@
consists of the lower, upper and default values associated with the
config keys.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/diagnostic-agent/fpm-template/lib/systemd/system/inbm-diagnostic.service b/inbm/diagnostic-agent/fpm-template/lib/systemd/system/inbm-diagnostic.service
index cb3bf6119..50483f740 100644
--- a/inbm/diagnostic-agent/fpm-template/lib/systemd/system/inbm-diagnostic.service
+++ b/inbm/diagnostic-agent/fpm-template/lib/systemd/system/inbm-diagnostic.service
@@ -1,4 +1,4 @@
- # Copyright (C) 2017-2023 Intel Corporation
+ # Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
[Unit]
diff --git a/inbm/dispatcher-agent/Makefile b/inbm/dispatcher-agent/Makefile
index d7088b4b4..9e072e2c7 100644
--- a/inbm/dispatcher-agent/Makefile
+++ b/inbm/dispatcher-agent/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
.PHONY: tests # `make tests` doesn't run because of the tests directory
diff --git a/inbm/dispatcher-agent/dispatcher/__init__.py b/inbm/dispatcher-agent/dispatcher/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/dispatcher-agent/dispatcher/__init__.py
+++ b/inbm/dispatcher-agent/dispatcher/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/aota/__init__.py b/inbm/dispatcher-agent/dispatcher/aota/__init__.py
index 003ddb176..c1be17596 100644
--- a/inbm/dispatcher-agent/dispatcher/aota/__init__.py
+++ b/inbm/dispatcher-agent/dispatcher/aota/__init__.py
@@ -1,6 +1,6 @@
"""
Constants and other config variables used throughout the AOTA module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/aota/aota.py b/inbm/dispatcher-agent/dispatcher/aota/aota.py
index 7d445a333..f5f0fb451 100644
--- a/inbm/dispatcher-agent/dispatcher/aota/aota.py
+++ b/inbm/dispatcher-agent/dispatcher/aota/aota.py
@@ -2,7 +2,7 @@
Agent responsible for application over the air installs
and packages.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/aota/aota_command.py b/inbm/dispatcher-agent/dispatcher/aota/aota_command.py
index 119270acd..8db1c7591 100644
--- a/inbm/dispatcher-agent/dispatcher/aota/aota_command.py
+++ b/inbm/dispatcher-agent/dispatcher/aota/aota_command.py
@@ -1,7 +1,7 @@
"""
Docker and Docker compose related functions used throughout the AOTA module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/aota/aota_error.py b/inbm/dispatcher-agent/dispatcher/aota/aota_error.py
index e7f320c30..0def17f08 100644
--- a/inbm/dispatcher-agent/dispatcher/aota/aota_error.py
+++ b/inbm/dispatcher-agent/dispatcher/aota/aota_error.py
@@ -1,7 +1,7 @@
"""
AOTA update tool
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/aota/application_command.py b/inbm/dispatcher-agent/dispatcher/aota/application_command.py
index a330415ff..17b6f7aea 100644
--- a/inbm/dispatcher-agent/dispatcher/aota/application_command.py
+++ b/inbm/dispatcher-agent/dispatcher/aota/application_command.py
@@ -1,7 +1,7 @@
"""
AOTA Application Command Concrete Classes
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/aota/checker.py b/inbm/dispatcher-agent/dispatcher/aota/checker.py
index 8b760e791..561dad296 100644
--- a/inbm/dispatcher-agent/dispatcher/aota/checker.py
+++ b/inbm/dispatcher-agent/dispatcher/aota/checker.py
@@ -1,7 +1,7 @@
"""
Performs checks during the application over the air update (AOTA)
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/aota/cleaner.py b/inbm/dispatcher-agent/dispatcher/aota/cleaner.py
index d8ff4fedb..f3d2b8915 100644
--- a/inbm/dispatcher-agent/dispatcher/aota/cleaner.py
+++ b/inbm/dispatcher-agent/dispatcher/aota/cleaner.py
@@ -1,7 +1,7 @@
"""
Cleans up repositories and images
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/aota/constants.py b/inbm/dispatcher-agent/dispatcher/aota/constants.py
index 4c2693b2f..181a83ddc 100644
--- a/inbm/dispatcher-agent/dispatcher/aota/constants.py
+++ b/inbm/dispatcher-agent/dispatcher/aota/constants.py
@@ -1,7 +1,7 @@
"""
Constants and other config variables used throughout the AOTA module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/aota/factory.py b/inbm/dispatcher-agent/dispatcher/aota/factory.py
index 23b4bf892..027d16a5f 100644
--- a/inbm/dispatcher-agent/dispatcher/aota/factory.py
+++ b/inbm/dispatcher-agent/dispatcher/aota/factory.py
@@ -1,7 +1,7 @@
"""
AOTA Application Factory
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/command.py b/inbm/dispatcher-agent/dispatcher/command.py
index 351ef2b3b..f0f2e152a 100644
--- a/inbm/dispatcher-agent/dispatcher/command.py
+++ b/inbm/dispatcher-agent/dispatcher/command.py
@@ -1,7 +1,7 @@
"""
Class for creating Command objects to be sent to the Diagnostic Agent
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/common/__init__.py b/inbm/dispatcher-agent/dispatcher/common/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/dispatcher-agent/dispatcher/common/__init__.py
+++ b/inbm/dispatcher-agent/dispatcher/common/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/common/constants.py b/inbm/dispatcher-agent/dispatcher/common/constants.py
index 6a0c8e6e8..ebd3feaf6 100644
--- a/inbm/dispatcher-agent/dispatcher/common/constants.py
+++ b/inbm/dispatcher-agent/dispatcher/common/constants.py
@@ -1,7 +1,7 @@
"""
Constants and other config variables used throughout the common module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from inbm_lib.path_prefixes import INTEL_MANAGEABILITY_RAW_ETC
diff --git a/inbm/dispatcher-agent/dispatcher/common/dispatcher_state.py b/inbm/dispatcher-agent/dispatcher/common/dispatcher_state.py
index c90069303..57d4f593b 100644
--- a/inbm/dispatcher-agent/dispatcher/common/dispatcher_state.py
+++ b/inbm/dispatcher-agent/dispatcher/common/dispatcher_state.py
@@ -3,7 +3,7 @@
Central communication agent in the manageability framework responsible
for issuing commands and signals to other tools/agents
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import builtins
diff --git a/inbm/dispatcher-agent/dispatcher/common/result_constants.py b/inbm/dispatcher-agent/dispatcher/common/result_constants.py
index 6ad71bbf4..472820ae3 100644
--- a/inbm/dispatcher-agent/dispatcher/common/result_constants.py
+++ b/inbm/dispatcher-agent/dispatcher/common/result_constants.py
@@ -1,7 +1,7 @@
"""
Result Constants used throughout the dispatcher agent
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/common/uri_utilities.py b/inbm/dispatcher-agent/dispatcher/common/uri_utilities.py
index 7108a2758..57719e850 100644
--- a/inbm/dispatcher-agent/dispatcher/common/uri_utilities.py
+++ b/inbm/dispatcher-agent/dispatcher/common/uri_utilities.py
@@ -1,7 +1,7 @@
"""
URI utilities
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/config/__init__.py b/inbm/dispatcher-agent/dispatcher/config/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/dispatcher-agent/dispatcher/config/__init__.py
+++ b/inbm/dispatcher-agent/dispatcher/config/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/config/config_command.py b/inbm/dispatcher-agent/dispatcher/config/config_command.py
index dba4306c4..fff3d3379 100644
--- a/inbm/dispatcher-agent/dispatcher/config/config_command.py
+++ b/inbm/dispatcher-agent/dispatcher/config/config_command.py
@@ -1,7 +1,7 @@
"""
Class for creating Command objects to be sent to the Configuration Agent
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/config/constants.py b/inbm/dispatcher-agent/dispatcher/config/constants.py
index 3ea816f42..ddd7f5af3 100644
--- a/inbm/dispatcher-agent/dispatcher/config/constants.py
+++ b/inbm/dispatcher-agent/dispatcher/config/constants.py
@@ -1,7 +1,7 @@
"""
Constants and other config variables used throughout the packagemanager module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/config_dbs.py b/inbm/dispatcher-agent/dispatcher/config_dbs.py
index 6199d8925..1bb473ec3 100644
--- a/inbm/dispatcher-agent/dispatcher/config_dbs.py
+++ b/inbm/dispatcher-agent/dispatcher/config_dbs.py
@@ -1,5 +1,5 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/configuration_helper.py b/inbm/dispatcher-agent/dispatcher/configuration_helper.py
index c9f9c0a10..5be1fcdb3 100644
--- a/inbm/dispatcher-agent/dispatcher/configuration_helper.py
+++ b/inbm/dispatcher-agent/dispatcher/configuration_helper.py
@@ -2,7 +2,7 @@
Central communication agent in the manageability framework responsible
for issuing commands and signals to other tools/agents
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/constants.py b/inbm/dispatcher-agent/dispatcher/constants.py
index 413258807..7b3f115ea 100644
--- a/inbm/dispatcher-agent/dispatcher/constants.py
+++ b/inbm/dispatcher-agent/dispatcher/constants.py
@@ -1,7 +1,7 @@
"""
Constants and other config variables used throughout the dispatcher module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from enum import Enum
diff --git a/inbm/dispatcher-agent/dispatcher/device_manager/__init__.py b/inbm/dispatcher-agent/dispatcher/device_manager/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/dispatcher-agent/dispatcher/device_manager/__init__.py
+++ b/inbm/dispatcher-agent/dispatcher/device_manager/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/device_manager/constants.py b/inbm/dispatcher-agent/dispatcher/device_manager/constants.py
index 76c6e0b7a..981a455b6 100644
--- a/inbm/dispatcher-agent/dispatcher/device_manager/constants.py
+++ b/inbm/dispatcher-agent/dispatcher/device_manager/constants.py
@@ -1,7 +1,7 @@
"""
Constants for DeviceManager classes
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/device_manager/device_manager.py b/inbm/dispatcher-agent/dispatcher/device_manager/device_manager.py
index 020464ab2..811c55b38 100644
--- a/inbm/dispatcher-agent/dispatcher/device_manager/device_manager.py
+++ b/inbm/dispatcher-agent/dispatcher/device_manager/device_manager.py
@@ -1,7 +1,7 @@
"""
Superclass responsible for device power and decommissioning.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/dispatcher.py b/inbm/dispatcher-agent/dispatcher/dispatcher.py
index a3fe28cde..f51575c14 100644
--- a/inbm/dispatcher-agent/dispatcher/dispatcher.py
+++ b/inbm/dispatcher-agent/dispatcher/dispatcher.py
@@ -1,7 +1,7 @@
"""
Main .py file for Dispatcher agent -- contains main() method
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import platform
diff --git a/inbm/dispatcher-agent/dispatcher/dispatcher_broker.py b/inbm/dispatcher-agent/dispatcher/dispatcher_broker.py
index 5f173d53f..242239eba 100644
--- a/inbm/dispatcher-agent/dispatcher/dispatcher_broker.py
+++ b/inbm/dispatcher-agent/dispatcher/dispatcher_broker.py
@@ -2,7 +2,7 @@
Helper class to pass common Dispatcher MQTT broker interface to OTA threads
without introducing a dependency on all of Dispatcher
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/dispatcher_class.py b/inbm/dispatcher-agent/dispatcher/dispatcher_class.py
index a88cc1009..60a62e41b 100644
--- a/inbm/dispatcher-agent/dispatcher/dispatcher_class.py
+++ b/inbm/dispatcher-agent/dispatcher/dispatcher_class.py
@@ -2,7 +2,7 @@
Central communication agent in the manageability framework responsible
for issuing commands and signals to other tools/agents
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/dispatcher_exception.py b/inbm/dispatcher-agent/dispatcher/dispatcher_exception.py
index a4ba8df2e..f9997c2c3 100644
--- a/inbm/dispatcher-agent/dispatcher/dispatcher_exception.py
+++ b/inbm/dispatcher-agent/dispatcher/dispatcher_exception.py
@@ -2,7 +2,7 @@
Central communication agent in the manageability framework responsible
for issuing commands and signals to other tools/agents
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/downloader.py b/inbm/dispatcher-agent/dispatcher/downloader.py
index e0997e5d2..00fa00665 100644
--- a/inbm/dispatcher-agent/dispatcher/downloader.py
+++ b/inbm/dispatcher-agent/dispatcher/downloader.py
@@ -1,7 +1,7 @@
"""
OTA update tool which is called from the dispatcher during installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/fota/__init__.py b/inbm/dispatcher-agent/dispatcher/fota/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/__init__.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/fota/bios_factory.py b/inbm/dispatcher-agent/dispatcher/fota/bios_factory.py
index 4a8c17bd8..fe0550b4a 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/bios_factory.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/bios_factory.py
@@ -1,7 +1,7 @@
"""
FOTA update tool which is called from the dispatcher during installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/fota/constants.py b/inbm/dispatcher-agent/dispatcher/fota/constants.py
index 75b42b3fd..4a5606921 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/constants.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/constants.py
@@ -1,7 +1,7 @@
"""
Constants and other config variables used throughout the fota module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
# Device local cache
diff --git a/inbm/dispatcher-agent/dispatcher/fota/fota.py b/inbm/dispatcher-agent/dispatcher/fota/fota.py
index 6286134e7..59b487a01 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/fota.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/fota.py
@@ -1,7 +1,7 @@
"""
FOTA update tool which is called from the dispatcher during installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/fota/fota_error.py b/inbm/dispatcher-agent/dispatcher/fota/fota_error.py
index ac0335f79..96b5df2bd 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/fota_error.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/fota_error.py
@@ -1,7 +1,7 @@
"""
FOTA exception
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/fota/guid.py b/inbm/dispatcher-agent/dispatcher/fota/guid.py
index 2e4602040..74c7d1b89 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/guid.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/guid.py
@@ -1,7 +1,7 @@
"""
FOTA update tool which is called from the dispatcher during installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/fota/installer.py b/inbm/dispatcher-agent/dispatcher/fota/installer.py
index 2e91c17e5..81b100843 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/installer.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/installer.py
@@ -1,7 +1,7 @@
"""
FOTA update tool which is called from the dispatcher during installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/fota/manifest.py b/inbm/dispatcher-agent/dispatcher/fota/manifest.py
index 441188cfd..26e9ff9d3 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/manifest.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/manifest.py
@@ -1,7 +1,7 @@
"""
FOTA update tool which is called from the dispatcher during installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/fota/os_factory.py b/inbm/dispatcher-agent/dispatcher/fota/os_factory.py
index cb384a33e..2e2af1f02 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/os_factory.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/os_factory.py
@@ -1,7 +1,7 @@
"""
FOTA update tool which is called from the dispatcher during installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/fota/rebooter.py b/inbm/dispatcher-agent/dispatcher/fota/rebooter.py
index 3175704fe..6bf8e52bf 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/rebooter.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/rebooter.py
@@ -1,7 +1,7 @@
"""
FOTA update tool which is called from the dispatcher during installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/fota/upgrade_checker.py b/inbm/dispatcher-agent/dispatcher/fota/upgrade_checker.py
index 591c8cbcc..2b7d72047 100644
--- a/inbm/dispatcher-agent/dispatcher/fota/upgrade_checker.py
+++ b/inbm/dispatcher-agent/dispatcher/fota/upgrade_checker.py
@@ -1,7 +1,7 @@
"""
FOTA update tool which is called from the dispatcher during installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/install_check_service.py b/inbm/dispatcher-agent/dispatcher/install_check_service.py
index 90408d572..39ba49323 100644
--- a/inbm/dispatcher-agent/dispatcher/install_check_service.py
+++ b/inbm/dispatcher-agent/dispatcher/install_check_service.py
@@ -1,7 +1,7 @@
"""
Install check service
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/ota_downloader.py b/inbm/dispatcher-agent/dispatcher/ota_downloader.py
index 210377db2..4ea968a30 100644
--- a/inbm/dispatcher-agent/dispatcher/ota_downloader.py
+++ b/inbm/dispatcher-agent/dispatcher/ota_downloader.py
@@ -1,7 +1,7 @@
"""
Downloads OTA file
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import abc
diff --git a/inbm/dispatcher-agent/dispatcher/ota_factory.py b/inbm/dispatcher-agent/dispatcher/ota_factory.py
index 7e6a30f0d..879ab2936 100644
--- a/inbm/dispatcher-agent/dispatcher/ota_factory.py
+++ b/inbm/dispatcher-agent/dispatcher/ota_factory.py
@@ -1,7 +1,7 @@
"""
OTA abstract factory which is used to execute OTA calls from the cloud.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import abc
diff --git a/inbm/dispatcher-agent/dispatcher/ota_parser.py b/inbm/dispatcher-agent/dispatcher/ota_parser.py
index 2d02aeef5..ef5f227e5 100644
--- a/inbm/dispatcher-agent/dispatcher/ota_parser.py
+++ b/inbm/dispatcher-agent/dispatcher/ota_parser.py
@@ -1,7 +1,7 @@
"""
Parses OTA manifests.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/ota_target.py b/inbm/dispatcher-agent/dispatcher/ota_target.py
index c6fec4dd2..f06559a3f 100644
--- a/inbm/dispatcher-agent/dispatcher/ota_target.py
+++ b/inbm/dispatcher-agent/dispatcher/ota_target.py
@@ -1,7 +1,7 @@
"""
Publishes OTA manifests for targets.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/ota_thread.py b/inbm/dispatcher-agent/dispatcher/ota_thread.py
index 522759bd2..ecd58b5aa 100644
--- a/inbm/dispatcher-agent/dispatcher/ota_thread.py
+++ b/inbm/dispatcher-agent/dispatcher/ota_thread.py
@@ -1,7 +1,7 @@
"""
Starts OTA thread.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import abc
diff --git a/inbm/dispatcher-agent/dispatcher/ota_util.py b/inbm/dispatcher-agent/dispatcher/ota_util.py
index 4ba4e7124..3a5acc820 100644
--- a/inbm/dispatcher-agent/dispatcher/ota_util.py
+++ b/inbm/dispatcher-agent/dispatcher/ota_util.py
@@ -1,7 +1,7 @@
"""
Module that contains the method for processing OTA resource
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/packageinstaller/__init__.py b/inbm/dispatcher-agent/dispatcher/packageinstaller/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/dispatcher-agent/dispatcher/packageinstaller/__init__.py
+++ b/inbm/dispatcher-agent/dispatcher/packageinstaller/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/packageinstaller/constants.py b/inbm/dispatcher-agent/dispatcher/packageinstaller/constants.py
index e0325628b..138fbd735 100644
--- a/inbm/dispatcher-agent/dispatcher/packageinstaller/constants.py
+++ b/inbm/dispatcher-agent/dispatcher/packageinstaller/constants.py
@@ -1,7 +1,7 @@
"""
Constants used by the packageinstaller module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/packageinstaller/dbs_checker.py b/inbm/dispatcher-agent/dispatcher/packageinstaller/dbs_checker.py
index 07fb510e8..63f4b0738 100644
--- a/inbm/dispatcher-agent/dispatcher/packageinstaller/dbs_checker.py
+++ b/inbm/dispatcher-agent/dispatcher/packageinstaller/dbs_checker.py
@@ -1,7 +1,7 @@
"""
Module which runs the Docker Bench Security check on docker images and containers.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/packageinstaller/package_installer.py b/inbm/dispatcher-agent/dispatcher/packageinstaller/package_installer.py
index 2cb85582a..7be74b33d 100644
--- a/inbm/dispatcher-agent/dispatcher/packageinstaller/package_installer.py
+++ b/inbm/dispatcher-agent/dispatcher/packageinstaller/package_installer.py
@@ -1,7 +1,7 @@
"""
Module that manages communication with TRTL for OTA package installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from dispatcher.common.result_constants import *
diff --git a/inbm/dispatcher-agent/dispatcher/packagemanager/__init__.py b/inbm/dispatcher-agent/dispatcher/packagemanager/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/dispatcher-agent/dispatcher/packagemanager/__init__.py
+++ b/inbm/dispatcher-agent/dispatcher/packagemanager/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/packagemanager/constants.py b/inbm/dispatcher-agent/dispatcher/packagemanager/constants.py
index 15140ccf1..b919c5bf4 100644
--- a/inbm/dispatcher-agent/dispatcher/packagemanager/constants.py
+++ b/inbm/dispatcher-agent/dispatcher/packagemanager/constants.py
@@ -1,7 +1,7 @@
"""
Constants and other config variables used throughout the packagemanager module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/packagemanager/irepo.py b/inbm/dispatcher-agent/dispatcher/packagemanager/irepo.py
index 0662859d9..fab3eb63a 100644
--- a/inbm/dispatcher-agent/dispatcher/packagemanager/irepo.py
+++ b/inbm/dispatcher-agent/dispatcher/packagemanager/irepo.py
@@ -1,5 +1,5 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/packagemanager/local_repo.py b/inbm/dispatcher-agent/dispatcher/packagemanager/local_repo.py
index e27e79d38..428982878 100644
--- a/inbm/dispatcher-agent/dispatcher/packagemanager/local_repo.py
+++ b/inbm/dispatcher-agent/dispatcher/packagemanager/local_repo.py
@@ -2,7 +2,7 @@
On-disk implementation of Repo with simple add, get, list, exists
functions
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/packagemanager/memory_repo.py b/inbm/dispatcher-agent/dispatcher/packagemanager/memory_repo.py
index 49214a5e6..9fc0312a3 100644
--- a/inbm/dispatcher-agent/dispatcher/packagemanager/memory_repo.py
+++ b/inbm/dispatcher-agent/dispatcher/packagemanager/memory_repo.py
@@ -1,7 +1,7 @@
"""In-memory implementation of IRepo with simple add, get, list, exists
functions
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/packagemanager/package_manager.py b/inbm/dispatcher-agent/dispatcher/packagemanager/package_manager.py
index 12ae7fe9b..bc58d76dd 100644
--- a/inbm/dispatcher-agent/dispatcher/packagemanager/package_manager.py
+++ b/inbm/dispatcher-agent/dispatcher/packagemanager/package_manager.py
@@ -3,7 +3,7 @@
package from the specified URL and stores into a configured local cache
on the device
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/remediationmanager/__init__.py b/inbm/dispatcher-agent/dispatcher/remediationmanager/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/dispatcher-agent/dispatcher/remediationmanager/__init__.py
+++ b/inbm/dispatcher-agent/dispatcher/remediationmanager/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/remediationmanager/remediation_manager.py b/inbm/dispatcher-agent/dispatcher/remediationmanager/remediation_manager.py
index 3c5f8936b..09fc50803 100644
--- a/inbm/dispatcher-agent/dispatcher/remediationmanager/remediation_manager.py
+++ b/inbm/dispatcher-agent/dispatcher/remediationmanager/remediation_manager.py
@@ -2,7 +2,7 @@
Module which fetches and stores external update packages. It fetches a
package from the specified URL and stores into a configured local cache
on the device
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/__init__.py b/inbm/dispatcher-agent/dispatcher/sota/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/__init__.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/command_handler.py b/inbm/dispatcher-agent/dispatcher/sota/command_handler.py
index 1494af44a..507f94ba7 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/command_handler.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/command_handler.py
@@ -1,7 +1,7 @@
"""
SOTA command utilities
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/command_list.py b/inbm/dispatcher-agent/dispatcher/sota/command_list.py
index 312b009c9..2c1046fdc 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/command_list.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/command_list.py
@@ -1,7 +1,7 @@
"""
Builds and stores a list of valid commands.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/constants.py b/inbm/dispatcher-agent/dispatcher/sota/constants.py
index 8d1e05da6..0d8a60362 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/constants.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/constants.py
@@ -1,7 +1,7 @@
"""
Constants and other config variables used throughout the SOTA module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/converter.py b/inbm/dispatcher-agent/dispatcher/sota/converter.py
index e261889c2..8eba8d0e6 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/converter.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/converter.py
@@ -1,7 +1,7 @@
"""
Converts data sizes
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/downloader.py b/inbm/dispatcher-agent/dispatcher/sota/downloader.py
index a5f27ce54..792e96f0b 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/downloader.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/downloader.py
@@ -1,7 +1,7 @@
"""
SOTA to perform download during an update and is called from the dispatcher
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/log_helper.py b/inbm/dispatcher-agent/dispatcher/sota/log_helper.py
index 77ff15881..2690ce383 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/log_helper.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/log_helper.py
@@ -1,7 +1,7 @@
"""
SOTA logging utilities
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/mender_util.py b/inbm/dispatcher-agent/dispatcher/sota/mender_util.py
index eac53e398..0f4a9d708 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/mender_util.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/mender_util.py
@@ -1,7 +1,7 @@
"""
Mender utility functions
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/sota/os_factory.py b/inbm/dispatcher-agent/dispatcher/sota/os_factory.py
index 54d12de25..a353ca96b 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/os_factory.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/os_factory.py
@@ -2,7 +2,7 @@
SOTA updates factory class. Used to trigger
package installation, updates, security updates etc
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import platform
diff --git a/inbm/dispatcher-agent/dispatcher/sota/os_updater.py b/inbm/dispatcher-agent/dispatcher/sota/os_updater.py
index 37c29b8f9..ea8d47431 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/os_updater.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/os_updater.py
@@ -2,7 +2,7 @@
SOTA updates factory class. Used to trigger
package installation, updates, security updates etc
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/rebooter.py b/inbm/dispatcher-agent/dispatcher/sota/rebooter.py
index 5f1e70d19..3ee0a5538 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/rebooter.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/rebooter.py
@@ -1,7 +1,7 @@
"""
SOTA reboot classes. Abstract class and concrete classes.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import logging
diff --git a/inbm/dispatcher-agent/dispatcher/sota/setup_helper.py b/inbm/dispatcher-agent/dispatcher/sota/setup_helper.py
index 7c62a99cc..f2a9cf555 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/setup_helper.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/setup_helper.py
@@ -2,7 +2,7 @@
Central communication agent in the manageability framework responsible
for issuing commands and signals to other tools/agents
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/snapshot.py b/inbm/dispatcher-agent/dispatcher/sota/snapshot.py
index 2fbec1b36..f5a97ad20 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/snapshot.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/snapshot.py
@@ -1,7 +1,7 @@
"""
SOTA snapshot class. Creates a snapshot prior to system update.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/sota.py b/inbm/dispatcher-agent/dispatcher/sota/sota.py
index 128cd6758..5d2adbd45 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/sota.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/sota.py
@@ -1,7 +1,7 @@
"""
SOTA update tool which is called from the dispatcher during installation
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/sota/sota_error.py b/inbm/dispatcher-agent/dispatcher/sota/sota_error.py
index 628564bb3..c0ced0c89 100644
--- a/inbm/dispatcher-agent/dispatcher/sota/sota_error.py
+++ b/inbm/dispatcher-agent/dispatcher/sota/sota_error.py
@@ -1,7 +1,7 @@
"""
SOTA exception
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/update_logger.py b/inbm/dispatcher-agent/dispatcher/update_logger.py
index 3054b641a..71a39fbcd 100644
--- a/inbm/dispatcher-agent/dispatcher/update_logger.py
+++ b/inbm/dispatcher-agent/dispatcher/update_logger.py
@@ -1,7 +1,7 @@
"""
Class for creating UpdateLogger objects to record OTA update status
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/validators.py b/inbm/dispatcher-agent/dispatcher/validators.py
index 7ac1a9a34..c8b7cb23c 100644
--- a/inbm/dispatcher-agent/dispatcher/validators.py
+++ b/inbm/dispatcher-agent/dispatcher/validators.py
@@ -1,5 +1,5 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/dispatcher-agent/dispatcher/workload_orchestration.py b/inbm/dispatcher-agent/dispatcher/workload_orchestration.py
index 2311f8aa8..3c69eff12 100644
--- a/inbm/dispatcher-agent/dispatcher/workload_orchestration.py
+++ b/inbm/dispatcher-agent/dispatcher/workload_orchestration.py
@@ -2,7 +2,7 @@
Workload Orchestration methods called by dispatcher before and after
any OTA commands having shutdown/reboot.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import json
diff --git a/inbm/dispatcher-agent/dispatcher/xmlhandler.py b/inbm/dispatcher-agent/dispatcher/xmlhandler.py
index 6d21726ae..08c1d535e 100644
--- a/inbm/dispatcher-agent/dispatcher/xmlhandler.py
+++ b/inbm/dispatcher-agent/dispatcher/xmlhandler.py
@@ -1,7 +1,7 @@
"""
Module that handles parsing of XML files
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import io
diff --git a/inbm/dispatcher-agent/fpm-template/lib/systemd/system/inbm-dispatcher.service b/inbm/dispatcher-agent/fpm-template/lib/systemd/system/inbm-dispatcher.service
index 9880fdb8e..634979f85 100644
--- a/inbm/dispatcher-agent/fpm-template/lib/systemd/system/inbm-dispatcher.service
+++ b/inbm/dispatcher-agent/fpm-template/lib/systemd/system/inbm-dispatcher.service
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
[Unit]
diff --git a/inbm/dispatcher-agent/fpm-template/lib/systemd/system/inbm.service b/inbm/dispatcher-agent/fpm-template/lib/systemd/system/inbm.service
index 6d70326c6..2f3fc4c0f 100644
--- a/inbm/dispatcher-agent/fpm-template/lib/systemd/system/inbm.service
+++ b/inbm/dispatcher-agent/fpm-template/lib/systemd/system/inbm.service
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
[Unit]
diff --git a/inbm/dispatcher-agent/tests/unit/common/mock_resources.py b/inbm/dispatcher-agent/tests/unit/common/mock_resources.py
index 625060fd8..ea41f5cac 100644
--- a/inbm/dispatcher-agent/tests/unit/common/mock_resources.py
+++ b/inbm/dispatcher-agent/tests/unit/common/mock_resources.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
import logging
diff --git a/inbm/dispatcher-agent/tests/unit/fota/__init__.py b/inbm/dispatcher-agent/tests/unit/fota/__init__.py
index 95b6de8b6..1d45c8160 100644
--- a/inbm/dispatcher-agent/tests/unit/fota/__init__.py
+++ b/inbm/dispatcher-agent/tests/unit/fota/__init__.py
@@ -1,2 +1,2 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
diff --git a/inbm/dockerfiles/Dockerfile-Yocto-tgz-ehl.m4 b/inbm/dockerfiles/Dockerfile-Yocto-tgz-ehl.m4
index 7f0cac44f..edbdc6433 100644
--- a/inbm/dockerfiles/Dockerfile-Yocto-tgz-ehl.m4
+++ b/inbm/dockerfiles/Dockerfile-Yocto-tgz-ehl.m4
@@ -1,4 +1,4 @@
-# Copyright (c) 2021-2023 Intel Corporation
+# Copyright (c) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
include(`image.ehl.m4')
diff --git a/inbm/dockerfiles/Dockerfile-Yocto-tgz-kmb.m4 b/inbm/dockerfiles/Dockerfile-Yocto-tgz-kmb.m4
index efce6dece..0a7ca1492 100644
--- a/inbm/dockerfiles/Dockerfile-Yocto-tgz-kmb.m4
+++ b/inbm/dockerfiles/Dockerfile-Yocto-tgz-kmb.m4
@@ -1,4 +1,4 @@
-# Copyright (c) 2021-2023 Intel Corporation
+# Copyright (c) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
include(`image.kmb.m4')
diff --git a/inbm/dockerfiles/Dockerfile-check.m4 b/inbm/dockerfiles/Dockerfile-check.m4
index bd929afa0..a9a21d770 100644
--- a/inbm/dockerfiles/Dockerfile-check.m4
+++ b/inbm/dockerfiles/Dockerfile-check.m4
@@ -1,4 +1,4 @@
-# Copyright (c) 2021-2023 Intel Corporation
+# Copyright (c) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
# base image with all dependencies for running unit tests/lints
diff --git a/inbm/dockerfiles/Dockerfile-main.m4 b/inbm/dockerfiles/Dockerfile-main.m4
index 3c7351cfb..61db42182 100644
--- a/inbm/dockerfiles/Dockerfile-main.m4
+++ b/inbm/dockerfiles/Dockerfile-main.m4
@@ -1,4 +1,4 @@
-# Copyright (c) 2021-2023 Intel Corporation
+# Copyright (c) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
include(`image.main.m4')
diff --git a/inbm/fpm/inb-provision-cloud/main.go b/inbm/fpm/inb-provision-cloud/main.go
index d79f0207d..b515a4c88 100644
--- a/inbm/fpm/inb-provision-cloud/main.go
+++ b/inbm/fpm/inb-provision-cloud/main.go
@@ -1,5 +1,5 @@
/*
-@copyright: Copyright 2017-2023 Intel Corporation All Rights Reserved.
+@copyright: Copyright 2017-2024 Intel Corporation All Rights Reserved.
@license: Intel, see licenses/LICENSE for more details.
*/
diff --git a/inbm/fpm/inb-provision-cloud/main_test.go b/inbm/fpm/inb-provision-cloud/main_test.go
index 99c50310b..c267d0516 100644
--- a/inbm/fpm/inb-provision-cloud/main_test.go
+++ b/inbm/fpm/inb-provision-cloud/main_test.go
@@ -1,5 +1,5 @@
/*
-@copyright: Copyright 2017-2023 Intel Corporation All Rights Reserved.
+@copyright: Copyright 2017-2024 Intel Corporation All Rights Reserved.
@license: Intel, see licenses/LICENSE for more details.
*/
diff --git a/inbm/fpm/inb-provision-ota-cert/util.go b/inbm/fpm/inb-provision-ota-cert/util.go
index c81b455bb..047519adf 100644
--- a/inbm/fpm/inb-provision-ota-cert/util.go
+++ b/inbm/fpm/inb-provision-ota-cert/util.go
@@ -1,5 +1,5 @@
/*
-@copyright: Copyright 2017-2023 Intel Corporation All Rights Reserved.
+@copyright: Copyright 2017-2024 Intel Corporation All Rights Reserved.
@license: Intel, see licenses/LICENSE for more details.
*/
diff --git a/inbm/fpm/mqtt/template/lib/systemd/system/mqtt-keygen.service b/inbm/fpm/mqtt/template/lib/systemd/system/mqtt-keygen.service
index 458bccd11..6a547af0d 100644
--- a/inbm/fpm/mqtt/template/lib/systemd/system/mqtt-keygen.service
+++ b/inbm/fpm/mqtt/template/lib/systemd/system/mqtt-keygen.service
@@ -1,4 +1,4 @@
- # Copyright 2017-2023 Intel Corporation All Rights Reserved.
+ # Copyright 2017-2024 Intel Corporation All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
[Unit]
diff --git a/inbm/fpm/mqtt/template/lib/systemd/system/mqtt.service b/inbm/fpm/mqtt/template/lib/systemd/system/mqtt.service
index a8b15d5cf..de7d7c89c 100644
--- a/inbm/fpm/mqtt/template/lib/systemd/system/mqtt.service
+++ b/inbm/fpm/mqtt/template/lib/systemd/system/mqtt.service
@@ -1,4 +1,4 @@
- # Copyright 2017-2023 Intel Corporation All Rights Reserved.
+ # Copyright 2017-2024 Intel Corporation All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
[Unit]
diff --git a/inbm/integration-common/simple-compose-rename/nginx/Dockerfile b/inbm/integration-common/simple-compose-rename/nginx/Dockerfile
index ec5d6896c..9b89c47d8 100644
--- a/inbm/integration-common/simple-compose-rename/nginx/Dockerfile
+++ b/inbm/integration-common/simple-compose-rename/nginx/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (c) 2021-2023 Intel Corporation
+# Copyright (c) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
FROM registry.hub.docker.com/library/nginx:latest
diff --git a/inbm/integration-common/simple-compose/nginx/Dockerfile b/inbm/integration-common/simple-compose/nginx/Dockerfile
index ec5d6896c..9b89c47d8 100644
--- a/inbm/integration-common/simple-compose/nginx/Dockerfile
+++ b/inbm/integration-common/simple-compose/nginx/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (c) 2021-2023 Intel Corporation
+# Copyright (c) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
FROM registry.hub.docker.com/library/nginx:latest
diff --git a/inbm/packaging/docker-sample-container/docker/Dockerfile b/inbm/packaging/docker-sample-container/docker/Dockerfile
index 085ae7115..378e4d4a4 100644
--- a/inbm/packaging/docker-sample-container/docker/Dockerfile
+++ b/inbm/packaging/docker-sample-container/docker/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (c) 2021-2023 Intel Corporation
+# Copyright (c) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
FROM registry.hub.docker.com/library/ubuntu:20.04
diff --git a/inbm/packaging/yocto/meta-intel-ese-manageability/recipes-inb/inb/files/LICENSE.Intel b/inbm/packaging/yocto/meta-intel-ese-manageability/recipes-inb/inb/files/LICENSE.Intel
index 4f83ffcf5..3219c615c 100644
--- a/inbm/packaging/yocto/meta-intel-ese-manageability/recipes-inb/inb/files/LICENSE.Intel
+++ b/inbm/packaging/yocto/meta-intel-ese-manageability/recipes-inb/inb/files/LICENSE.Intel
@@ -190,7 +190,7 @@ Intel In-Band Manageability is under the Apache License v2.0:
same "printed page" as the copyright notice for easier
identification within third-party archives.
- Copyright 2021-2023 Intel Corporation
+ Copyright 2021-2024 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/inbm/telemetry-agent/fpm-template/lib/systemd/system/inbm-telemetry.service b/inbm/telemetry-agent/fpm-template/lib/systemd/system/inbm-telemetry.service
index 0e1fdb569..b7ad98c00 100644
--- a/inbm/telemetry-agent/fpm-template/lib/systemd/system/inbm-telemetry.service
+++ b/inbm/telemetry-agent/fpm-template/lib/systemd/system/inbm-telemetry.service
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2023 Intel Corporation
+# Copyright (C) 2017-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
[Unit]
diff --git a/inbm/telemetry-agent/telemetry/__init__.py b/inbm/telemetry-agent/telemetry/__init__.py
index cf82fcb11..64cbb2bd6 100644
--- a/inbm/telemetry-agent/telemetry/__init__.py
+++ b/inbm/telemetry-agent/telemetry/__init__.py
@@ -1,4 +1,4 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/telemetry-agent/telemetry/broker.py b/inbm/telemetry-agent/telemetry/broker.py
index c6063ff50..c2c2875f8 100644
--- a/inbm/telemetry-agent/telemetry/broker.py
+++ b/inbm/telemetry-agent/telemetry/broker.py
@@ -1,7 +1,7 @@
"""
Central telemetry/logging service for the manageability framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from typing import Any
diff --git a/inbm/telemetry-agent/telemetry/cache_policy.py b/inbm/telemetry-agent/telemetry/cache_policy.py
index e6278092b..10044313a 100644
--- a/inbm/telemetry-agent/telemetry/cache_policy.py
+++ b/inbm/telemetry-agent/telemetry/cache_policy.py
@@ -1,5 +1,5 @@
"""
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/telemetry-agent/telemetry/command.py b/inbm/telemetry-agent/telemetry/command.py
index 510572aad..edd30fcd0 100644
--- a/inbm/telemetry-agent/telemetry/command.py
+++ b/inbm/telemetry-agent/telemetry/command.py
@@ -1,7 +1,7 @@
"""
Class for creating Command objects to be sent to the Diagnostic Agent
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/telemetry-agent/telemetry/constants.py b/inbm/telemetry-agent/telemetry/constants.py
index 1739601d6..5c617997e 100644
--- a/inbm/telemetry-agent/telemetry/constants.py
+++ b/inbm/telemetry-agent/telemetry/constants.py
@@ -1,7 +1,7 @@
"""
Constants and other config variables used throughout the telemetry module
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from inbm_lib.path_prefixes import INTEL_MANAGEABILITY_ETC_PATH_PREFIX, BROKER_ETC_PATH, \
diff --git a/inbm/telemetry-agent/telemetry/dynamic_attributes.py b/inbm/telemetry-agent/telemetry/dynamic_attributes.py
index 0f60a7ae3..de4b93fc9 100644
--- a/inbm/telemetry-agent/telemetry/dynamic_attributes.py
+++ b/inbm/telemetry-agent/telemetry/dynamic_attributes.py
@@ -1,7 +1,7 @@
"""
Retrieves dynamic telemetry data
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import platform
diff --git a/inbm/telemetry-agent/telemetry/iahost.py b/inbm/telemetry-agent/telemetry/iahost.py
index 704d8d806..67d398f20 100644
--- a/inbm/telemetry-agent/telemetry/iahost.py
+++ b/inbm/telemetry-agent/telemetry/iahost.py
@@ -1,7 +1,7 @@
"""
Retrieves attached disk information.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import platform
diff --git a/inbm/telemetry-agent/telemetry/ipoller.py b/inbm/telemetry-agent/telemetry/ipoller.py
index aefd7cc53..2f72f8f6c 100644
--- a/inbm/telemetry-agent/telemetry/ipoller.py
+++ b/inbm/telemetry-agent/telemetry/ipoller.py
@@ -1,7 +1,7 @@
"""
Interface to Poller class
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from abc import ABC, abstractmethod
diff --git a/inbm/telemetry-agent/telemetry/lsblk.py b/inbm/telemetry-agent/telemetry/lsblk.py
index 058c8cb34..c23b13dba 100644
--- a/inbm/telemetry-agent/telemetry/lsblk.py
+++ b/inbm/telemetry-agent/telemetry/lsblk.py
@@ -1,7 +1,7 @@
"""
Retrieves attached disk information.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from typing import List, Optional
diff --git a/inbm/telemetry-agent/telemetry/pms_notification.py b/inbm/telemetry-agent/telemetry/pms_notification.py
index b009f0660..37a857930 100644
--- a/inbm/telemetry-agent/telemetry/pms_notification.py
+++ b/inbm/telemetry-agent/telemetry/pms_notification.py
@@ -1,7 +1,7 @@
"""
RAS Notifications for manageability framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import sys
diff --git a/inbm/telemetry-agent/telemetry/poller.py b/inbm/telemetry-agent/telemetry/poller.py
index 791f3454a..cd00b9c22 100644
--- a/inbm/telemetry-agent/telemetry/poller.py
+++ b/inbm/telemetry-agent/telemetry/poller.py
@@ -1,7 +1,7 @@
"""
Handles polling and publishing telemetry data.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from .constants import *
diff --git a/inbm/telemetry-agent/telemetry/shared.py b/inbm/telemetry-agent/telemetry/shared.py
index c1b739f85..ad48d7431 100644
--- a/inbm/telemetry-agent/telemetry/shared.py
+++ b/inbm/telemetry-agent/telemetry/shared.py
@@ -1,7 +1,7 @@
"""
Central telemetry/logging service for the manageability framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/telemetry-agent/telemetry/software_bom_list.py b/inbm/telemetry-agent/telemetry/software_bom_list.py
index 80045f324..292ac0d22 100644
--- a/inbm/telemetry-agent/telemetry/software_bom_list.py
+++ b/inbm/telemetry-agent/telemetry/software_bom_list.py
@@ -1,7 +1,7 @@
"""
Retrieves Software BOM information.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/telemetry-agent/telemetry/software_checker.py b/inbm/telemetry-agent/telemetry/software_checker.py
index c0dde5164..4a235bdef 100644
--- a/inbm/telemetry-agent/telemetry/software_checker.py
+++ b/inbm/telemetry-agent/telemetry/software_checker.py
@@ -1,7 +1,7 @@
"""
Handles polling and publishing telemetry data.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import os
diff --git a/inbm/telemetry-agent/telemetry/static_attributes.py b/inbm/telemetry-agent/telemetry/static_attributes.py
index bb94256ac..9509f6fe2 100644
--- a/inbm/telemetry-agent/telemetry/static_attributes.py
+++ b/inbm/telemetry-agent/telemetry/static_attributes.py
@@ -1,7 +1,7 @@
"""
Handles polling and publishing telemetry data.
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
from . import lsblk
diff --git a/inbm/telemetry-agent/telemetry/telemetry.py b/inbm/telemetry-agent/telemetry/telemetry.py
index d407a98c4..5efafa637 100644
--- a/inbm/telemetry-agent/telemetry/telemetry.py
+++ b/inbm/telemetry-agent/telemetry/telemetry.py
@@ -4,7 +4,7 @@
"""
Central telemetry/logging service for the manageability framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import platform
diff --git a/inbm/telemetry-agent/telemetry/telemetry_exception.py b/inbm/telemetry-agent/telemetry/telemetry_exception.py
index 7e57dff8e..87c2834b4 100644
--- a/inbm/telemetry-agent/telemetry/telemetry_exception.py
+++ b/inbm/telemetry-agent/telemetry/telemetry_exception.py
@@ -1,7 +1,7 @@
"""
Exception for use in the telemetry agent
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
diff --git a/inbm/telemetry-agent/telemetry/telemetry_handling.py b/inbm/telemetry-agent/telemetry/telemetry_handling.py
index abb25173e..52e1694f5 100644
--- a/inbm/telemetry-agent/telemetry/telemetry_handling.py
+++ b/inbm/telemetry-agent/telemetry/telemetry_handling.py
@@ -1,7 +1,7 @@
"""
Central telemetry/logging service for the manageability framework
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
"""
import platform
diff --git a/inbm/tpm2-simulator/Dockerfile b/inbm/tpm2-simulator/Dockerfile
index 5f01f061e..9589a086b 100644
--- a/inbm/tpm2-simulator/Dockerfile
+++ b/inbm/tpm2-simulator/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (c) 2021-2023 Intel Corporation
+# Copyright (c) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
FROM registry.hub.docker.com/curlimages/curl:7.74.0 as ibmtpm1332
diff --git a/inbm/trtl/btrfs/config.go b/inbm/trtl/btrfs/config.go
index f44caee7e..289ccf2e6 100644
--- a/inbm/trtl/btrfs/config.go
+++ b/inbm/trtl/btrfs/config.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
package btrfs
diff --git a/inbm/trtl/btrfs/delete.go b/inbm/trtl/btrfs/delete.go
index 9cab14dac..9289ff5da 100644
--- a/inbm/trtl/btrfs/delete.go
+++ b/inbm/trtl/btrfs/delete.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
package btrfs
diff --git a/inbm/trtl/btrfs/snapper.go b/inbm/trtl/btrfs/snapper.go
index dfd5f2702..eac13d21c 100644
--- a/inbm/trtl/btrfs/snapper.go
+++ b/inbm/trtl/btrfs/snapper.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
package btrfs
diff --git a/inbm/trtl/btrfs/snapshot.go b/inbm/trtl/btrfs/snapshot.go
index 2027b4f18..cd6b25b36 100644
--- a/inbm/trtl/btrfs/snapshot.go
+++ b/inbm/trtl/btrfs/snapshot.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
package btrfs
diff --git a/inbm/trtl/btrfs/undoChange.go b/inbm/trtl/btrfs/undoChange.go
index cd1e71742..664223272 100644
--- a/inbm/trtl/btrfs/undoChange.go
+++ b/inbm/trtl/btrfs/undoChange.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
package btrfs
diff --git a/inbm/trtl/dockercompose/down.go b/inbm/trtl/dockercompose/down.go
index 2dfc7d8c8..552f9a28a 100644
--- a/inbm/trtl/dockercompose/down.go
+++ b/inbm/trtl/dockercompose/down.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/dockercompose/list.go b/inbm/trtl/dockercompose/list.go
index 625c98b5f..7723ba4e4 100644
--- a/inbm/trtl/dockercompose/list.go
+++ b/inbm/trtl/dockercompose/list.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/dockercompose/logs.go b/inbm/trtl/dockercompose/logs.go
index bd33bba07..2d72aa910 100644
--- a/inbm/trtl/dockercompose/logs.go
+++ b/inbm/trtl/dockercompose/logs.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/dockercompose/pull.go b/inbm/trtl/dockercompose/pull.go
index 82406426c..6dbad754c 100644
--- a/inbm/trtl/dockercompose/pull.go
+++ b/inbm/trtl/dockercompose/pull.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/dockercompose/remove.go b/inbm/trtl/dockercompose/remove.go
index 617b51048..50779c6eb 100644
--- a/inbm/trtl/dockercompose/remove.go
+++ b/inbm/trtl/dockercompose/remove.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/dockercompose/up.go b/inbm/trtl/dockercompose/up.go
index 8462eb2d8..5d30335c8 100644
--- a/inbm/trtl/dockercompose/up.go
+++ b/inbm/trtl/dockercompose/up.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/factory/box.go b/inbm/trtl/factory/box.go
index 616c8a6d2..9e64e45d0 100644
--- a/inbm/trtl/factory/box.go
+++ b/inbm/trtl/factory/box.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/factory/compose.go b/inbm/trtl/factory/compose.go
index ec57e381f..6e8e34985 100644
--- a/inbm/trtl/factory/compose.go
+++ b/inbm/trtl/factory/compose.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/factory/composer.go b/inbm/trtl/factory/composer.go
index 00c9ef65c..366689366 100644
--- a/inbm/trtl/factory/composer.go
+++ b/inbm/trtl/factory/composer.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/factory/docker.go b/inbm/trtl/factory/docker.go
index ab2630642..1198f3283 100644
--- a/inbm/trtl/factory/docker.go
+++ b/inbm/trtl/factory/docker.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/factory/securityoptions.go b/inbm/trtl/factory/securityoptions.go
index 1f7996cdb..9da1bb6e0 100644
--- a/inbm/trtl/factory/securityoptions.go
+++ b/inbm/trtl/factory/securityoptions.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/factory/snapper.go b/inbm/trtl/factory/snapper.go
index c72d9621d..579ce767f 100644
--- a/inbm/trtl/factory/snapper.go
+++ b/inbm/trtl/factory/snapper.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/instance/instance.go b/inbm/trtl/instance/instance.go
index 3cbe4b1fa..b482f19f7 100644
--- a/inbm/trtl/instance/instance.go
+++ b/inbm/trtl/instance/instance.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/licenses/LICENSE b/inbm/trtl/licenses/LICENSE
index 95ad0487e..e1db992ba 100644
--- a/inbm/trtl/licenses/LICENSE
+++ b/inbm/trtl/licenses/LICENSE
@@ -190,7 +190,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
- Copyright 2021-2023 Intel Corporation
+ Copyright 2021-2024 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/inbm/trtl/logging/logging.go b/inbm/trtl/logging/logging.go
index 22547d345..72b181393 100644
--- a/inbm/trtl/logging/logging.go
+++ b/inbm/trtl/logging/logging.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/parser/argument.go b/inbm/trtl/parser/argument.go
index 19965c96d..ef7c2d3cf 100644
--- a/inbm/trtl/parser/argument.go
+++ b/inbm/trtl/parser/argument.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/parser/xml.go b/inbm/trtl/parser/xml.go
index 9b858c7b1..eb1078007 100644
--- a/inbm/trtl/parser/xml.go
+++ b/inbm/trtl/parser/xml.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/commit.go b/inbm/trtl/realdocker/commit.go
index 3309182f3..e73c3d5d9 100644
--- a/inbm/trtl/realdocker/commit.go
+++ b/inbm/trtl/realdocker/commit.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/copy.go b/inbm/trtl/realdocker/copy.go
index 0ae230656..b787b14b3 100644
--- a/inbm/trtl/realdocker/copy.go
+++ b/inbm/trtl/realdocker/copy.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/create_container.go b/inbm/trtl/realdocker/create_container.go
index acfad3400..6a6966ef6 100644
--- a/inbm/trtl/realdocker/create_container.go
+++ b/inbm/trtl/realdocker/create_container.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/delete.go b/inbm/trtl/realdocker/delete.go
index 2d765e0ed..14ab0b176 100644
--- a/inbm/trtl/realdocker/delete.go
+++ b/inbm/trtl/realdocker/delete.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/dockerWrapper.go b/inbm/trtl/realdocker/dockerWrapper.go
index b322b4ea8..3d06689f3 100644
--- a/inbm/trtl/realdocker/dockerWrapper.go
+++ b/inbm/trtl/realdocker/dockerWrapper.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/dockerWrapperFake.go b/inbm/trtl/realdocker/dockerWrapperFake.go
index 58f6ba0b8..41bc89eed 100644
--- a/inbm/trtl/realdocker/dockerWrapperFake.go
+++ b/inbm/trtl/realdocker/dockerWrapperFake.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/docker_bench_security.go b/inbm/trtl/realdocker/docker_bench_security.go
index 08278f782..242e9aefa 100644
--- a/inbm/trtl/realdocker/docker_bench_security.go
+++ b/inbm/trtl/realdocker/docker_bench_security.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/events.go b/inbm/trtl/realdocker/events.go
index 747c4754f..1f718811a 100644
--- a/inbm/trtl/realdocker/events.go
+++ b/inbm/trtl/realdocker/events.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
package realdocker
diff --git a/inbm/trtl/realdocker/exec.go b/inbm/trtl/realdocker/exec.go
index 43c8ecaab..68f3d5ba2 100644
--- a/inbm/trtl/realdocker/exec.go
+++ b/inbm/trtl/realdocker/exec.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/find.go b/inbm/trtl/realdocker/find.go
index 260becc63..a5a404ce0 100644
--- a/inbm/trtl/realdocker/find.go
+++ b/inbm/trtl/realdocker/find.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/import.go b/inbm/trtl/realdocker/import.go
index fc820078f..1b0535915 100644
--- a/inbm/trtl/realdocker/import.go
+++ b/inbm/trtl/realdocker/import.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/inspect.go b/inbm/trtl/realdocker/inspect.go
index 7788c3ff2..ad5cdbfe3 100644
--- a/inbm/trtl/realdocker/inspect.go
+++ b/inbm/trtl/realdocker/inspect.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/instance.go b/inbm/trtl/realdocker/instance.go
index c20a7540a..b3a1e2b7d 100644
--- a/inbm/trtl/realdocker/instance.go
+++ b/inbm/trtl/realdocker/instance.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/instantiate.go b/inbm/trtl/realdocker/instantiate.go
index 46ec44f89..6785ce390 100644
--- a/inbm/trtl/realdocker/instantiate.go
+++ b/inbm/trtl/realdocker/instantiate.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/json.go b/inbm/trtl/realdocker/json.go
index 307ced25f..798bb8afb 100644
--- a/inbm/trtl/realdocker/json.go
+++ b/inbm/trtl/realdocker/json.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/list.go b/inbm/trtl/realdocker/list.go
index 6ed2d2131..5d9b4c96a 100644
--- a/inbm/trtl/realdocker/list.go
+++ b/inbm/trtl/realdocker/list.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/load.go b/inbm/trtl/realdocker/load.go
index 5c7bca577..b06bb4e27 100644
--- a/inbm/trtl/realdocker/load.go
+++ b/inbm/trtl/realdocker/load.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/login.go b/inbm/trtl/realdocker/login.go
index 5ae1e531f..6e825a9a0 100644
--- a/inbm/trtl/realdocker/login.go
+++ b/inbm/trtl/realdocker/login.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/logs.go b/inbm/trtl/realdocker/logs.go
index cea945abc..6dfb3fb3a 100644
--- a/inbm/trtl/realdocker/logs.go
+++ b/inbm/trtl/realdocker/logs.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/pull.go b/inbm/trtl/realdocker/pull.go
index dc3fc8524..80ee4ee81 100644
--- a/inbm/trtl/realdocker/pull.go
+++ b/inbm/trtl/realdocker/pull.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/realdocker.go b/inbm/trtl/realdocker/realdocker.go
index 5180838eb..af6786558 100644
--- a/inbm/trtl/realdocker/realdocker.go
+++ b/inbm/trtl/realdocker/realdocker.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/remove.go b/inbm/trtl/realdocker/remove.go
index 0c8e9eb13..ba87bad8c 100644
--- a/inbm/trtl/realdocker/remove.go
+++ b/inbm/trtl/realdocker/remove.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/rollback.go b/inbm/trtl/realdocker/rollback.go
index 2e542114f..1d898a830 100644
--- a/inbm/trtl/realdocker/rollback.go
+++ b/inbm/trtl/realdocker/rollback.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/snapshot.go b/inbm/trtl/realdocker/snapshot.go
index 06f0c22b9..7459c2603 100644
--- a/inbm/trtl/realdocker/snapshot.go
+++ b/inbm/trtl/realdocker/snapshot.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/start.go b/inbm/trtl/realdocker/start.go
index 9e3fbdfbf..216cd332b 100644
--- a/inbm/trtl/realdocker/start.go
+++ b/inbm/trtl/realdocker/start.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/stats.go b/inbm/trtl/realdocker/stats.go
index 89d3260fd..05d9badda 100644
--- a/inbm/trtl/realdocker/stats.go
+++ b/inbm/trtl/realdocker/stats.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/stop.go b/inbm/trtl/realdocker/stop.go
index 02f66df43..6d3ec328c 100644
--- a/inbm/trtl/realdocker/stop.go
+++ b/inbm/trtl/realdocker/stop.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/realdocker/wait.go b/inbm/trtl/realdocker/wait.go
index 33d31f637..e402f7f79 100644
--- a/inbm/trtl/realdocker/wait.go
+++ b/inbm/trtl/realdocker/wait.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/trtl.go b/inbm/trtl/trtl.go
index 62838236a..33d58a84f 100644
--- a/inbm/trtl/trtl.go
+++ b/inbm/trtl/trtl.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/util/commandRunner.go b/inbm/trtl/util/commandRunner.go
index 919eb45fb..d6b34f72e 100644
--- a/inbm/trtl/util/commandRunner.go
+++ b/inbm/trtl/util/commandRunner.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/util/commandWrapper.go b/inbm/trtl/util/commandWrapper.go
index a8a53f836..d8a3ab4d7 100644
--- a/inbm/trtl/util/commandWrapper.go
+++ b/inbm/trtl/util/commandWrapper.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
package util
diff --git a/inbm/trtl/util/commandWrapperFake.go b/inbm/trtl/util/commandWrapperFake.go
index 8bed19e21..673007051 100644
--- a/inbm/trtl/util/commandWrapperFake.go
+++ b/inbm/trtl/util/commandWrapperFake.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
package util
diff --git a/inbm/trtl/util/convert.go b/inbm/trtl/util/convert.go
index 5fb6a4176..879d74b66 100644
--- a/inbm/trtl/util/convert.go
+++ b/inbm/trtl/util/convert.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/util/file_manager.go b/inbm/trtl/util/file_manager.go
index 3c5fd06ac..b3b2cf1d8 100644
--- a/inbm/trtl/util/file_manager.go
+++ b/inbm/trtl/util/file_manager.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
diff --git a/inbm/trtl/util/untar.go b/inbm/trtl/util/untar.go
index 7982b995c..902cfba97 100644
--- a/inbm/trtl/util/untar.go
+++ b/inbm/trtl/util/untar.go
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2017-2023 Intel Corporation
+ Copyright (C) 2017-2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
*/
package util
diff --git a/manageability-docker/Dockerfile b/manageability-docker/Dockerfile
index 3cb960bc1..1224fb356 100644
--- a/manageability-docker/Dockerfile
+++ b/manageability-docker/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (C) 2021-2023 Intel Corporation
+# Copyright (C) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
FROM jrei/systemd-ubuntu:20.04
diff --git a/manageability-docker/build-azure-container.sh b/manageability-docker/build-azure-container.sh
index 3f35aeca5..c4010095a 100755
--- a/manageability-docker/build-azure-container.sh
+++ b/manageability-docker/build-azure-container.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (C) 2021-2023 Intel Corporation
+# Copyright (C) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
set -euxo pipefail
diff --git a/manageability-docker/build-thingsboard-container-from-artifact.sh b/manageability-docker/build-thingsboard-container-from-artifact.sh
index 2fdcb0a98..107507a93 100755
--- a/manageability-docker/build-thingsboard-container-from-artifact.sh
+++ b/manageability-docker/build-thingsboard-container-from-artifact.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (C) 2021-2023 Intel Corporation
+# Copyright (C) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
set -euxo pipefail
diff --git a/manageability-docker/build-thingsboard-container-from-source.sh b/manageability-docker/build-thingsboard-container-from-source.sh
index eee01abd6..1b5141a04 100755
--- a/manageability-docker/build-thingsboard-container-from-source.sh
+++ b/manageability-docker/build-thingsboard-container-from-source.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (C) 2021-2023 Intel Corporation
+# Copyright (C) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
set -euxo pipefail
diff --git a/manageability-docker/docker-compose.yml b/manageability-docker/docker-compose.yml
index ba680266e..62c515265 100644
--- a/manageability-docker/docker-compose.yml
+++ b/manageability-docker/docker-compose.yml
@@ -1,4 +1,4 @@
-# Copyright (C) 2021-2023 Intel Corporation
+# Copyright (C) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
version: "3.3"
diff --git a/manageability-docker/sample_customer_mqtt_client.py b/manageability-docker/sample_customer_mqtt_client.py
index 072a4d692..289fcd817 100755
--- a/manageability-docker/sample_customer_mqtt_client.py
+++ b/manageability-docker/sample_customer_mqtt_client.py
@@ -1,6 +1,6 @@
#!/usr/bin/python
-# Copyright (C) 2021-2023 Intel Corporation
+# Copyright (C) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
# -*- coding: utf-8 -*-
@@ -16,8 +16,6 @@
import json
-
-
CUSTOM_CMD_CHANNEL = "manageability/cmd/custom"
DEFAULT_MQTT_HOST = 'localhost'
DEFAULT_MQTT_PORT = 8883