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 18:20:23 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-il1-f187.google.com (mail-il1-f187.google.com [209.85.166.187]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 46AGKMMi011843 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 10 Jul 2024 18:20:23 +0200 Received: by mail-il1-f187.google.com with SMTP id e9e14a558f8ab-38437330bb9sf68794655ab.1 for ; Wed, 10 Jul 2024 09:20:22 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1720628416; cv=pass; d=google.com; s=arc-20160816; b=rOewqkykEFk8uEe/2vLpZB+ybT8NkFXZyQC+vnijBDhl/p9ns47HGqEv+6hRDQKxXA uSJS23WyUpVvGYhFx6kPQCAfZUyEQBipBZ1gVOVY5ohdqgJu6oggrAWfGRO50JUarqPv cFZVg3SM5Uso7XLUfydpS6YvGiqMK/Qp4e+ZVhq1SXSj9JFEhYswMI9LrmtHwABtBp5Z 08b83kXVPC6p47RSYmzyjKzB34bLQe5HuCtYXXQvu0mch99X3YfqypPeN0+ntXkpuiHr ajUTM8ShbBYXqDzRvF4Vc7PApHx1Lt+VhmPsjHJIUIiWZZl0hKOXxfE4AWVEly0banfi UYNQ== 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:in-reply-to:autocrypt:content-language :from:references:to:subject:user-agent:date:message-id :dkim-signature; bh=HqtXNA6miBlplAFmcd+NrdJidOwu0MgGbWZnJn/63aU=; fh=anWbMeHqrw1pi4lKSkL/fujGqSM9UCgoI8rawTqebrg=; b=0GhgHcBQLLfOV3OKXKOwQLfv//ZQuKSnc91xJH/83Akap8dZjlu+LtbRyG/LrjQ17m c1mZ04WozNlMd3mQ8UlnrEDkI/OkliE4BkQWwD7CCv/XWKbAEOXI7/odNwcnJsD095Vk f3cC40j1FDyF3e3A0hPWvPccHD+IPteHIEOBLhPlPjj8HmPNhwL3z1j7BIlwgBAutNib gJChxwwT4v/5pE41cA7w+VpDZz046cw6dROEUPurzIRlJjGEm0nHs7pMz+eVirVu+Ggt LV72w6nKirmi3d68ICieD7KzFmtOkePLj5zIy8aqjUJItRxoUqxYyuJqJF+79azkGL+J UCKQ==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=oArVLNh1; 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 jan.kiszka@siemens.com designates 2a01:111:f400:7e1a::627 as permitted sender) smtp.mailfrom=jan.kiszka@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=1720628416; x=1721233216; 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:in-reply-to:autocrypt:content-language :from:references:to:subject:user-agent:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=HqtXNA6miBlplAFmcd+NrdJidOwu0MgGbWZnJn/63aU=; b=Rwbg0220GlDAVevTIAVOsXZPc/+QW1J1f90DUE6iwnOfBkjNb4MVh3E5VHG8Q3OaiO qiClP+YKzrqUcjQU1DTZHtYSkPYyj7jF1iH7u3F3O6AHUuqH52tpOi02CdN04Hk7AnkC Knx5djutWVaUW4762Tv/s+xnfRoaipSwv3iTHmvMmTS8U4ydDQTed/CAK5MGHKNTReu7 Y1EpKUmmFLOaRW+zTv0lSTkIxkcXhQ341QaozAfq8On948dozWotIztHGnAR5QS0lncf 9ovJwolpW3q2xPrMizdglNF/yztOHHhG+ms3Vquhtn/msv/ScdcDL07zW3ZvRrmrbWqp hHTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720628416; x=1721233216; 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:in-reply-to:autocrypt:content-language :from:references:to:subject:user-agent:date:message-id:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=HqtXNA6miBlplAFmcd+NrdJidOwu0MgGbWZnJn/63aU=; b=M6f4HkIOC0czxiY+KZGCHUdClen6vF6gu/1kDusAzw9gnWPp4LiNaKQJuipAbez92w CuU3Uu71wuwm3kCfh+tIxpii6+Fp9HXkt3vjymQLD+q5SOsEYFAZHKItkjmGZb9a05/G d/+G8H+lnL0tqKpLZZCZ9fZV6UX2w/IpAVHkpEbfa3IlpK7Eh1w1pX8bxK9p09fN1FQh pyHPiOT3d55P4/BMJHbEH8Y8dW6p1/vNngHEY8OKRZfcIDa1haWBGpR4IxF+dgAu7010 Lg/JpQY/HAKzKoeDw52fxN86R54c9uIHEVV+vONc1z6JPyNIvEB5WoowmhO6Mq2X2wtR icHg== X-Forwarded-Encrypted: i=3; AJvYcCU7FCiQd1d4H8UQQLIqxXdSllx9Ivv4RC3QYvOQ6NNdueHnl4aPggvNG5ZRh7QtBFrV8OLCYUHLFwgXSB8kObYvTfc= X-Gm-Message-State: AOJu0YxAr4cHJoPtgGvZi/WVAVroeaT2LNvbqdGxkschpQ57ZLtSrbx0 GYrq0Fz36HzsI6CVoeFu6lCo3wGPg1dd22Z/e9pXhbyNcOPAwCM3 X-Google-Smtp-Source: AGHT+IFNDvDJGlbZ/2p5Y3twvb6V7OjjfdsCvUdl2Y5+MUqh/3eBKA1ZDgHbKo5Id0VD8KAF1gz3VA== X-Received: by 2002:a05:6e02:1a8e:b0:382:834f:2bb2 with SMTP id e9e14a558f8ab-38a58d32cb6mr73182875ab.24.1720628416587; Wed, 10 Jul 2024 09:20:16 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6e02:12e9:b0:375:ae19:e644 with SMTP id e9e14a558f8ab-383729ecdadls57123675ab.1.-pod-prod-01-us; Wed, 10 Jul 2024 09:20:14 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWR8cNaIlg/rY7FjsvNIluuj0K/tUIlG5pCjZSQ8lVddd02jkUDpBjsdAj+p0lxMZ9r1r04jJXCVjL3xicz0EJYfITL1B6/INBSzmo= X-Received: by 2002:a05:6e02:1a08:b0:376:3c70:af63 with SMTP id e9e14a558f8ab-38a57215f28mr70021785ab.11.1720628414557; Wed, 10 Jul 2024 09:20:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1720628414; cv=pass; d=google.com; s=arc-20160816; b=Uo8qT0ikFUuls1LeLbIgrT30dwqfHMAOEsQWPJ/9L+H2cbfWdAI6b84blhWqzOaSDL I6CWRjoolgg6kR4nzBC25SUDc5upG/tmQEkQT81sILSxR0X3ZJQshYdjHKrTCSq0XR4D CbBXwSR6ioFkrHPzZsyUzVNEoCj7J8Pvl4PUFL/sCB46L2jPwvjwfVi95OsQMHNr0CI8 4vaDcw0MBpnz4PWS0xCuD1h/8rksbW9nX6nLbU+HHsX7+kJd8SR5on+1BwMNS4AXXrv3 RR+drCqLDdILGoef7nLdrhZsl0ox0Mf6fu+kkX3sbdHC4m0hErZ0CSUl9ErlyLtHtBUL lAoQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:in-reply-to:autocrypt :content-language:from:references:to:subject:user-agent:date :message-id:dkim-signature; bh=abibqeXn7Wv5CALgF9VvAhH8m/ILEjA1CFhLz6pls8Y=; fh=YPGGTJmcxY3OJwpxHcQfp1eD31kVjumu9NWDWPKF4dM=; b=NBrzrFwBSkU9gf8v3skmX7f+Yrn9Q+GQ+A0vulj024l+MnJSkHezonpGjxLwrI3vNe jSOcooFO4tH+WS9kUUkKCPYBDR82S2UUT8uY2MFRQ0eTIpvspEBDc8W0xdYLZN2oArak 4vlyxiXEBBOcCJiaFPmtoMUPcKXpaFDPlj9HSRrtcvuM/4WrnQ9yZjX1ZM3YuMWBbAqQ urZBdmTAWf7NwOHXFikD/PMTK06nJ4CzHlpdhy5/22wQNRFa/Owx7R0rmLQdasT0auIq 3cRuGhl93txUV4+CBIckbOaty/ncUq6SWlciNnjT1pp6lXFpBR/5qiCT0eP/ik97TigQ o2JQ==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=oArVLNh1; 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 jan.kiszka@siemens.com designates 2a01:111:f400:7e1a::627 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20627.outbound.protection.outlook.com. [2a01:111:f400:7e1a::627]) by gmr-mx.google.com with ESMTPS id e9e14a558f8ab-38a460218fasi1745325ab.0.2024.07.10.09.20.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Jul 2024 09:20:14 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 2a01:111:f400:7e1a::627 as permitted sender) client-ip=2a01:111:f400:7e1a::627; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WKn1NZWGxwH7z+0/HVvu/jjEekXWGNCiFZ45MjZCEqaTqOiLk/YNblyN61lNtLJz+7eFvBZEm/1FZpa2RgpdVxPJOaFPcZhNcWSlHeqREKGKAdpWbGJUsLCYfUhtZoCag7cGTk1/UZWF/31XoreBajh7ZldcdBJadOnSwN+/MXnPng0Hn2DL6AcA03IOl0k0GFmJFgOSegsIEi2ZiSKRlugDkoQp3vgLE6lI68/PCWaNRRQMQjtZoK980wmTOoZS6eyJ6CI6Co3IUeRhxVBaADksGceToemIgXjDuAcKnofCZFWwLgFg2Ovd4ok/lKQmJn+8hfw/RtDK5pEuQ7YsJQ== 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=abibqeXn7Wv5CALgF9VvAhH8m/ILEjA1CFhLz6pls8Y=; b=cKDDG03cJSHy0PL1i/npuPKMcJkEMEHiY+votHYZLDxWATLiBIuQPZPrjycYf2pwpYehOfAX7exRlGmsgn9DC/l6B0yCZFnkwk6PlsWsrAnB7XBcJ00MYKxtxU3lr+pNwkxR1ly937/F35DKA95F1Ux+1o3+jpR1FvxuqRg0jzuitnFQSTGoDoaY/YtsSVrYCBke1vyitEYE7fWERFJjdmz4NX4uBlnlogC1WIDbPCJxYfap/EGq5IOrlHvqrOXnPoyjb9drOTRnWxsc1ts/YiwbR2CnJJRf7BUUiEP85spWKkXF77rFUVaASfD59qBykL1V9FHD+rq77N2rdGYOtg== 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 AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) by GV2PR10MB6236.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:7c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 16:20:11 +0000 Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::8fe1:7e71:cf4a:7408]) by AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::8fe1:7e71:cf4a:7408%4]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 16:20:11 +0000 Message-ID: <6d1ad398-d4ee-4d9a-9a00-08032d43e2be@siemens.com> Date: Wed, 10 Jul 2024 18:20:09 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [RFC][PATCH 2/3] container-loader: Introduce helper to load container images into local registry To: "Moessbauer, Felix (T CED OES-DE)" , "isar-users@googlegroups.com" References: <2ce98b6143b9cc6bee19332edd9adfcf8da96fa7.camel@siemens.com> From: "'Jan Kiszka' via isar-users" Content-Language: en-US Autocrypt: addr=jan.kiszka@siemens.com; keydata= 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 In-Reply-To: <2ce98b6143b9cc6bee19332edd9adfcf8da96fa7.camel@siemens.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR2P281CA0181.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9f::17) To AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR10MB6181:EE_|GV2PR10MB6236:EE_ X-MS-Office365-Filtering-Correlation-Id: 00374d46-81f4-4e0d-1eb4-08dca0fc2c0b X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?RnJUWlBlSUNXbGIzcXo0QlVBeXhmbThkVzg2NzFyQzR1QlVoZ3RCMkdKMHBh?= =?utf-8?B?QzBmOU8vam52cC9ZNXZvODZYdlJaY0J1dzdpTmJRNkxDaS9HUTdUcnNycVc4?= =?utf-8?B?aWZJbG9jclR4UEZxWGNtWXhLYUdwUVoyVkN0VHdyTTRETDd6YmM0eTdTVkdG?= =?utf-8?B?RGJ1VDhJaXJNQWR2dTk0S01OUjBKRzdTSzVUOVhLT2dtdVVNUXlLaDVsME9W?= =?utf-8?B?cmdmdE5UVGRHMVlrY1A0d3gzbytqV2Z4RU5wdlE1eDJRSHlMQjdKNTJrNk5a?= =?utf-8?B?U21sREprazZNRzArM2h1QlNSK3pNSlRocUVMbFFQNVhhMVZMdm1lS0RQMGxX?= =?utf-8?B?cUdsekt1a0pmRzF2TkxOTE55M1hVUGVjbE12QXpuRGtDSjlodk1Pb0Y5NXYz?= =?utf-8?B?TGNBbS9jQVFVZ2dsYVlGZlhhSjgySUJnK0FKbGJaMDhETW9JbzVGbkk2TUk3?= =?utf-8?B?ZUJnbXRRRnBSQ01BeTJxV05nZ3NaeVVaZmt0VTZXUFdEVzh6SVNGTnl3UWVn?= =?utf-8?B?OG9obEpRbXB6MnpCYnpXcHFyN0lvdjRvOHNOQ3hWWjRxOVlZVFBkbmtYdTND?= =?utf-8?B?OWxVU1FwQWozbmV6TFVxNUFMZ3FTYThvWTdEa2JQc01NTEtnWGZSa3loU09S?= =?utf-8?B?MWdpcllRY2sxc1VCWnBXV2pjeFhMU0NtQWt1NEN2bWR6TmFjUTJpc3p6aE9K?= =?utf-8?B?cWZYVHBZcldFS21hVGFUZi9hREt3UnpaN2lJZnhZK1VrdWgrYVcreGZITFg1?= =?utf-8?B?bmZJL3RHZXdGTWNydC9USitFL1ZOaVV4TUhCYzR5bElYTzRsYVJQTEpISzhH?= =?utf-8?B?aDR3Vk9JMSsxbk1BcXlLT2dpY01GYnVRTURzdGtTcGFXQnVCcVFxM3BCL3Ra?= =?utf-8?B?aHZEbWMxVUtVMUs1TTRjekYyajdjbWMrNE9OVGtZdGF1bDdtN1hKeHdSRjk5?= =?utf-8?B?WlpUbVdWcUhLM0k3MFZNRGRrSWJSaFo1ZmpHOEtiUWhvcW5ORFZlKzFkeHdG?= =?utf-8?B?UHRPSGNjZWRFenBlUWgwZjdDWlowMEJNZFJ2emRoNXR5K3dJUXRsM29yVHIy?= =?utf-8?B?dmh1NUtHSUZndG04UENpVlRrNTYrR0NkV1ZrcGxOOFdsL21ibGhsTFg5bld5?= =?utf-8?B?akVFOWNCVzk3UzlXcEc5L01kVStNMnUyNVJmSHk4aWxlakg3a0FqTElWYXhY?= =?utf-8?B?N3ZVdWFKWkxKTWpuWTZNbXBEVHlsMFpnSDlxaE5wQXRGa3ZGMXNpbzFWUS95?= =?utf-8?B?NnFvdjg2cGgvMmRJbTR1NzBmZlJuRytHTkEwNWVYanhvNkhJaFduNTYxbEEw?= =?utf-8?B?S3JKK0xkdTJtYUpQWGZQWmR2VENwcjdGZGZVNlpyYWRGODFuQjFQdDZRK2NO?= =?utf-8?B?NDYwWElTeVdsNE15Y01oZWJoQ2NMVWVzVmswMForQkFWSVdyUUtXQUYyUHVY?= =?utf-8?B?TDc3V0VXUmgxejFWdWRZc3UrVDM2TUdJamw1V0lDREtjenk5ZHpFSC83N2Vw?= =?utf-8?B?SUlyVW4rY2I5WTlocEV6SUNaVnVLc3k4YjZ4QlFqUXBtSWVuN3NZL0ZDK3RP?= =?utf-8?B?V1RaaVZIaE9rMnpId2RhMmJ1dWswcnNQSEhNWk5ycjBMRy9kWE5ONnlrWHRN?= =?utf-8?B?aXIrRkxEQ0txRmRDZEdqRms2Y1I1RWQ3blA4enlSckVnU3haSnkwR3ZWenVl?= =?utf-8?B?TmVTS0hhZ0RUQi82b3NGZzRMaVEwWGZTeEJiS0VzUGJKOEJlY0lXVDAxTWZy?= =?utf-8?B?TWlvTFBMbUtsYVRhdmNnV2FraGNJTVpSSTNqM0MvTmZycTNmNXhVUnNUaTZF?= =?utf-8?B?VHBtRi9mMHlnRDdMTzZoZz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T0haREwrUXhhYWVmd0VveDNRSFdsdUJIbUlwWW1WQi83S2dRZktaSE1yUmox?= =?utf-8?B?QTArM2NDRzE2MzJmeXlFNzRmeDhIclZqNWtUTEg0Q0tGT0N5aHlIYURoOC8w?= =?utf-8?B?YmZNQkE1R0RiSHdOZUU5WS94RGM4bm9leklCS0EvZm1VY0Zac0hpS01KWnBj?= =?utf-8?B?WElPenVkRlpFZ0x6RkU4Tlkza0kwWStBdUtVLzFiR0RwWHoxUkR1a0pwWEM4?= =?utf-8?B?NG5oQ3dwbFpXK3o1c2RQb2gwMGE0bXB5YXh0bDIwemRMMGhPK0hXMjV2Z0Rr?= =?utf-8?B?L2hKZUxIQmxUdGZvdWN4a2h0RHphSHFzdnhnQjRwS3NHM3prRjE0MlQ4MkJ2?= =?utf-8?B?dHdneHl2NXJyRkJyREtTeFlCSmZhSkhhcm5BZ2xyOTNMTktVZG9kajdhdENC?= =?utf-8?B?Yk9ycDloOXZhOUhxYTBNTHp6c2pOSyswaU9zWHhvZzFmRmJTSk9nRXNndk1H?= =?utf-8?B?T1c5K2ZqRStPWlJDNkZqL0Nac1l3YUZTWHNzRzU0WWtPT3ZoZGVPL0VKZEEz?= =?utf-8?B?c0k4b2RNM1YvUHFjQWx1QzA0ejRhdkg1d2s3TjBXK05IL0tzRVJreVJtaXEy?= =?utf-8?B?V2J2VzFHTmxCQVhVTjFOVDZxVnZqSTdMU1l6cnlIVitqOGRLL09TaVMyVitI?= =?utf-8?B?Q0psRnE0MURmNkU2dnl4TGxWVW0zSDYvYlMyS1B4aVlhb3I2b2llUEt4dzJ1?= =?utf-8?B?NnZWb3dWMXN4bWMraXlwSlY0enZqSStZS3pURi9mRVk2c3JGTjNjYUsrMFU2?= =?utf-8?B?Um5rV1dWSEpzbDcya05VWjZiZ2VHakpDMzJ0OWNpS1JHSjBNY1FHbXgvRmZy?= =?utf-8?B?OHZ4TnJhdUg3Tk1zcVVveWJGRXU4YmtrZXZXSzBxTDU4OFhhRHI2bmE2OFQ0?= =?utf-8?B?Y2NLdWwyWnVZd3RxRHRwRnFuVmt1dTlNYkFPNlBMc0IzQVBLNEw1NUo4WTBE?= =?utf-8?B?aktyaU9jejFGQk1zSGpvblVJMjloY0lnVWp2NEpOellYTUFkaThFRkRTL0w1?= =?utf-8?B?T3ZlZndnTjUvNHpNZWJCSTJ3c2sxek5hMHZRcDNIOTdDSFBGQUExMDVybzNV?= =?utf-8?B?cmRaS2FISmFoM09oRGpCM2JLMWNwYVJqRVk4SnZMK0ppOTd5Q0NQRmxSSW8r?= =?utf-8?B?cUVGbWpxSUIzTjRzTVV4MlJKczRzWFgzcFRseXRheU9TcUY5UkFOMG91UnJV?= =?utf-8?B?bVpsTFB4STFjdnVFdUxCakU3NFdoRElidGUrYzVPMWMxclg5TmlCSHNGRGUx?= =?utf-8?B?cWtRWjBIeFhqWnN1RDV6S2NEcE0weUpXcUJZU3JVZW5WaXpGYnlPSS9NK1dU?= =?utf-8?B?c2FpeURTWnl3WnZiU2ZBN0ZmOVBKQ3d1aEJLWkdIWUtkcUltUWQwejZhRkgw?= =?utf-8?B?MDMyeGxJSjcyaXVwb0dsZXJjc0s2Z0J0dXR2YUt1ZG80UEhBOHZJemVYTnQx?= =?utf-8?B?c0RrdHUwdmFCa2h6cWZqZ0loOHFhZzZJZGFvZktnMlhJc1AxSDBXTmEzRGNJ?= =?utf-8?B?VUh5Z2FpdjVCSWVSNURRWW9Dcm1ZV2NJT2lDWjE3Z3R0WmhURkNLaG5KUDda?= =?utf-8?B?MlJZSVR2Z2NHWlVjb2IrR3JTeC9EM2p6Qis1NWZRWHpiMS9oeE83NHh1dDlC?= =?utf-8?B?VktwQTRla2dtTTRnU0x1ZURxV2xvMUM1OXdpQ1BzM1VqWXY4QUhvNHhVY2NX?= =?utf-8?B?RG5pbWVOZDJjOXZjdWcrb1hTaVVtb1Z5T2NzV1lwY1Qwd2hja0NZYkJ6OWZ3?= =?utf-8?B?bmltaUxjejc3MjhhUGdQZGoxSzdKM0F4Rm1kU2FyREcxV2RrQU9xK1NjeEFB?= =?utf-8?B?ZHNFZ2xUQTNXRFNoSVZNNWx5REhhY2xtMVJiM3ZjNHZubGdLS0JTdnFaMHZk?= =?utf-8?B?WUtoQjMvS2s5VFVaak4yMHRMTDVCd3Jta0E3YmI3YzBKNXhQTGJ0eGlkZHEw?= =?utf-8?B?M1JOTVkwODcyaDBXMElrRVcyZ2JCNVlZdDJDZlRzcTFiQ1RQNVdrUGNOUGFS?= =?utf-8?B?YUtnc25sZzhwSW4wZldSR3ViNXhmTk0wdGRyWTlYYjFjL2RuWThDMC9wdTk2?= =?utf-8?B?cXMxN3hHWENCYVYrc1hBbm9tTFN1bDRxYjZFQkZ2T2M2Mkp0MThOdU5TQjEv?= =?utf-8?B?M2VOL3VnWjExUHMxN1VYTWNFWnZSRWRqTWpYME9wNHB2Rk40MEZFVkNRQ1pI?= =?utf-8?B?QkE9PQ==?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 00374d46-81f4-4e0d-1eb4-08dca0fc2c0b X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 16:20:11.2110 (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: 6a4ukj83Ezh6GFgtrkZZPMwZ4F2CSdhpo/JXILePV+cbF01K31r8W0zJKvzdwsZsAbqwJ/Hco5NJpI7NG/aM/w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR10MB6236 X-Original-Sender: jan.kiszka@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=oArVLNh1; 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 jan.kiszka@siemens.com designates 2a01:111:f400:7e1a::627 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Jan Kiszka Reply-To: Jan Kiszka 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: 0R7Fc8qo+C+x On 10.07.24 14:46, Moessbauer, Felix (T CED OES-DE) wrote: > On Tue, 2024-07-09 at 19:31 +0200, Jan Kiszka wrote: >> From: Jan Kiszka >> >> 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. >> >> 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. >=20 > 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. Can be added - once Debian is on a docker version that supports it :) >=20 >> >> Separate include files are available to cater the main container >> engines, one for docker and one for podman. >> >> 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 >> >> 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_CO= MPRESSION') =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 '= gz' 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.= list", "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, _, _, pa= rm =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 cont= inue >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 image_name =3D host + (path = if 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["t= ag"] 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:{u= npacked_image} " \ >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f"do= cker-archive:{tar_image}:{image_name}{docker_ref}" >=20 > 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? Not tested if we aren't causing any conversion issues towards docker & friends - with versions of docker we currently use. Are you sure, for bookworm and bullseye? >=20 >> +=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('CONTAIN= ER_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 imag= e_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 + >=20 > Shouldn't that be BPN instead of PN? Oh, yes, thanks. >=20 >> "/container-loader.sh") >> +} >> +do_install[cleandirs] +=3D "${D}/usr/share/${PN}/images" >=20 > Same here. >=20 >> + >> +do_prepare_build:append() { >> +=C2=A0=C2=A0=C2=A0 install -v -m 644 ${WORKDIR}/container-loader.servic= e >> ${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 >=20 > We need an Requires=3D${CONTAINER_ENGINE}.service as well. Otherwise just > the temporal order is defined, but not the logical order. >=20 True. >> + >> +[Service] >> +Type=3Doneshot >> +ExecStart=3D/usr/share/${PN}/container-loader.sh >> +RemainAfterExit=3Dtrue >=20 > 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. Right, thought about that as well but didn't see a generic answer to that yet. >=20 >> + >> +[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" >=20 > That does not work with all compression formats. Better decompress the > image manually and pass to stdin of the load. e.g. It does work for those we support, see above. And it avoids having to carry to specific tool also in this script. So, not completely nicer. >=20 > cat $image | unzstd | podman load - >=20 > 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. Strange that open-coding this should actually be worse than letting the engine to it. Does this hold for oci-archives with compressed layers? Thanks, Jan --=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/6d1ad398-d4ee-4d9a-9a00-08032d43e2be%40siemens.com.