From 89eae213a7d1de4e6beb31d8c488144fa3eea3b8 Mon Sep 17 00:00:00 2001 From: Ricardo Pardini Date: Sat, 12 Apr 2025 09:13:54 +0200 Subject: [PATCH] lib/tools: Python CLI for ORAS (0.1.y) --- lib/tools/cli-oci-up2date.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 lib/tools/cli-oci-up2date.py diff --git a/lib/tools/cli-oci-up2date.py b/lib/tools/cli-oci-up2date.py new file mode 100644 index 000000000..69c72d515 --- /dev/null +++ b/lib/tools/cli-oci-up2date.py @@ -0,0 +1,27 @@ +import logging +import os +import sys + +import oras.client +import oras.logger + +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from common import armbian_utils + +# Prepare logging +armbian_utils.setup_logging() +log: logging.Logger = logging.getLogger("mapper-oci-up-to-date") + +# Extra logging for ORAS library +oras.logger.setup_logger(quiet=(not armbian_utils.is_debug()), debug=(armbian_utils.is_debug())) + +client = oras.client.OrasClient(insecure=False) +log.info(f"OCI client version: {client.version()}") + +oci_target = "ghcr.io/armsurvivors/armbian-release/uboot-rockpro64-edge:2025.01-S6d41-P295c-Ha5a3-V9ecd-B1e5e-R448a" + +container = client.remote.get_container(oci_target) +client.remote.load_configs(container) +manifest = client.remote.get_manifest(container) +log.debug(f"Got manifest for '{oci_target}'.")