From 925ca9b41e022aaa12ece5204a644ea917d8d22d Mon Sep 17 00:00:00 2001 From: Sanne Raymaekers Date: Tue, 11 Oct 2022 18:57:11 +0200 Subject: [PATCH] sources/ostree: set contenturl when pulling from remote If a contenturl is specified, the url is used only for metadata. This is useful when the actual content is hosted separately. --- sources/org.osbuild.ostree | 7 +++++++ .../org.osbuild.ostree/cases/contenturl.json | 13 +++++++++++++ ...74fd6f8e98555f600c6647b42fb1fad58436b70b.filez | Bin 0 -> 48 bytes ...c7eeeeb675faa412d5ec73f62988eb0b6c5488.dirmeta | Bin 0 -> 12 bytes ...75049de095b41ccb2b42e597e583cbc00f2e61.dirtree | Bin 0 -> 45 bytes ...e9f1f4836512c2921007f124b285f7c466464d8.commit | Bin 0 -> 126 bytes .../sources/org.osbuild.ostree/data/meta/config | 3 +++ .../data/meta/refs/heads/test/ostree | 1 + .../data/meta/refs/remotes/.empty | 0 9 files changed, 24 insertions(+) create mode 100644 test/data/sources/org.osbuild.ostree/cases/contenturl.json create mode 100644 test/data/sources/org.osbuild.ostree/data/content/objects/25/ec43bf2d02dcbe0c21307674fd6f8e98555f600c6647b42fb1fad58436b70b.filez create mode 100644 test/data/sources/org.osbuild.ostree/data/content/objects/44/6a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488.dirmeta create mode 100644 test/data/sources/org.osbuild.ostree/data/content/objects/6e/adab46e44d2c96fbe0f5ccb575049de095b41ccb2b42e597e583cbc00f2e61.dirtree create mode 100644 test/data/sources/org.osbuild.ostree/data/content/objects/d6/243b0d0ca3dc2aaef2e0eb3e9f1f4836512c2921007f124b285f7c466464d8.commit create mode 100644 test/data/sources/org.osbuild.ostree/data/meta/config create mode 100644 test/data/sources/org.osbuild.ostree/data/meta/refs/heads/test/ostree create mode 100644 test/data/sources/org.osbuild.ostree/data/meta/refs/remotes/.empty diff --git a/sources/org.osbuild.ostree b/sources/org.osbuild.ostree index 89c6d04e..0e038789 100755 --- a/sources/org.osbuild.ostree +++ b/sources/org.osbuild.ostree @@ -38,6 +38,10 @@ SCHEMA = """ "type": "string", "description": "URL of the repository." }, + "contenturl": { + "type": "string", + "description": "content URL of the repository." + }, "gpgkeys": { "type": "array", "items": { @@ -107,6 +111,9 @@ class OSTreeSource(sources.SourceService): if not gpg: remote_add_args = ["--no-gpg-verify"] + if "contenturl" in remote: + remote_add_args.append(f"--contenturl={remote['contenturl']}") + if remote.get("secrets", {}).get("name") == "org.osbuild.rhsm.consumer": secrets = Subscriptions.get_consumer_secrets() remote_add_args.append(f"--set=\"tls-client-key-path={secrets['consumer_key']}\"") diff --git a/test/data/sources/org.osbuild.ostree/cases/contenturl.json b/test/data/sources/org.osbuild.ostree/cases/contenturl.json new file mode 100644 index 00000000..1bee7429 --- /dev/null +++ b/test/data/sources/org.osbuild.ostree/cases/contenturl.json @@ -0,0 +1,13 @@ +{ + "expects": "success", + "org.osbuild.ostree": { + "items": { + "d6243b0d0ca3dc2aaef2e0eb3e9f1f4836512c2921007f124b285f7c466464d8": { + "remote": { + "url": "http://localhost/sources/org.osbuild.ostree/data/meta", + "contenturl": "http://localhost/sources/org.osbuild.ostree/data/content" + } + } + } + } +} diff --git a/test/data/sources/org.osbuild.ostree/data/content/objects/25/ec43bf2d02dcbe0c21307674fd6f8e98555f600c6647b42fb1fad58436b70b.filez b/test/data/sources/org.osbuild.ostree/data/content/objects/25/ec43bf2d02dcbe0c21307674fd6f8e98555f600c6647b42fb1fad58436b70b.filez new file mode 100644 index 0000000000000000000000000000000000000000..72b1315c4012457e6e8bc2a91e1c3aa4c3e3416c GIT binary patch literal 48 kcmZQzV31-!03HOhaS50$`Pt*_$&=w6=k-r{K4fA509`2vQUCw| literal 0 HcmV?d00001 diff --git a/test/data/sources/org.osbuild.ostree/data/content/objects/44/6a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488.dirmeta b/test/data/sources/org.osbuild.ostree/data/content/objects/44/6a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488.dirmeta new file mode 100644 index 0000000000000000000000000000000000000000..6757a41ee10d92270b1646be5433266cd6619e94 GIT binary patch literal 12 McmZQzfC0z100DaeF8}}l literal 0 HcmV?d00001 diff --git a/test/data/sources/org.osbuild.ostree/data/content/objects/6e/adab46e44d2c96fbe0f5ccb575049de095b41ccb2b42e597e583cbc00f2e61.dirtree b/test/data/sources/org.osbuild.ostree/data/content/objects/6e/adab46e44d2c96fbe0f5ccb575049de095b41ccb2b42e597e583cbc00f2e61.dirtree new file mode 100644 index 0000000000000000000000000000000000000000..56aac1728e314536ece4f3403a4c93b77aaa77c5 GIT binary patch literal 45 zcmc~u&B@8vE2$`9P<`XPUzh35J|0DbvXZ~~eKSJi6L`|xx9D&Db+yH8J2#iM4gjZr B5@i4Y literal 0 HcmV?d00001 diff --git a/test/data/sources/org.osbuild.ostree/data/content/objects/d6/243b0d0ca3dc2aaef2e0eb3e9f1f4836512c2921007f124b285f7c466464d8.commit b/test/data/sources/org.osbuild.ostree/data/content/objects/d6/243b0d0ca3dc2aaef2e0eb3e9f1f4836512c2921007f124b285f7c466464d8.commit new file mode 100644 index 0000000000000000000000000000000000000000..5e0d190054eb80afd9ec6cd0244891981f974017 GIT binary patch literal 126 zcmc~VE-6Y))hkL((@o0EOUcYjX8?ne)Z!BTe6S<~4?|+HuqH$tMCxx@UXZtTwc8V4 zooT-xd_A+Zlx6ONsas@DYdbxi{