diff --git a/elements/bluefin-server/os-countme.bst b/elements/bluefin-server/os-countme.bst new file mode 100644 index 0000000..433e216 --- /dev/null +++ b/elements/bluefin-server/os-countme.bst @@ -0,0 +1,35 @@ +kind: manual +description: | + Weekly first-party countme reporting. + + The reporter is not defined here. It is taken from projectbluefin/common + system_files/shared, the same unit and helper every other image ships, so this + image counts through exactly the same bluefin-countme as the rest of the family. + + The preset from common enables the timer; this image applies systemd presets, + so no enablement symlink is needed. + +sources: + - kind: git_repo + url: github:projectbluefin/common.git + track: main + ref: v2026.08-108-gd46c4df9f9988002120cff4a66df8b163070fe6d + +build-depends: + - base/base-stack.bst + +depends: + # The reporter reads image metadata with jq and sends the ping with curl. + - freedesktop-sdk.bst:components/curl.bst + - freedesktop-sdk.bst:components/jq.bst + - bluefin-server/os-image-info.bst + +variables: + strip-binaries: "" + +config: + install-commands: + - install -Dm755 system_files/shared/usr/libexec/bluefin-countme "%{install-root}%{prefix}/libexec/bluefin-countme" + - install -Dm644 system_files/shared/usr/lib/systemd/system/bluefin-countme.service -t "%{install-root}%{prefix}/lib/systemd/system/" + - install -Dm644 system_files/shared/usr/lib/systemd/system/bluefin-countme.timer -t "%{install-root}%{prefix}/lib/systemd/system/" + - install -Dm644 system_files/shared/usr/lib/systemd/system-preset/03-bluefin-countme.preset -t "%{install-root}%{prefix}/lib/systemd/system-preset/" diff --git a/elements/bluefin-server/os-image-info.bst b/elements/bluefin-server/os-image-info.bst new file mode 100644 index 0000000..5004a15 --- /dev/null +++ b/elements/bluefin-server/os-image-info.bst @@ -0,0 +1,28 @@ +kind: manual +description: | + Declare this image's identity at /usr/share/ublue-os/image-info.json. + + The shared countme reporter from projectbluefin/common reads this file to know + which image it is counting. Every other image in the family already writes one; + this image is a DDI rather than an OCI image, so it has no image-info.json of + its own and no bootc ref to fall back to. + + Only image-name is declared. A DDI is delivered by systemd-sysupdate and has no + container tag or flavor, and the reporter omits fields it is not given rather + than sending a placeholder. + +build-depends: + - base/base-stack.bst + +variables: + strip-binaries: "" + +config: + install-commands: + - mkdir -p "%{install-root}%{datadir}/ublue-os" + - | + cat >"%{install-root}%{datadir}/ublue-os/image-info.json" <<'JSON' + { + "image-name": "server" + } + JSON diff --git a/elements/bluefin-server/os-stack.bst b/elements/bluefin-server/os-stack.bst index bc79fe4..074634d 100644 --- a/elements/bluefin-server/os-stack.bst +++ b/elements/bluefin-server/os-stack.bst @@ -25,6 +25,10 @@ depends: - bluefin-server/os-sshd-preset.bst - bluefin-server/os-sshd-config.bst + # Image identity and weekly first-party countme reporting + - bluefin-server/os-image-info.bst + - bluefin-server/os-countme.bst + # Flatcar LTS Kernel & Matching ZFS - flatcar/flatcar-kernel.bst - flatcar/flatcar-zfs.bst