From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 10 Jul 2024 14:46:19 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-il1-f191.google.com (mail-il1-f191.google.com [209.85.166.191]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 46ACkEUQ010852 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 10 Jul 2024 14:46:15 +0200 Received: by mail-il1-f191.google.com with SMTP id e9e14a558f8ab-375e4d55457sf69310265ab.0 for ; Wed, 10 Jul 2024 05:46:15 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1720615569; cv=pass; d=google.com; s=arc-20160816; b=jRJ5B7qNFrZVZtJs6WQlMJS+nO+HpkkJZ+rdQZ04wPxKC+WnOZ/DrJc+ACk7tjnmY0 XjVO4nREbaHMsHSLH0MPYB7BjHa36vx7E0q5by0LZjidj7ZL8UXBntb6Z4TErx1rI5/F LENI+i0d6hkmmuweOybqbuit+aOFiV5/emyQgFEwqnOeCfDotuvlQuMwP5LGUSaVwfo+ W17zaH5YrRj0YgvxciK1BUCuzSPiZnSq7NSNvO9yyJIgU8xVOsQwxX/ZwgvcyL+bcYnn 0l42NyFxTwlsdfbn+JS28wS/buBPBj5uFxd6SJtPaXBn4Bq/iOCjaMkjDm4cBqx0GXJ7 aSYw== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version :content-transfer-encoding:content-id:user-agent:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:to:from:dkim-signature; bh=na5NpyL4IL2O3G0y61I/K7YtQsfsOLIotDxXlqerUFI=; fh=A+tXNHJa8kxc8fhNiIKqkK/XZLvhchDc2dfuNnMD4ik=; b=fiQv87vvfXlY5Q6af7vxxgxikQRGFt9rD2vU1S9O73XL5J1f9X5CcIHM03ZzYexh8k R5WK178kuiwnFiSDWDQxn63BGR0jB9r7stnN4vaBNwQIN/PBRCFuEGiAQMfqPqUkZ++b c64a4ZX566nJWdOE0IkInIq1q3yt8ykNzC979cKdPsqS7OOVC+3Fm/tTCFalA2H2nOX9 UyrGn841zv4QfVCGPU1zFkivtX8eAGUoC70myHEJ//9veIfZ7YPMncF4S9gaSsnDMU2T Iz6qNaFjb21RI6G7HZ9FIt913ReOKydyeQqlK2jT+Jx8rOOh7FQd+rPbJUNIKJ3I6bTt 71Dw==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=seg1H4e4; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:2613::600 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1720615569; x=1721220369; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :content-transfer-encoding:content-id:user-agent:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=na5NpyL4IL2O3G0y61I/K7YtQsfsOLIotDxXlqerUFI=; b=APiQZrdC8boo7W29ZZ0Q5n9RFO9aKmFQtorss/nOjHyAC0qStrbRLcysLPbYImm2bv 00XAv9aXj/SIdTB9s1f+pBdfalNQC/SrAfxcYWQPu0XiS/NRSfZ3fcRyZOQKPjXb5QvE /Bg1U5+XCgSxdA/xu+V2QSD120yB8vz47Hqx0wZ3iAmL7eUv1VpNWUJECuJcPm7tHI5z vm8+MPvgLfSl9lClJYMuino098gcPAPjAJFX3P02FAh6W9wthyQblmDodECmrbbpgOS8 3XcKYP8MQfIAAkPHJJt+D+febnOhM3NTykf7uAMAxEPD0ZEQbt93ik9yUn9ouJ6/fvMU XrKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720615569; x=1721220369; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :content-transfer-encoding:content-id:user-agent:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:to:from:x-beenthere:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=na5NpyL4IL2O3G0y61I/K7YtQsfsOLIotDxXlqerUFI=; b=twM16SAz0lKaldHBLcSTQF7BUH5yGRXafHa9t83/CnESWDC3kcHNLf3CcrrxRtoBXW zO47BjC68y+AglwmiYOxydDbvDvLWiS4pO0IUNuxY70oUmaaNRdyp3ERZxZCaj/FpZHB S9hQo2IpNHNi8xqiNlY9cXOaO6Aha+TGU7CxgYgvX62ua6SvMJNUZNpPEOJraIrei9k/ 71xCUusymns0DmHuewfvhXsouUELELgYXvkHRw/PKUduH9o66xlh2x5AOKt+oBfzMsMW BDRW5IATGtW7aSoSINJb33fKsr9oFGOuc8OVTl6TT3rJlUz32k8on2D5OfxrfoavkN6a XTTg== X-Forwarded-Encrypted: i=3; AJvYcCU+KBms/gw+lt80JTHNMsBiRRPyuh5PeRnPFHJuqxoxi3PO0XDJgie0DZmbljmhqbuxHiypi5AMG0KqvgVjE2r3yGA= X-Gm-Message-State: AOJu0YyLthr5CTQM16oY9ly2fG9Dc1kyej0TmVUCegeRD7L5L1+cZ2Xa P+/65BDpgIUEE2TN3vU8nsj6nC2aFZ3mZI1Y/1ewvCsZjgFAesKs X-Google-Smtp-Source: AGHT+IGP5Zm0enW6hL/Au/OLgpLzzt0eVZv5xfVoUhjkayOrinieCG3wXZ1JKV4GlzQfOQ2W8OFRVA== X-Received: by 2002:a05:6e02:16ca:b0:382:834f:2bac with SMTP id e9e14a558f8ab-38a57213f73mr66415435ab.1.1720615568791; Wed, 10 Jul 2024 05:46:08 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6e02:1d88:b0:381:65f3:1998 with SMTP id e9e14a558f8ab-38373b436b7ls44277855ab.2.-pod-prod-04-us; Wed, 10 Jul 2024 05:46:07 -0700 (PDT) X-Received: by 2002:a05:6602:3416:b0:7f9:776c:b0c1 with SMTP id ca18e2360f4ac-7fffe72070fmr735241539f.1.1720615567030; Wed, 10 Jul 2024 05:46:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1720615566; cv=pass; d=google.com; s=arc-20160816; b=a+0GYFAy00gGAj7osOgnI1tzTD3d7wUgjm0XccTAKYOJhrdAapuTdTeQpxG+dA4DrH Q7q2jHGc8rTpsla4gjUxl86BNgUqYAOWfAOLnI7if8t6KOnyQotLGU4yXX0uWHu9N6JF tikxK2Y/pcaY7XZjzYD+IqpiFlm0eLW/F9A/UIaAUMpbiJP4dHVias6xeIsILoLDJVTZ DfjP8IfmAXAVHhiS2AFx39F6O4MQEKrrPBUiWJfcotL4mAA8aru54mB9rcul9tqfLnt/ 9S+3+tSgrDA9+j8gVxPjRi305PkQiOT6iLmJX7poeae+peXAUQWVfqvzw2BZkoJuVnFD KG3g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:content-id:user-agent :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:to:from:dkim-signature; bh=R/RKNNk0FNHY35KLFLtCYOuSKiZ6LR6SwYA9IfUCI24=; fh=Cyz1NJTmrNkkXF1M+wSppEKSM6Icl1OUHbOqS9uyLXw=; b=CEiojcQjR2HI0V1N3OPVUlJTGFc28oCgEyML3iae5cDBY7KoXjJzhjmWmbWcSrav3i p9nS6vOE2p3M3F+3v7DznnVu1eQfSxLSBTKNXP3i+FhYBXXL0QzQJAiO+ON3Ur857jZ1 4M8Ius4g+S/vDqQDyeM2RXW/e/GDZnUCSdkSxmRuAx+iE2ndAHSn9spZWU51AY3NQqt+ pWUjEHnCvdxzHb5PIxytI8sOQ8FV5jUCvEEYB04uZxNyt3yo0Xi//r4yfYZm/csgbApD Pv78IcNX9oN88W/SkKfj+dVZpYX+BR28gtpSz68S/v34Wbe12RI/FwV6rBc303WsILFl vQjg==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=seg1H4e4; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:2613::600 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20600.outbound.protection.outlook.com. [2a01:111:f403:2613::600]) by gmr-mx.google.com with ESMTPS id d2e1a72fcca58-70b43876ca7si174310b3a.2.2024.07.10.05.46.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Jul 2024 05:46:06 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:2613::600 as permitted sender) client-ip=2a01:111:f403:2613::600; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m4KI6XAGgT4R+tPrILDT/nkAuAM3pTAciIqnhTjcD4Pg9StS0K9hc3VNYBOz/XNbW8Se86QtziHG6mFFOLCcyL+wGQonmNLmNGeeIZOamSW/h0tcMPWljG3fds6NY3v9P4zOaolbY7YlHniCSf5EtLO+RWGV17MlmwggzI16uv5MYGdsRzJxtlvlenuHDFcu9BITNvzeq6dA+t8IU1IM/7qg1f1XjMgRMpTuI3NzCIXKz1VgFiknh8VW9xo6BEwe+zyFuBiTkmvZN0THg+/tVeEy84C7ituaKyZ9APjJdOepGslH698iC4zhC4PkZERZYgr6bSOIi8WNuDVr8PiCJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=R/RKNNk0FNHY35KLFLtCYOuSKiZ6LR6SwYA9IfUCI24=; b=fs0p38QEwlKKeCU/WelHtUxE8l9p4r6+3KU8XKn1uaDnv6PIIGz56EZjrIqtmzmpgtElA+P9FOYcg4nBsKOqQCidi09ZKHAKIfeAprpyodZXu0lmB9iOWv230iu6g2wQPFzoUVq/MRQdo5CENS64Z3vtUe3RfWqae8kGIa1ALXLmM/YbjNKDaATJuSazewc3/cQlHDBkLyGBcYDGniwb4Fe4VfTo2Iu+4tdSIdllKir1a/BnY/2UKc3FmyRmKiZDggJyECDF/5/68ag9fqVQiMOm9Auoq4BhhJrT58wBRWHXeiNXRIh/AmBseQfUlkkknZp0sAcXcVV29Xc0ltIcFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none Received: from DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:47f::13) by PAXPR10MB5181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:28a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.19; Wed, 10 Jul 2024 12:46:03 +0000 Received: from DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM ([fe80::8198:b4e0:8d12:3dfe]) by DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM ([fe80::8198:b4e0:8d12:3dfe%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 12:46:03 +0000 From: "'MOESSBAUER, Felix' via isar-users" To: "isar-users@googlegroups.com" , "Kiszka, Jan" Subject: Re: [RFC][PATCH 2/3] container-loader: Introduce helper to load container images into local registry Thread-Topic: [RFC][PATCH 2/3] container-loader: Introduce helper to load container images into local registry Thread-Index: AQHa0iXdqssy8YQnh0K1mCIqfaso+bHv6fIA Date: Wed, 10 Jul 2024 12:46:03 +0000 Message-ID: <2ce98b6143b9cc6bee19332edd9adfcf8da96fa7.camel@siemens.com> References: In-Reply-To: Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.46.4 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DU0PR10MB6828:EE_|PAXPR10MB5181:EE_ x-ms-office365-filtering-correlation-id: 8861b7a4-c937-47d2-288e-08dca0de425b x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?SXVjM0duMEpYZ2txSDdjYmYzOVpNa3pFcTZBVm5hdDdRRG5GZXBOT2RDZDNw?= =?utf-8?B?RTNHVmk3bmVEMDE2WWNwZHJHTXg0VUo1V1FiT0huSjBObWNvQWNVb1ZDSHJG?= =?utf-8?B?UUdDamh3a0pETFkreFd3VGlramkzaVByVEpsV2ZwM0lDZHRsTmlWRkhpV3RJ?= =?utf-8?B?eXE2Mzg2R3pEVXRzdlhybXVJMzVBZENFd0xOZ0dOM05MbXpoSzZLSFR0Vzlk?= =?utf-8?B?Q1R2cC9iOHlwd2NCY0VFanY4WDBoK1owbWFuMFRaY3UydzIra21hRDBRcjR3?= =?utf-8?B?SisxVmdWOGVJK252Y0lFT1doK0ppVEFGTjl2OWlMT01KQ0NOYXBWTmNXVWRR?= =?utf-8?B?RElFNFc0ZmlYUkN4M0Fhc05TYlhua00vMG84SWx1Y2Y1K2VZVjhEOUp3dW9D?= =?utf-8?B?RkZVeVFBc2V5emlFbXVMSTREZEloKzVyT2pqeWo2dmN5K1BsOUdoTGMrRlRC?= =?utf-8?B?YXlaRWNGREM4NVB2TEZZMnRNNkFUOHJGMldWbjNmcW9IOG9mZGg2WXRPYjZs?= =?utf-8?B?d1ZLRkUwRnRKWXRROEZEMHpHK0RjdkhCS1JNdHROaXZ0VUFxV0dCa3cwZWhB?= =?utf-8?B?cDJWNHFqZ2w1ai9rQzIreUc2eTlMOG9RM1UrSVJwWVVCOG56cFBJMUxTdi8w?= =?utf-8?B?K3d2bll2M003ZWx4SklIb2tadnRqd0M4RVU3NzhYQVhRZUl5L3NYRkNvdDYx?= =?utf-8?B?VnY4ejRBeU8yUmdFUlpyVEZoaVJKUCtMRU1XNitHRjhlYzVValRtaGNrQUVW?= =?utf-8?B?bFc1eTNTNzZ0a056QTcxa3pyR1hOYm93ekNDOEVEN1RWb29VSm0rVDdMTlZi?= =?utf-8?B?Wk16VzcwRVlKQkQvelVpU2Yyc3lCc2pqckNlWE1IOXJObVcvWWljVUc5ZEJV?= =?utf-8?B?a3lZNzhzRlpvT29qTURFSE9wNFJVR0E5dE9VdHdHbEtBcmpyN1V0MjRZOWtj?= =?utf-8?B?cTJiMjZQazZrNmthM2dQRWEvTmpwOE5ZSkU3Y3ppenJVejFMaFNlZ1drTFNa?= =?utf-8?B?MTYxSFlyemNrSUx6VEc4NlVOWTVUNHJ1ZEhaTE9kdXgrU3lYS1JycnZsOGRD?= =?utf-8?B?RUMweTZjc3BPQUhVSUMvSktOa2xoazlzdVlSRVJYUTFNVURmK0V3WkpURENr?= =?utf-8?B?SlV5UjBybGZidXB0VmZmb2tteGpSWUc2WHlTc3ExeG9tNmtaV0tyZlJMVTZi?= =?utf-8?B?dGZKYk5hOXl0cjFXTS80dWdyOXVhMWJ5Smo2SDQ5QmUzQmYwTDVsUDcrUkZt?= =?utf-8?B?VXM0dGYxV0x1U1VJRnpzUUJJZUhWcEp3WVVGZkdZcU1yVUY3WWh0RXYxVzlG?= =?utf-8?B?WXllSnZpcDhPLytUWDY3Z3R0OG1mM1FuK2o4MzJwVk9meWtUUmE3Z3ZHZENy?= =?utf-8?B?ZXFqczBINnUwRTZ5UHlydExhMWk1bkpWTDFqdUhMNTBjeUxXd2xFS3AzV0NL?= =?utf-8?B?QUVwTEN6RnZIN01rSGtXM0VjamhyU3RDQ01JZ2lTOUpIcXE2STVud0Q4T1Qr?= =?utf-8?B?QUxjcWw3VklZNC9Ib1UzWDlXQWR0MFJCdDBuaVltYnZkVi84TW83UTRJbmdE?= =?utf-8?B?Z3JBZlZJaXN1aDc4SUhNOHpJb1IzUWFXcTlGNFJwbGRiR3lzZmFuTUFhSDBn?= =?utf-8?B?aFFrZGg5UmkwODgvOTYyU0FTUGN0YlVFL0VGakRmL1M1dk4rUEpPKy9aUmQw?= =?utf-8?B?OWxGQU9lSUNnQVJsNnFXbUlQWXFwWVFRTWpuU0U2RXdZR0VrR1JUR3YyeW41?= =?utf-8?B?MHNKbklOTWE4bEdBZjY4cjdUZVNiMFBtNUlXdGNYMnpGQ1dOaXJXSTh4bUUz?= =?utf-8?B?WVgxbVRYaEU3ZkFzNWd3dnozSkMxMHRGMGhuazVlb2VOQVMrb3lJRjExUEwy?= =?utf-8?B?VVpZSGowWkgzazJjU2F1Z255WmhxaEtDZjBOaHRZSmh1OFE9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cklTQytEalhDZEM5ZFhzOHc3UUdWdmZ1UERoSmJNdStEOFp2L0pkanVMY0Fj?= =?utf-8?B?WUZGcEdSQWJzQ2dhZHFDM3JPSEtkT2c4cVZRUlNGMjZTcUJYVXloVlVVWGJk?= =?utf-8?B?andXVHZjT2VuWEJta2VFZDVUalBKNWtjU1hqMElSeHAwNFcvMlJxVmRFVlg0?= =?utf-8?B?bWlwZlhEalZiMjNCeHhxNHpCNWlJU25oQVlhclpYdUF5QndqVzNCQlA2U29z?= =?utf-8?B?Mm8xVjhZRDBJem5LaWlobWN3ekhleXpENjFsd3Vib0ozWnZMMnpYQjZVQklz?= =?utf-8?B?MWFrS2RqVTdVNUNlYVJPNElOa0tFbGhnamVIUTRtWjgxQXRqN2x1TldONHZV?= =?utf-8?B?ei9uOTBKanFWa0xmUnEvN1ZUdmpIRVR2aTZhSmFFazNhQW5OMit1QjhnS1Ur?= =?utf-8?B?VlhMS2lXNDV3ZmFhTGdGWlhtb3Z3UzVXNjBVandseW5GVkxaYnBmSEliWGti?= =?utf-8?B?dkcrU2lYZ2UzeVgxbFZHNEZpRmNVSU1MQWZtTDE3emxPTDNHZmRLMWdKbzU2?= =?utf-8?B?KytTU0RiSXh5MnFxZ295WXdUN3YrWVZlWFFSMkhYSmZXR2tRVzUyU202cFJa?= =?utf-8?B?aUhsK3FxS1JFOERKYXlZNTRlMk1oSEFQdDN4TTZ3Vk9xTE04WkJqV0lMcDlO?= =?utf-8?B?QWVqdjl4UDF1dEQvM1BqK25kZWVicjVNNnZBeHlBSElQZ0dETlVhY2dWeXFz?= =?utf-8?B?Kzl6U0FDanoxZzFlYnVRM2R4dW5DTWJLS2Q5VEZOS0doYXhtcGNlYWxFbzVM?= =?utf-8?B?eFFzQVplZml0dVUrSEY4T29Wa2hSN3R0YlE1aXlPUjlCUVJ6dkpsY0lCSmRY?= =?utf-8?B?aWxWUDVDWnR0UkJyWEFnYlQxYkViMnpZRkZIMHo5UzlTbkw0TUNIaFZQN1U3?= =?utf-8?B?Y0paSFhROWsyN3RlZWxuSzludkFwaXQ3Rm14TEF3aXJ0UkQ4ZUZCRzF5Y25a?= =?utf-8?B?MUZXTWc1NVlHZGwvWHFHWnd3czdXMzZkT2dLVy9sdk16WTJ4UEx2UWxqci8y?= =?utf-8?B?SnpyTUhZWmhBa2ZwVDFMTFdhNHhzRFo5S0JYeHhUS2F4ZG5YZHNRYWJwaWdR?= =?utf-8?B?VWN5YTNRZk43K1BxMG5oUXkvbW9VeVFUOUltZjdST0QrVmZXRXNnN1BrbFU3?= =?utf-8?B?ZWdFN05wdFJUSVU3SGp5d0hkTFdjeWlxWDk0dlk1ektKSDhvcFJBWnIrQ09X?= =?utf-8?B?Q1Q3Ry9vRFhOLytUUlRLZm5zcVJmYUJSRUE0cHdoTUpJbWlBK2Q4NHNzNSsy?= =?utf-8?B?c2JNVWpicXphbmlQbUJMWWxTNE04d1NweFdWL1g3QUVUMFAwUmhyaDZhLzhn?= =?utf-8?B?djNHUDhvUlpEQ1ppaGJJOVR3SWZoVk5lZ20vZ2hmbVlvWkRIRDZIV0VtV2xQ?= =?utf-8?B?S3ZpdGNWN2w5K0lUbDZEZlFFNEVkditRYURtTGRjeG93MXEvb2x0QTlhb29Y?= =?utf-8?B?SHUzMGZFSUVaeko1a2srM2MzZW0zREFWVmw5T1ArNU5RSnZaMzFrQUlnN1V2?= =?utf-8?B?Z29LWTdNcC9ScnNVSEkrU2R5V1ZWN0I1ckd1ck43NG9FNC9kbGZSUnI1MGMx?= =?utf-8?B?NjhxbHliOXFTUzMrU21Hb043dTdxRkZGNW41NHo5NGVxa2I3RXM4U0RsTjFl?= =?utf-8?B?WlpnL3AvQXdEbG1tV0hud2xxZUJhYkxHc1c4TXdHTU1KQmZOUFh5Znp5U2Fh?= =?utf-8?B?dFpDLzM3NjRlQ3hFWjZYaEV3bDJmSURDQi8vLzVYSXp0dGhaRGVGT1dJNlY4?= =?utf-8?B?cGRBWVBsRXRxbisyOEt3c1padHkyNzZXa1dIWkxiaVJxc1psSmxmaDVXejF2?= =?utf-8?B?NythTURBMnF2STNUWGE3TnpBb2NOVXM4clRWS29tMlNaUkx2QkVlNWFSTStH?= =?utf-8?B?a2lNVWtLZllQa0I3WUwyektTc1NMdU1RREo0STRFM2dmMHZlejJEc3pNTk5t?= =?utf-8?B?eWk2Y2xSV1lIMUZXejRIL1JOYTkwWU85RWtJYVJiVTZDdXB6K3FNZSt0Nzh3?= =?utf-8?B?a0FFOGpQSDRRbVZhcXdERGN4bUlnQ2NPc3hrMVBxakhLZHk1MkdrZDV1WGpk?= =?utf-8?B?WEhLNVJOSlcrTXhPN3hPKzVQa0RDYlk3Y0FDM3ZpU1ZUaXVYWk5ZdmRWMjky?= =?utf-8?B?VVhuSUludGpSeXE0Rk52NjREZXdPUUdKY2xCQnZxRjNxWHllenl0ZUdEZUxk?= =?utf-8?Q?9WtylQZXFlT9ZFX+yPTbL1g=3D?= Content-Type: text/plain; charset="UTF-8" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 8861b7a4-c937-47d2-288e-08dca0de425b X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jul 2024 12:46:03.5878 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GkQlF4+FidcsHRu+oHF7ov6CRs3TchVfMqys3lgOgikRccfPDMRdE8+mW5d1IuB3mYEG1izxXzPisJa8D/4zAv5mzl7zdzEXKMdoj1mA+DU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR10MB5181 X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=seg1H4e4; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:2613::600 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: "MOESSBAUER, Felix" Reply-To: "MOESSBAUER, Felix" Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: F1Uhpwy94pug On Tue, 2024-07-09 at 19:31 +0200, Jan Kiszka wrote: > From: Jan Kiszka >=20 > This allows to write dpkg-raw recipes which packages archived > container > images and load them into a local docker or podman registry on boot. > The > scenario behind this is to pre-fill local registries in a way that > still > permits live updates during runtime. >=20 > The loader script only process images which are not yet available > under > the same name and tag in the local registry. Also after loading, the > archived images stay on the local file system. This allows to perform > reloading in case the local registry should be emptied (e.g. reset to > factory state). To reduce the space those original images need, they > are > compressed, by default with xz. Hi, can we switch to zstd please? That's much quicker and needs a fraction of the memory for decompression. On small devices, decompressing large xz files is sometimes simply not possible due to OOM. >=20 > Separate include files are available to cater the main container > engines, one for docker and one for podman. >=20 > Signed-off-by: Jan Kiszka > --- > =C2=A0.../container-loader/container-loader.inc=C2=A0=C2=A0=C2=A0=C2=A0 |= 76 > +++++++++++++++++++ > =C2=A0.../container-loader/docker-loader.inc=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 | 10 +++ > =C2=A0.../files/container-loader.service.tmpl=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 | 11 +++ > =C2=A0.../files/container-loader.sh.tmpl=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 13 ++++ > =C2=A0.../container-loader/podman-loader.inc=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 | 10 +++ > =C2=A05 files changed, 120 insertions(+) > =C2=A0create mode 100644 meta/recipes-support/container-loader/container- > loader.inc > =C2=A0create mode 100644 meta/recipes-support/container-loader/docker- > loader.inc > =C2=A0create mode 100644 meta/recipes-support/container- > loader/files/container-loader.service.tmpl > =C2=A0create mode 100755 meta/recipes-support/container- > loader/files/container-loader.sh.tmpl > =C2=A0create mode 100644 meta/recipes-support/container-loader/podman- > loader.inc >=20 > diff --git a/meta/recipes-support/container-loader/container- > loader.inc b/meta/recipes-support/container-loader/container- > loader.inc > new file mode 100644 > index 00000000..8e352214 > --- /dev/null > +++ b/meta/recipes-support/container-loader/container-loader.inc > @@ -0,0 +1,76 @@ > +# This software is a part of ISAR. > +# Copyright (c) Siemens AG, 2024 > +# > +# SPDX-License-Identifier: MIT > + > +FILESPATH:append :=3D ":${FILE_DIRNAME}/files" > + > +inherit dpkg-raw > + > +SRC_URI +=3D " \ > +=C2=A0=C2=A0=C2=A0 file://container-loader.service.tmpl=C2=A0\ > +=C2=A0=C2=A0=C2=A0 file://container-loader.sh.tmpl" > + > +TEMPLATE_FILES +=3D " \ > +=C2=A0=C2=A0=C2=A0 container-loader.service.tmpl \ > +=C2=A0=C2=A0=C2=A0 container-loader.sh.tmpl" > +TEMPLATE_VARS +=3D "CONTAINER_ENGINE" > + > +CONTAINER_COMPRESSION ?=3D "xz" > + > +DEBIAN_DEPENDS +=3D " \ > +=C2=A0=C2=A0=C2=A0 ${CONTAINER_ENGINE_PACKAGES} \ > +=C2=A0=C2=A0=C2=A0 ${@', xz-utils' if d.getVar('CONTAINER_COMPRESSION') = =3D=3D 'xz' > else \ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ', gzip' if d.getVar('CONTAINER_COM= PRESSION') =3D=3D 'gz' else \ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ''}" > + > +CONTAINER_COMPRESSOR =3D "${@ \ > +=C2=A0=C2=A0=C2=A0 'xz' if d.getVar('CONTAINER_COMPRESSION') =3D=3D 'xz'= else \ > +=C2=A0=C2=A0=C2=A0 'gzip' if d.getVar('CONTAINER_COMPRESSION') =3D=3D 'g= z' else \ > +=C2=A0=C2=A0=C2=A0 ''}" > + > +python do_install() { > +=C2=A0=C2=A0=C2=A0 import os > + > +=C2=A0=C2=A0=C2=A0 workdir =3D d.getVar('WORKDIR') > +=C2=A0=C2=A0=C2=A0 D =3D d.getVar('D') > +=C2=A0=C2=A0=C2=A0 PN=3D d.getVar('PN') > + > +=C2=A0=C2=A0=C2=A0 image_list =3D open(D + "/usr/share/" + PN +"/image.l= ist", "w") > + > +=C2=A0=C2=A0=C2=A0 src_uri =3D d.getVar('SRC_URI').split() > +=C2=A0=C2=A0=C2=A0 for uri in src_uri: > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 scheme, host, path, _, _, par= m =3D bb.fetch.decodeurl(uri) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if scheme !=3D "docker": > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 conti= nue > + > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 image_name =3D host + (path i= f path !=3D "/" else "") > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unpacked_image =3D workdir + = "/" + image_name.replace('/', > '.') > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dest_dir =3D D + "/usr/share/= " + PN + "/images" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tar_image =3D dest_dir + "/" = + image_name.replace('/', '.') + > ".tar" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 docker_ref =3D ":" + parm["ta= g"] if "tag" in parm else > "latest" > + > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cmd =3D f"skopeo copy dir:{un= packed_image} " \ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f"doc= ker-archive:{tar_image}:{image_name}{docker_ref}" Why not oci-archive? In oci-archive, the layers are compressed. Or do we explicitly not want to have the layers themselves compressed as we compress the whole artifact anyways? > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.note(f"running: {cmd}") > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.process.run(cmd) > + > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cmd =3D f"{d.getVar('CONTAINE= R_COMPRESSOR')} {tar_image}" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.note(f"running: {cmd}") > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.process.run(cmd) > + > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 line =3D > f"{os.path.basename(tar_image)}.{d.getVar('CONTAINER_COMPRESSION')} " > + \ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 image= _name + docker_ref > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.note(f"adding '{line}' to = image.list") > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 image_list.write(line + "\n") > + > +=C2=A0=C2=A0=C2=A0 image_list.close() > + > +=C2=A0=C2=A0=C2=A0 bb.utils.copyfile(workdir + "/container-loader.sh", > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 D + "/usr/share/" + = PN + Shouldn't that be BPN instead of PN? > "/container-loader.sh") > +} > +do_install[cleandirs] +=3D "${D}/usr/share/${PN}/images" Same here. > + > +do_prepare_build:append() { > +=C2=A0=C2=A0=C2=A0 install -v -m 644 ${WORKDIR}/container-loader.service > ${S}/debian/${PN}.service > +} > diff --git a/meta/recipes-support/container-loader/docker-loader.inc > b/meta/recipes-support/container-loader/docker-loader.inc > new file mode 100644 > index 00000000..b864c854 > --- /dev/null > +++ b/meta/recipes-support/container-loader/docker-loader.inc > @@ -0,0 +1,10 @@ > +# This software is a part of ISAR. > +# Copyright (c) Siemens AG, 2024 > +# > +# SPDX-License-Identifier: MIT > + > +require container-loader.inc > + > +CONTAINER_ENGINE =3D "docker" > + > +CONTAINER_ENGINE_PACKAGES ?=3D "docker.io, apparmor" > diff --git a/meta/recipes-support/container-loader/files/container- > loader.service.tmpl b/meta/recipes-support/container- > loader/files/container-loader.service.tmpl > new file mode 100644 > index 00000000..afde55d3 > --- /dev/null > +++ b/meta/recipes-support/container-loader/files/container- > loader.service.tmpl > @@ -0,0 +1,11 @@ > +[Unit] > +Description=3DLoad archived container images on boot > +After=3D${CONTAINER_ENGINE}.service We need an Requires=3D${CONTAINER_ENGINE}.service as well. Otherwise just the temporal order is defined, but not the logical order. > + > +[Service] > +Type=3Doneshot > +ExecStart=3D/usr/share/${PN}/container-loader.sh > +RemainAfterExit=3Dtrue In case of rootless podman, the user that executes the script matters. But I don't know if we want to consider this use-case by now. > + > +[Install] > +WantedBy=3Dmulti-user.target > diff --git a/meta/recipes-support/container-loader/files/container- > loader.sh.tmpl b/meta/recipes-support/container- > loader/files/container-loader.sh.tmpl > new file mode 100755 > index 00000000..31d27865 > --- /dev/null > +++ b/meta/recipes-support/container-loader/files/container- > loader.sh.tmpl > @@ -0,0 +1,13 @@ > +#!/bin/sh > +# > +# Copyright (c) Siemens AG, 2024 > +# > +# SPDX-License-Identifier: MIT > + > +set -eu > + > +while read -r image ref; do > +=C2=A0=C2=A0=C2=A0 if [ -z "$(${CONTAINER_ENGINE} images -q "$ref")" ]; = then > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ${CONTAINER_ENGINE} load -i /= usr/share/${PN}/images/"$image" That does not work with all compression formats. Better decompress the image manually and pass to stdin of the load. e.g. cat $image | unzstd | podman load - Also note, that podman needs tons of temporary space to load a compressed image (or compressed layers), so you might want to set e.g. TMPDIR=3D/var/tmp as /tmp could be a small memory backed fs. Felix > +=C2=A0=C2=A0=C2=A0 fi > +done < /usr/share/${PN}/image.list > diff --git a/meta/recipes-support/container-loader/podman-loader.inc > b/meta/recipes-support/container-loader/podman-loader.inc > new file mode 100644 > index 00000000..d2c9a12d > --- /dev/null > +++ b/meta/recipes-support/container-loader/podman-loader.inc > @@ -0,0 +1,10 @@ > +# This software is a part of ISAR. > +# Copyright (c) Siemens AG, 2024 > +# > +# SPDX-License-Identifier: MIT > + > +require container-loader.inc > + > +CONTAINER_ENGINE =3D "podman" > + > +CONTAINER_ENGINE_PACKAGES ?=3D "podman" --=20 Siemens AG, Technology Linux Expert Center --=20 You received this message because you are subscribed to the Google Groups "= isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to isar-users+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/= isar-users/2ce98b6143b9cc6bee19332edd9adfcf8da96fa7.camel%40siemens.com.