Skip to content

feat(countme): ship the shared bluefin-countme reporter - #94

Merged
castrojo merged 1 commit into
mainfrom
feat/first-party-countme
Sep 13, 2026
Merged

feat(countme): ship the shared bluefin-countme reporter#94
castrojo merged 1 commit into
mainfrom
feat/first-party-countme

Conversation

@castrojo

@castrojo castrojo commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

This image did not report to countme.projectbluefin.io and had no way to, so it counted as nothing.

The reporter is not defined here

os-countme.bst sources it from projectbluefin/common system_files/shared — the same unit, timer and helper every other image ships. This image counts through exactly the same bluefin-countme as the rest of the family and carries no countme code of its own.

Unlike Bluefin, LTS and Dakota, this repo has no common.bst, so the files come from a git_repo source rather than an existing junction.

The preset from common enables the timer, which this image already honours via kind: import into system-preset — no enablement symlink needed, unlike Dakota.

Why os-image-info.bst exists

The reporter reads /usr/share/ublue-os/image-info.json to know which image it is counting. Every other image writes one during its build:

  • Bluefin / LTS — build_scripts/90-image-info.sh
  • Dakota — include/os-release.yml

This image has neither that file nor a bootc ref to fall back to, because it is a DDI delivered by systemd-sysupdate rather than an OCI image. Without it the reporter exits without sending, which is the correct behaviour but leaves the image uncounted.

Only image-name is declared. A DDI has no container tag or flavor, and the reporter omits fields it is not given rather than sending a placeholder. os-release here is NAME="Bluefin Server" / ID=flatcar, neither of which is a usable repo id.

Dependencies

curl and jq are added explicitly — this image is minimal and had neither, and the reporter needs both.

Follow-ups (filed)

Original note

The git_repo ref is pinned to v2026.08-108-gd46c4df9f..., the tip of the branch in projectbluefin/common#1112. It must be re-tracked to main once that PR merges. I cannot run bst track here to generate the replacement.

If CI reports the curl component path differently in this junction, that is the one line to correct.

This image did not report to countme.projectbluefin.io and had no way to, so it
counted as nothing.

The reporter is not defined here. os-countme.bst takes it from
projectbluefin/common system_files/shared — the same unit, timer and helper
every other image ships — so this image counts through exactly the same
bluefin-countme as the rest of the family and carries no countme code of its own.

os-image-info.bst declares the image identity the reporter reads. Every other
image writes /usr/share/ublue-os/image-info.json during its build; this one is a
DDI rather than an OCI image, so it has neither that file nor a 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.

The preset from common enables the timer, which this image already honours.

Requires the common ref to be re-tracked once the reporter lands on main.
@castrojo
castrojo merged commit 6602af0 into main Sep 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant