meta-digi-containers: dey-image-container: add DRM support for DCP
Add the support to enable DRM support on the DCP artifact. https://onedigi.atlassian.net/browse/DEL-10035 Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit is contained in:
parent
6a75e08023
commit
6d29433642
|
|
@ -91,6 +91,24 @@ This generates:
|
|||
|
||||
- `./flutter-demo_artifact_podman_ccmp25-dvk.tar.gz`
|
||||
|
||||
## Digi Remote Manager metrics support
|
||||
|
||||
`dey-image-container-manager` includes `cc-container-mng` that has the capability to
|
||||
publish container statistics through the local CCCS Python API.
|
||||
For generated DCPs, per-container DRM sampling is enabled
|
||||
through `registration_defaults.stats_publish` in the artifact manifest.
|
||||
The image recipe generates the DCP automatically from the following variables:
|
||||
|
||||
- `CONTAINER_STATS_PUBLISH_ENABLED`
|
||||
- `CONTAINER_STATS_PUBLISH_SAMPLE_INTERVAL`
|
||||
|
||||
Example:
|
||||
|
||||
```conf
|
||||
CONTAINER_STATS_PUBLISH_ENABLED = "true"
|
||||
CONTAINER_STATS_PUBLISH_SAMPLE_INTERVAL = "30"
|
||||
```
|
||||
|
||||
## Layer Scope
|
||||
|
||||
Main recipes:
|
||||
|
|
@ -267,6 +285,8 @@ Relevant variables:
|
|||
- `CONTAINER_PACKAGE_ID`
|
||||
- `CONTAINER_ARTIFACT_VERSION`
|
||||
- `CONTAINER_CREATE_ARGS_PODMAN`
|
||||
- `CONTAINER_STATS_PUBLISH_ENABLED`
|
||||
- `CONTAINER_STATS_PUBLISH_SAMPLE_INTERVAL`
|
||||
- `CONTAINER_FIRMWARE_VERSIONS`
|
||||
- `CONTAINER_DEVICE_TYPES_JSON`
|
||||
- `CONTAINER_ARTIFACT_DESCRIPTION`
|
||||
|
|
|
|||
|
|
@ -53,6 +53,8 @@ do_image_container_artifacts() {
|
|||
CREATE_ARGS="${create_args}" \
|
||||
AUTOSTART="${CONTAINER_AUTOSTART}" \
|
||||
MONITOR="${CONTAINER_MONITOR}" \
|
||||
STATS_PUBLISH_ENABLED="${CONTAINER_STATS_PUBLISH_ENABLED}" \
|
||||
STATS_PUBLISH_SAMPLE_INTERVAL="${CONTAINER_STATS_PUBLISH_SAMPLE_INTERVAL}" \
|
||||
RESTART_ENABLED="${CONTAINER_RESTART_ENABLED}" \
|
||||
RESTART_MAX_RETRIES="${CONTAINER_RESTART_MAX_RETRIES}" \
|
||||
RESTART_WINDOW="${CONTAINER_RESTART_WINDOW}" \
|
||||
|
|
@ -64,7 +66,7 @@ do_image_container_artifacts() {
|
|||
LABELS_JSON="${CONTAINER_ARTIFACT_LABELS_JSON}" \
|
||||
python3 -c 'import json, os, sys; \
|
||||
parse_bool = lambda name: os.environ[name].strip().lower() == "true"; \
|
||||
payload = {"package_id": os.environ["PACKAGE_ID"], "version": os.environ["VERSION"], "runtime": os.environ["RUNTIME"], "registration_defaults": {"autostart": parse_bool("AUTOSTART"), "monitor": parse_bool("MONITOR"), "restart": {"enabled": parse_bool("RESTART_ENABLED"), "max_retries": int(os.environ["RESTART_MAX_RETRIES"]), "window": int(os.environ["RESTART_WINDOW"]), "retry_delay": int(os.environ["RESTART_RETRY_DELAY"]) } }, "device_types": json.loads(os.environ["DEVICE_TYPES_JSON"]), "firmware_versions": os.environ["FIRMWARE_VERSIONS"], "build_id": os.environ["BUILD_ID"], "description": os.environ["DESCRIPTION"], "labels": json.loads(os.environ["LABELS_JSON"])}; \
|
||||
payload = {"package_id": os.environ["PACKAGE_ID"], "version": os.environ["VERSION"], "runtime": os.environ["RUNTIME"], "registration_defaults": {"autostart": parse_bool("AUTOSTART"), "monitor": parse_bool("MONITOR"), "stats_publish": {"enabled": parse_bool("STATS_PUBLISH_ENABLED"), "sample_interval_s": int(os.environ["STATS_PUBLISH_SAMPLE_INTERVAL"])}, "restart": {"enabled": parse_bool("RESTART_ENABLED"), "max_retries": int(os.environ["RESTART_MAX_RETRIES"]), "window": int(os.environ["RESTART_WINDOW"]), "retry_delay": int(os.environ["RESTART_RETRY_DELAY"]) } }, "device_types": json.loads(os.environ["DEVICE_TYPES_JSON"]), "firmware_versions": os.environ["FIRMWARE_VERSIONS"], "build_id": os.environ["BUILD_ID"], "description": os.environ["DESCRIPTION"], "labels": json.loads(os.environ["LABELS_JSON"])}; \
|
||||
create_args = os.environ["CREATE_ARGS"].strip(); \
|
||||
payload.update({"create_args": create_args} if create_args else {}); \
|
||||
open(sys.argv[1], "w", encoding="utf-8").write(json.dumps(payload, indent=2) + "\n")' \
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ CONTAINER_ARTIFACT_LABELS_JSON ?= "{}"
|
|||
# monitor and (auto/re)start configuration
|
||||
CONTAINER_AUTOSTART ?= "true"
|
||||
CONTAINER_MONITOR ?= "true"
|
||||
CONTAINER_STATS_PUBLISH_ENABLED ?= "true"
|
||||
CONTAINER_STATS_PUBLISH_SAMPLE_INTERVAL ?= "30"
|
||||
CONTAINER_RESTART_ENABLED ?= "true"
|
||||
CONTAINER_RESTART_MAX_RETRIES ?= "3"
|
||||
CONTAINER_RESTART_WINDOW ?= "60"
|
||||
|
|
|
|||
Loading…
Reference in New Issue