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; Thu, 25 Jul 2024 13:10:35 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-il1-f192.google.com (mail-il1-f192.google.com [209.85.166.192]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 46PBAYGV005769 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 25 Jul 2024 13:10:35 +0200 Received: by mail-il1-f192.google.com with SMTP id e9e14a558f8ab-39915b8e08dsf8356625ab.0 for ; Thu, 25 Jul 2024 04:10:35 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1721905829; cv=pass; d=google.com; s=arc-20160816; b=0LsbBsQ3kVPa6uPLfBV1HsgoqFAUv73AZX37f7lp9DoucRksbIqvEnfPIORPdcdO4v mu0HsjsqpOQSwWhdibzjS+/MhPkXrIcVaOVwsSurfyuCFlwNOWGRGpzTfwpRUztLJ4Qu lFRdBWtrvSrgrq306DNP/57EA0l3/blCEuNqah+iPugTsNj8Yncw6fHAqWeRgEvcd7KU LHbrXckZnXogEV4onR+dJLwRRx2YzVerbF/JDeMnINuPrbPlU7TkiyUb0+tZFCua6UPT qVGEtFPcM92pDU+PsOBE0Lvye7J3VOZOJNIbFA9xQnhvhfK8W2v5m/SicVdLTORS6EyQ owaQ== 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:mime-version :content-transfer-encoding:content-id:content-language :accept-language:reply-to:in-reply-to:references:message-id:date :thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=OuvWaAbGgDSApIiDOcjpCYYmDZ0XhqUJQPmAhpR6XyI=; fh=KVleZ60THRcATpolI/SC9KrvQQ5G5UTHReCFOd2Gt+I=; b=wDq0kQB9ngMaMDqpcceH+8o86lwrZ2AHcxrYt2AuKskdOl94dIL0mXs/kujd8KFOlN gPhMAa52mC0TFinx6VH76efJnddNwtKOnuziJEC0g90bglM9nQjyQ1Cs2fJQhHhSsOsC AgUEgGflH8XrDpo5cHEXiy4WYg9MIT4zqqapXqoPh0uJuLik48RKOMSK3sSKwT2pIvSB TBJfheVEMLOmxlHLKc6Y//6ZfIhpdGwJ3tF4t5Ja0j1BsbTxIG8I8QNlSXEL0fCOGwfE JFM0OcH/pwGgI37hyAVWaRVMNZYOxJeGr2T+WH0ItPaO4Z4ikVpth1V+4ZgNSh+EAFIP wcVw==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=xyJlmFHw; 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 benedikt.niedermayr@siemens.com designates 2a01:111:f403:2607::601 as permitted sender) smtp.mailfrom=benedikt.niedermayr@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=1721905829; x=1722510629; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:content-transfer-encoding:content-id :content-language:accept-language:reply-to:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from:from :to:cc:subject:date:message-id:reply-to; bh=OuvWaAbGgDSApIiDOcjpCYYmDZ0XhqUJQPmAhpR6XyI=; b=JiW01vRgi2JsLGy9ALGgJfxRzsXqsELNKB5uUx3duGxTIgTG/K6Pqcjw4uYCElM53T 1eiB1Ub+xUv1ZDy0xDQPZ6DCRwToCEg+UoBuTcXHhSZK/i1MMaBQEcelg5QsywYU3xbu xe5I1bhDG2Ml5QN8l9msdjWryF7WvQTVWR6q7cZk/bNrOhhnwgJgFUyo3Ityod9c2EPH yk2HjpfA+jy1+NsrM+zzQmVIPSZz8fOJWBZs+TxYYqu34hzkKDRs4TvePZW6Po3vLntk 4SM+8owSz6pI0hqj+0xG5f0UQ462oI6uvygxup130rIpUTxUcFEoI7tLydxCyj0fvi6a vb0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721905829; x=1722510629; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :content-transfer-encoding:content-id:content-language :accept-language:reply-to:in-reply-to:references:message-id:date :thread-index:thread-topic:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=OuvWaAbGgDSApIiDOcjpCYYmDZ0XhqUJQPmAhpR6XyI=; b=XPaknuDkf4BBQuxg4hRRslsuUEKBGG496p2652DdZMO1Oebib0YE+Tjf96Ho7fVky9 RdqyhF2cwb7v0AG1CSgkXZR6ySOzKFeePj4z6EUsILO/GfvwBj22KWWFfB/A+ZQYvVmu G4TyVQLLC+kD2WvwITRWRYrSGMtOKjGd6t49mk4rFs+KgG4MVfTYiFe9bcobG8NVCI+I snk8NonNPdLRiS1FOrM1x7Kn18nxQtHmiNY7K+xxpojS92iSecHiSgLwPF0qUK49qy69 eUkPPo/DpFf/7AfeHadZMnf2MDCBeZGqCeSXrBUc0pWEeCUbaLlxyONpGzPtZgbsUmjQ ySQw== X-Forwarded-Encrypted: i=3; AJvYcCUuXscJ7rf9XERfRNXvHEvPHA5lauiMtsQPek19kmCkGgLpts0ueXCQBO77kIXu3HTNBv4h/0zLk8VEuMPy60UCcik= X-Gm-Message-State: AOJu0YzKKTNEp45RYv7D1U5UeC3p+J+KqeGj1FoNwQnpE9kVxVxxCMOC e7Uha/6huv+NGfwVcD1+U2dbN7oD7lsh+buOPbxis3/hAvNnURaX X-Google-Smtp-Source: AGHT+IHricDnGiwH6wLZYGcMoGQV04W0VzY7aFq+2HTt9Yw4GlUiItzVVaGMs70zn2Wk6BvaFhvNPg== X-Received: by 2002:a92:c242:0:b0:381:b3a9:3ba1 with SMTP id e9e14a558f8ab-39a23fbb5fbmr20077415ab.13.1721905828686; Thu, 25 Jul 2024 04:10:28 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6e02:1564:b0:39a:77d:a565 with SMTP id e9e14a558f8ab-39a217a616cls5765285ab.2.-pod-prod-09-us; Thu, 25 Jul 2024 04:10:27 -0700 (PDT) X-Received: by 2002:a05:6602:2d81:b0:817:3a29:6306 with SMTP id ca18e2360f4ac-81f7e2f1a0bmr190059839f.0.1721905827625; Thu, 25 Jul 2024 04:10:27 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1721905827; cv=pass; d=google.com; s=arc-20160816; b=q4CLFlYSJAx8Q2HodKBPgTRw7ZIJAUgXrfMEWtHBScMLiyTKs8Qt0IpZNTqoW0YNf9 hG5F8H973eAEqPidzWkpC2M7dKm52+9qZVNkPgpRsOVYmpcJqUa+IMPmWllM7l8fqe7F 0MLMzgUcN/aGhUZbtT2uHokSv4DBzhJRuiHE+pYVcOxX5PZSDxTes1G98WLG1Qlg8Dr2 J34C4Vd3jZ3Qkc+7z85ZoHFJQY3gboet221CkNet+3Z+84vRHAvzof1h25Ey2w7dX/HO oOaSteaHVpOJWFSjVS/IHZCnAds7yh41ByLXFSf35idzpkBFbvXGn/Yn46sRCCFKA8/h zGUA== 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:content-language :accept-language:reply-to:in-reply-to:references:message-id:date :thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=NIVOLhHiuGOtMLGr++i/zjcSEGVMFvZUKfKwB3W/shw=; fh=wx/qHEWp2Y06eJ/zwavY6bN0pacVoP8jscDHO49cHr8=; b=jKR5qM05judhRxPi1LCHc18+W5kToADj3UJHF0DCplAsFwGjG6N/2+RzUgXxgej08q 1bpPWOmMIZquTrSqRqPLZ4VEBOaC+ikmzYwBadModF1J6q4/7TvlkqzKhsToUcjmOOrT Y4vjrPZPTmh+MQWNxPubliXkrll3kfXsUtzJuwaTN1UxuxFYmk6WrBmlEmZVbLo993gI 8CdMKxT7lmSDstLsoiaeS2gKcQFx8rymeg3cA2KciWsUL6TCIGUWSXk/Rc0N+ihMSBWB uow5lvPPxqMVOM9KwtU0mEFa5Go9Av72nRDlkjg/V+bYSp+cWGQKU/6gpB9avTf/GwJq nG5A==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=xyJlmFHw; 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 benedikt.niedermayr@siemens.com designates 2a01:111:f403:2607::601 as permitted sender) smtp.mailfrom=benedikt.niedermayr@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on20601.outbound.protection.outlook.com. [2a01:111:f403:2607::601]) by gmr-mx.google.com with ESMTPS id 8926c6da1cb9f-4c29fb9081asi51480173.4.2024.07.25.04.10.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Jul 2024 04:10:27 -0700 (PDT) Received-SPF: pass (google.com: domain of benedikt.niedermayr@siemens.com designates 2a01:111:f403:2607::601 as permitted sender) client-ip=2a01:111:f403:2607::601; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gJJ51nIzQsGOmD1RKPzcEYKmrQDbzUf73qgAgTl9y8TP0xKlbTGbjFnJjdDhZxViXA002eDiUjYRE/EH5yIgfL6GmXkQCbz/6HPUqBkJ3Sqza7+6+62F283EhPkRGzGCJzHDgh0//OjoOtAJtHTtFuizugunvruxkdgw6SOvCskzzJpgqAHHT3nnLT4AYoT9qlHzbFxi0CBtJe7Mv451dLnbPYsga0zxTIWrJKxWPRaduvm767s8q8mINh1o5n9hBcIEoS3iV7nTZY3+XSmod3nDdbdU9SCk+VnBN82ofKOPDaLHURvWRw9ZdojNaTwtrKLtZaUTTMWuF0Jj9RrrYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=NIVOLhHiuGOtMLGr++i/zjcSEGVMFvZUKfKwB3W/shw=; b=JCe6zkWZJWkWRdYqcNefv7v/VJKVF0pOcMbIB0zdSuJzaDANeAXtbCocyHNQ/RpUT9UzWWZIN3fvSMp6vc8D34+g6ckjteI9hhpstQnwFF/Ado0axzYNmU9pjZgZvXpiewH3O7FPrqa5efPosjx4SwIMVLRN7zHr8J9lG2Fm7f3HlpgO0hW0540prsYmfQLGwp5Qp8Ma7vwG/uYUZO66VAeCFKX4o5mlvghhE8simc+7VxEQmAkKRLop7jfP0UCG2/kw0175h38egHjCMssudHogvegH2dfgSSdvdiVETJDwvuPoA1mCpcLcZorxVBwNs7Fkp7FMR8aj76tXVp/6nQ== 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 PAXPR10MB5520.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:23e::20) by DB9PR10MB8075.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:4c0::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.28; Thu, 25 Jul 2024 11:10:24 +0000 Received: from PAXPR10MB5520.EURPRD10.PROD.OUTLOOK.COM ([fe80::7615:5a22:34bf:f079]) by PAXPR10MB5520.EURPRD10.PROD.OUTLOOK.COM ([fe80::7615:5a22:34bf:f079%4]) with mapi id 15.20.7784.017; Thu, 25 Jul 2024 11:10:24 +0000 From: "'Niedermayr, BENEDIKT' via isar-users" To: "isar-users@googlegroups.com" , "Kiszka, Jan" CC: "Cirujano Cuesta, Silvano" , "MOESSBAUER, Felix" Subject: Re: [PATCH v4 1/5] Introduce fetcher from container registries Thread-Topic: [PATCH v4 1/5] Introduce fetcher from container registries Thread-Index: AQHa2fof2tfhY+QeO0mPrhWK+Hd8FrIHTHGAgAAGGAA= Date: Thu, 25 Jul 2024 11:10:24 +0000 Message-ID: <66a5c91e5afa23acba3f21270e59abebe82872ed.camel@siemens.com> References: <82da88bf02bf928d8807bc93bfb5fcdeece1f558.1721407122.git.jan.kiszka@siemens.com> <6beda53beb7a2cf672dca87757d4ca885cb62c93.camel@siemens.com> In-Reply-To: <6beda53beb7a2cf672dca87757d4ca885cb62c93.camel@siemens.com> Reply-To: "Niedermayr, BENEDIKT" Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PAXPR10MB5520:EE_|DB9PR10MB8075:EE_ x-ms-office365-filtering-correlation-id: b2d15a59-2a95-43b4-567f-08dcac9a61e5 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?S1ZRTzFuVUwzSDIyVExsTnpwWGFIR3FmS1ZDRTEwTGtlamVOSlBIWElJZ3Mv?= =?utf-8?B?K1oxRGpoR2dIUm81RjRPS3Y3N3R3cUdHMUVJREZSdEhzMmFXQ25BOWJCdHVE?= =?utf-8?B?aGNyZklwd3A4dmxvNlFvNTJWZHZSZWRRSml1N1hma0pYeVpsWGhsNVlKMk5i?= =?utf-8?B?ZTJSeWRocE1JelIwVXFtVVZUTzNRUG8ybmg4TjU3RTRKTmNnejkreFNjQU52?= =?utf-8?B?RHRZdFFZaFFMQXMvaGJIVVFXMWd0STNqcTB5c2RKVTZLVlFHclR0ZzBDMldB?= =?utf-8?B?SlVNd2NyTXVNMWMvbXhiYXVrTzNFUSt2ZVVQSWFROXFORkVxamtTUkV4NXov?= =?utf-8?B?RGxXN0pFQjNWT3RaQURkRjZLeHhaakFIZ3JiRUZseHErNHhFOGd6Mk14aVFV?= =?utf-8?B?QXA5WXBGNjI5RzY5ejIrZkZGNFpBb282NEdqMVBwcEV2YzhVQmNrenA0WGtN?= =?utf-8?B?b29uMk5vQThMUmZQOG5MN283M2ZsaDg1akhycmVBNXNSaGt6ZVY5MnRnZURE?= =?utf-8?B?SmIwVkNHaHNkbExiR1c4QUlNa2crek5tZ0RJRVNsckplaGIyZ2tiZlFVdnBL?= =?utf-8?B?TUZtblMyOGVYZ0Y4VEtPbUFDdkdLUlpvOWQ1ODJGdkwwd0c0YUFrTzNqcWFK?= =?utf-8?B?UnR5eElaVitUeC8venlmbStPSWJUNFJxaXlzaHllU0ZvMkhUanI3MHU3TndX?= =?utf-8?B?NEF4dWFpY3REcTNicWVVTFkyR04wTTd4V21ZbjBjc21wRmJ4NW1aU2JZWXNT?= =?utf-8?B?RzAwNDVOVFJtNjQ5Z0w0Q25keWJwVEJ6dVJWcjZuZm50Ull1UVJEU1BJM3JQ?= =?utf-8?B?U0VQWjU0dUNNM0s2Z1dIN2ZnbVc1RGdwbDBKZDRQelRvQnMydktnUWNVYzA3?= =?utf-8?B?azRnaWEzeVQvc21wYStHZVNmdnN0SERQRXNUTS9qQVBySFdwZW5UYWRNNzNy?= =?utf-8?B?ZmUyQU9halhxSVNidHhtUENyb3RaWXNEbXBFNWxkbjZmSGRPWWoyWDN1aXNP?= =?utf-8?B?N1dXYzA1d3Q3VHY2RWZHaGNYNmlDeDdxUFA0ZVVxajJLTHY0TllDZzgxU1JV?= =?utf-8?B?Rys4aisrb0EwSEI4WXpMajRlWDM3K1NvU3AzeU1sTytGMFp1UWNlV0tianA4?= =?utf-8?B?T2JRcTByTlBnVVN3MU1kQmNtck8wTSsyUGF2bVNWZEhKZ3pTbFlTNHl3QTBD?= =?utf-8?B?QmJYRTA3L2o5M2U4TXU5M2FCcjJGWGxwQ3N5SjRHRWUxWVpTRXAzSGhsV2lI?= =?utf-8?B?djBmOUFPY2drLzV6KzFWM0lRSkt5MU12VGR4VjhuTGYxOWdqSjF5R2daVi9J?= =?utf-8?B?clNPZ1dvK0JUdTArZXpMdUxIdGpLdTNRam01SDNrS1ZHUURRaVU0OVozbDVD?= =?utf-8?B?V0Z3QlMxVGF2VVpQZWQwRWdjeStSaVcyYmJLa0RzTTJoNHlJS0VWMDd3dUJ0?= =?utf-8?B?WjVVWmt1ZHdKNjkvSmNUM0wwWGlSL1FoUVl6cm82MXNqMG83Y2R2ckp1SCtm?= =?utf-8?B?UllKWE9QZmxrc0pPQkJTNG9iQ0tKZUpSRnY3R2pUWlQvWHBaOWo3cnRnMDNz?= =?utf-8?B?M2lmR3hOa3pWcmFiTGpjNGVTK09ockFzYUNpeGMxUGNzNzNMSitnWWw1Z2dx?= =?utf-8?B?S1RteVA5bllyaHNXelRxeDFBNEhIbWFNWStNM1FwVUkvVGZWN1dvZWJNckdV?= =?utf-8?B?cDJua0xLWWt5SStQd2VPRUdBMlFlWElaQUY3RnhSQmxVV0hBNFAxNUtseVRR?= =?utf-8?B?WGVqdGtOR1V6UGRJZm5HUjlNTlN3aTBVRlNaME9UbnBaYTN2dHJqNi9tSXND?= =?utf-8?B?NVJibjhNM0xMOUR4d1hSR043c0l2WnBSU2JMc3IvcDh3b2tYNW9KVFRQUjV3?= =?utf-8?B?T25KN2I4N2NYL0hLTlB0M0dSK3BYYUtJV0FuaXZEZ29sdkE9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR10MB5520.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?MGQ3em1Lb2FsRkY1bElkZFY3c3lUcEFkMzZCck9mWElma3IvRUxreHlndkIy?= =?utf-8?B?Nkh4N1ZVc2RuakNmVDJXZmREMG8vZXBxaGhvdzVhREwyU3hQYnQwcmVQa2Ur?= =?utf-8?B?K2xmR0xSeEk1b2pjQVVGdUM2RDBteGNJZHV0ajVSQWRMR1BNT1N1a3RJT3d6?= =?utf-8?B?a2hmYTg1cCt3RTFlVXpuUlRZdmdCNnFJZXJNRXFJcXJXQ2RadjZBejRjZzdX?= =?utf-8?B?OG5xQlovR3JjcCtqUExROFpObDV1L1RhN3A5L2RveE1jTnBBMkllVkpsMXpu?= =?utf-8?B?NFhEZWc2dGwyUnF1ZnpiMEc1dUJFU2JUeTVPUWlZcnB6SGY4RjQ3N1VIY0JK?= =?utf-8?B?M1JJRlRNZW9LZW5Wajg2NEI1Z2htSlE3d05pR3AvZFJrT0RTa1dKd2I2MzJS?= =?utf-8?B?OThDTGlVa3lOOFJrbUoxOTNlZ0txK1ZhMVdZWFNIWTBzdzNtVW85a2R3ZlRy?= =?utf-8?B?UmVMQk1QVC80RGFYeTQvMFRZUE8zQk1pNkQ0OGRNV1oyTkk0andYWXJnRG1P?= =?utf-8?B?b3k3NEJ3Z0M0SjYvMHBGWDBCNDhQMTNJS3pQS0NjSnFtbjdLMXNwN0FwZHhG?= =?utf-8?B?aElzZWVZQzZ0amt0ZXpKRzgxWTZzOXNXaXlQdWY2MzN5aktVS2dkN0VLYkQz?= =?utf-8?B?RlI1bTRPeGpTa1NjVlQycEFUNmVmQ3JucVR0b3FXazlvMmlZektFMmc0dXZP?= =?utf-8?B?Mnp4Zk1TUHZrRStJemZvTmVzdzBUN0x2dmRGMmQxMitJWm9QMXpxRnMxZmVo?= =?utf-8?B?T213VHcyU0ZhZXZtSWlxb3JCMzFpcmlLS1JNR0cwVEFpemxTRmVVUDBwTjVC?= =?utf-8?B?WTgxV1Awa0lGbGh4Yk9tdEFRNkdISGpsTzg4K3p4bTFROXZ0UUVvOG85c2dn?= =?utf-8?B?MlBzS1NwM3ZFb1hqTkpMTHVWYUwwMk9HdGVTdWxwa01JQkFjUENiMGhFUFBC?= =?utf-8?B?WEdIa2IxTUdwNGlKb3dmcWMwVmR4SjVRaFZUZ0VqL2pxcngyNkdNTTlobnpG?= =?utf-8?B?WVh0Q2NiQWtuaWtieHQ2WUNZSTEzUlVxRFo1RzQ1SVgvczYwVjZIejVXTGJq?= =?utf-8?B?NmVQUGRRQ0dPa0tlaG8xMTVRbC82M3F0N0FFeTJzdzF5OFQwR3haQzVHL1dJ?= =?utf-8?B?enZycHFiSmtLMEkvVWx3dzR3aWsxcUVTQVZNREdHYjlqOHgxSkRJcW1RRldr?= =?utf-8?B?TGQ1aUp1OERwOXJrK09HRGkvZUQxYjVFZ1d4eUhDeUlHdkpVamRFQTlwbSsv?= =?utf-8?B?U1BrYU1JdHFPTG9MODcvTXBocWlCekpzU0g0YWQ5VXB4bytOd09pSkRDTGMz?= =?utf-8?B?NXVGcWVtNHlDdzRkcjNQZXlxYTZ4SXc1S2tmSWtHbVVwSllvM2gyeXhJbHZU?= =?utf-8?B?b0hkL2tZckl4QXZpWis0bzNMNmVnN2dmWG96MHVJYVA3eU5BMjJ6dlNoUTBp?= =?utf-8?B?cENPUXlaLzZhU3RmaXoxaDhpcmlUMGpzU2taNVE2dWFHeUFNSEt6SkYwVUc3?= =?utf-8?B?czRPa1l4aTRLajJsc1U1M3ZXYlpjN0JyQmpzcm5XeGZUSlZieWtIYjU2bDh0?= =?utf-8?B?RlAwN2JKdUdyUVhzSTIwY1M1d0VaU0Vhc25VNDMwZ1orS2RJVEtxNzhOTVVv?= =?utf-8?B?SDdCUGJrbGtUb05PSHhqMnBrZDRRdDFUeStWR3ZUUnBxb3AraVdUS0pSdVJw?= =?utf-8?B?OTFuS3VlcS9jbFkvT3k1amUvMWxEK2s1NDB6aE9WZ0VwSlpmMFpJeVdLaFNk?= =?utf-8?B?U1JKK0JLVWVKWENtVHU1WGNTUWI4TXN4WjlWdVFrTU03cTFhTVM5UjVzY0lS?= =?utf-8?B?bGdkNlF6SmQrSXg2MXQrV1lka25KZTM4YzZpT2d2R0tpZ1pjNjUrT0NtU2NG?= =?utf-8?B?eGxMa1Ftb0lzWmtiNW1vQ3JFWE5VSURHaUFRcWJETTlIWXRUWlFxQUNuRFh6?= =?utf-8?B?ZENqOEwzbnk1MFJzc1JGUFYvUW5JS1VJRlpzSGJycy9mcC9tOW1FQUlmZXE2?= =?utf-8?B?UHA3QXdER1lMU0x2OVVRTEV5em9YckxTS2VIcWVzZDJucHBYWmcvbVBteWtX?= =?utf-8?B?ZHZoZXltaTc5dEc1Wmd3UG4yVUQyajhiQnVqVkZjaE5VSFEzUm9FWDFkc0Zo?= =?utf-8?B?cWlVMjh5QmJVbDRnRk5qQW9qVStFdjAxSXlkQXppenJkTG9zQmRRYkQzQndl?= =?utf-8?Q?+OCeha/zErLldgujGthWu5k=3D?= Content-Type: text/plain; charset="UTF-8" Content-ID: <4A0A1E4CC89A5141A4986DFBB014177D@EURPRD10.PROD.OUTLOOK.COM> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAXPR10MB5520.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: b2d15a59-2a95-43b4-567f-08dcac9a61e5 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jul 2024 11:10:24.6918 (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: DRjBQ9AnkB9ieQaQoGQpuib28n/Ya4JliM/66R6zMEBPFEFJPb+B4yF9iAYxKvzYMgopfyjDDWE7kGx5x2KjQYFWYwURTMWyPV63kD+U9x4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR10MB8075 X-Original-Sender: benedikt.niedermayr@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=xyJlmFHw; 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 benedikt.niedermayr@siemens.com designates 2a01:111:f403:2607::601 as permitted sender) smtp.mailfrom=benedikt.niedermayr@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: "Niedermayr, BENEDIKT" 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: ZPfh+P+1s3LK On Thu, 2024-07-25 at 10:48 +0000, 'Niedermayr, BENEDIKT' via isar-users wr= ote: > On Fri, 2024-07-19 at 18:38 +0200, Jan Kiszka wrote: > > From: Jan Kiszka > >=20 > > This bitbake fetcher allows to pull container images from registries, > > store them in the download cache and transfer them into the workdir of > > recipes requesting the image. The format of the URL is > >=20 > > docker://[/];digest=3Dsha256:...[;tag=3D] > >=20 > > Fetching without digest is supported but will cause a warning, just lik= e > > downloading via wget without a checksum. If tag is left out, "latest" i= s > > used. > >=20 > > In case a multi-arch image is specified, the fetcher will only pull for > > the package architecture of the requesting recipe. The image is stored > > compressed in docker-archive format and, wherever possible, hard-linked > > from DL_DIR to WORKDIR. Future versions may also introduce full > > unpacking of the fetched container layers in workdir if use cases come = up. > >=20 > > Signed-off-by: Jan Kiszka > > --- > > =C2=A0meta/classes/dpkg-base.bbclass |=C2=A0 6 +++ > > =C2=A0meta/lib/container_fetcher.py=C2=A0 | 86 ++++++++++++++++++++++++= ++++++++++ > > =C2=A02 files changed, 92 insertions(+) > > =C2=A0create mode 100644 meta/lib/container_fetcher.py > >=20 > > diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bb= class > > index 789d6c74..d90b32a9 100644 > > --- a/meta/classes/dpkg-base.bbclass > > +++ b/meta/classes/dpkg-base.bbclass > > @@ -98,6 +98,12 @@ python() { > > =C2=A0=C2=A0=C2=A0=C2=A0 if len(d.getVar('SRC_APT').strip()) > 0: > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.build.addtask('apt_= unpack', 'do_patch', '', d) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.build.addtask('clea= nall_apt', 'do_cleanall', '', d) > > + > > +=C2=A0=C2=A0=C2=A0 # container docker fetcher > > +=C2=A0=C2=A0=C2=A0 import container_fetcher > > +=C2=A0=C2=A0=C2=A0 from bb.fetch2 import methods > > + > > +=C2=A0=C2=A0=C2=A0 methods.append(container_fetcher.Container()) > > =C2=A0} > > =C2=A0 > > =C2=A0do_apt_fetch() { > > diff --git a/meta/lib/container_fetcher.py b/meta/lib/container_fetcher= .py > > new file mode 100644 > > index 00000000..0d659154 > > --- /dev/null > > +++ b/meta/lib/container_fetcher.py > > @@ -0,0 +1,86 @@ > > +# This software is a part of ISAR. > > +# Copyright (c) Siemens AG, 2024 > > +# > > +# SPDX-License-Identifier: MIT > > + > > +import oe.path > > +import os > > +import tempfile > > +from=C2=A0=C2=A0 bb.fetch2 import FetchMethod > > +from=C2=A0=C2=A0 bb.fetch2 import logger > > +from=C2=A0=C2=A0 bb.fetch2 import MissingChecksumEvent > > +from=C2=A0=C2=A0 bb.fetch2 import NoChecksumError > > +from=C2=A0=C2=A0 bb.fetch2 import runfetchcmd > > + > > +class Container(FetchMethod): > > +=C2=A0=C2=A0=C2=A0 def supports(self, ud, d): > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return ud.type in ['docker'= ] > > + > > +=C2=A0=C2=A0=C2=A0 def urldata_init(self, ud, d): > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.tag =3D "latest" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if "tag" in ud.parm: > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.= tag =3D ud.parm["tag"] > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.digest =3D None > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if "digest" in ud.parm: > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.= digest =3D ud.parm["digest"] > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.arch =3D d.getVar('PACKA= GE_ARCH') > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.variant =3D None > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ud.arch =3D=3D "armhf": > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.= arch =3D "arm" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.= variant =3D "v7" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 elif ud.arch =3D=3D "armel"= : > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.= arch =3D "arm" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.= variant =3D "v6" > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.container_name =3D ud.ho= st + (ud.path if ud.path !=3D "/" else "") > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.container_src =3D ud.con= tainer_name + \ > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ("@= " + ud.digest if ud.digest else ":" + ud.tag) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.localname =3D ud.contain= er_name.replace('/', '.') > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ud.localfile =3D "container= -images/" + ud.arch + "/" + \ > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (ud= .variant + "/" if ud.variant else "") + ud.localname + \ > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "_"= + (ud.digest.replace(":", "-") if ud.digest else ud.tag) + \ > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ".z= st" > > + > > +=C2=A0=C2=A0=C2=A0 def download(self, ud, d): > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tarball =3D ud.localfile[:-= len('.zst')] > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 with tempfile.TemporaryDire= ctory(dir=3Dd.getVar('DL_DIR')) as tmpdir: > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # T= ake a two steps for downloading into a docker archive because > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # n= ot all source may have the required Docker schema 2 manifest. > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 run= fetchcmd("skopeo copy --preserve-digests " + \ > > +=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 f"--override-arch {ud.arch} " + \ > > +=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 (f"--override-variant {ud.variant} " if ud.variant el= se "") + \ > > +=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 f"docker://{ud.container_src} dir:{tmpdir}", d) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 run= fetchcmd(f"skopeo copy dir:{tmpdir} " + \ > > +=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 f"docker-archive:{tarball}:{ud.container_name}:{ud.ta= g}", d) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 zstd_defaults =3D d.getVar(= 'ZSTD_DEFAULTS') > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 runfetchcmd(f"zstd -f --rm = {zstd_defaults} {tarball}", d) >=20 > do_fetch doesn't get triggered if "ZSTD_LEVEL" changes, but it should, si= nce the > output zst file changes with a different ZSTD_LEVEL. >=20 > Even adding a do_fetch[vardeps] +=3D "ZSTD_DEFAULTS" doesn't lead to the = desired behavior: >=20 > When ZSTD_LEVEL changes, the fetch task is run but does not actually fetc= h anything and > immediately proceeds with do_unpack. More precisely, the download() Metho= d of the Container() > class is not getting executed, maybe due to some logic in the upper/surro= unding Fetch() class. > That would be fine if the compression task didn't implement the compressi= on... Sorry wrong wording: That would be fine if the FETCH task didn't implement the compression... Benedikt >=20 > Another thing to mention is that he whole fetch task is run again only if= the compression changes. > Skopeo seems to override already downloaded layers rather than skipping t= hem, which means that > changing the compression also means a complete new download process.=20 >=20 > Maybe the unpack() task for packing and hardlinking the images would be b= etter, even though it > sounds strange to put an compression task into the unpack task. > =C2=A0 > Benedikt >=20 > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ud.digest: > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret= urn > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 checksum =3D bb.utils.sha25= 6_file(ud.localpath + "/manifest.json") > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 checksum_line =3D f"SRC_URI= =3D \"{ud.url};digest=3Dsha256:{checksum}\"" > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 strict =3D d.getVar("BB_STR= ICT_CHECKSUM") or "0" > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # If strict checking enable= d and neither sum defined, raise error > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if strict =3D=3D "1": > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rai= se NoChecksumError(checksum_line) > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 checksum_event =3D {"sha256= sum": checksum} > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bb.event.fire(MissingChecks= umEvent(ud.url, **checksum_event), d) > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if strict =3D=3D "ignore": > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret= urn > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # Log missing digest so use= r can more easily add it > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 logger.warning( > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f"M= issing checksum for '{ud.localpath}', consider using this " \ > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f"S= RC_URI in the recipe:\n{checksum_line}") > > + > > +=C2=A0=C2=A0=C2=A0 def unpack(self, ud, rootdir, d): > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 image_file =3D ud.localname= + ":" + ud.tag + ".zst" > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 oe.path.remove(rootdir + "/= " + image_file) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 oe.path.copyhardlink(ud.loc= alpath, rootdir + "/" + image_file) >=20 --=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/66a5c91e5afa23acba3f21270e59abebe82872ed.camel%40siemens.com.