Skip to content

Commit 28a3f77

Browse files
nkraetzschmarNotTheEvilOne
authored andcommitted
feat: configure S3 upload metadata based on {cname}.requirements file instead of hardcoded feature mappings
1 parent cd7131a commit 28a3f77

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/gardenlinux/s3/s3_artifacts.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,20 @@ def upload_from_directory(
140140
feature_set = release_config.get(UNNAMED_SECTION, "GARDENLINUX_FEATURES")
141141
feature_list = feature_set.split(",")
142142

143+
requirements_file = artifacts_dir.joinpath(f"{cname}.requirements")
144+
req = {}
145+
if requirements_file.exists():
146+
with requirements_file.open("r", encoding="utf-8") as req_fp:
147+
for line in req_fp:
148+
line = line.strip()
149+
if not line:
150+
continue
151+
key, value = line.split("=", 1)
152+
req[key.strip()] = value.strip()
153+
154+
require_uefi = req.get("uefi", "false").lower() == "true"
155+
secureboot = req.get("secureboot", "false").lower() == "true"
156+
143157
metadata = {
144158
"platform": cname_object.platform,
145159
"architecture": cname_object.arch,
@@ -149,8 +163,8 @@ def upload_from_directory(
149163
"gardenlinux_epoch": int(cname_object.version.split(".", 1)[0]),
150164
"logs": None,
151165
"modifiers": feature_list,
152-
"require_uefi": "_usi" in feature_list,
153-
"secureboot": "_trustedboot" in feature_list,
166+
"require_uefi": require_uefi,
167+
"secureboot": secureboot,
154168
"published_image_metadata": None,
155169
"s3_bucket": self._bucket.name,
156170
"s3_key": f"meta/singles/{cname}",

0 commit comments

Comments
 (0)