Grafana v13.3.1-CE-ubuntu24.04-r1 build trail
How ReadyStack built readystack/grafana:v13.3.1-CE-ubuntu24.04-r1 and its build kit, copied record by record: why the release exists, every chain, drive and stage it went through, the model work, the review rounds, the defects, the checks that verified it and when it was published. Each line names the record it comes from in brackets; a record that does not exist for this release says so.
This trail
As JSON- Image
readystack/grafana:v13.3.1-CE-ubuntu24.04-r1 - Index digestsha256:f89ea6751c027a179372d71455e8e61683d93c48f60dcee8da9e33657a8d238d
- linux/amd64 digestsha256:55218b18c26c5bf5fe9f17298e0ea2641e8ed47188bd7edd04dc022752f7c299
- Archive
ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.tar.gz - Archive SHA-256 now17ca288704be29ad1547ada426158108d764725421c7b72e160c1e7b8439f3aa
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-11T05:16:39Z by KitForge release/build_trail.py
- Sections9 sections, 8 fully recorded; 1 item not recorded
Signed with the release key The trail's signature is a Sigstore bundle beside it. Check it is ours before you rely on it:
cosign verify-blob --key https://readystack.dev/keys/cosign.pub \ --bundle ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.trail.json.sigstore ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- ProductGrafana (grafana) [MANIFEST.json]
- Release tagv13.3.1-CE-ubuntu24.04-r1 [MANIFEST.json]
- Imagereadystack/grafana:v13.3.1-CE-ubuntu24.04-r1 [MANIFEST.json]
- Image index digestsha256:f89ea6751c027a179372d71455e8e61683d93c48f60dcee8da9e33657a8d238d [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:55218b18c26c5bf5fe9f17298e0ea2641e8ed47188bd7edd04dc022752f7c299 [ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.tar.gz (bytes 803412566) [MANIFEST.json]
- Archive sha256 at publish1247cef53a13bba14f288f4bf08b79e116f4461e6d37b0babe9f85f2fd4d4220 [MANIFEST.json, tarball_sha256]
- Archive records agreeyes [MANIFEST.json, PUBLISH_MANIFEST.json and .cutover.json name the same sha256]
- Repack historynone: the archive is as first published [MANIFEST.json, repack_history]
- Upstream repositoryhttps://github.com/grafana/grafana [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream refv13.3.1 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commit5db6ba887630c7fa12e5bfd063f2fa854025468c [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hashebc4917037d7fdc9a713db1a8912b58cad8403cc0c9eafc8a81ad3366640c602 (files 24130) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:f8d64cb418623e9fe76abaa55bbe3b691597b20b2c9f7ece753dc950423f6562 [ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1794360144 (utc 2026-11-11T01:22:24Z) [ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.rebuild.json, inputs.source_date_epoch]
- Base images
- ref golang:1.27.4-bookworm@sha256:4fa7c968ba93f1635670522dbb01a2c78150443e1385746924566079f36570ea · platform digest sha256:fb7cceb528b47141eccd9b60bf3cbd27d5ef5f8cf5b7d338bec866da495b50dc
- ref ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 · platform digest sha256:78d4744ead1f5b19b04d0df558ab182a5300903900755e515b2ca4d10eb2044d
- BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.rebuild.json, engine]
- Engine commit(s)
- commit e06c8c0d4f40771692abda70ebb80df73b0cbb40 · dirty yes · first drive 4237
- commit 5401036e08c50784f0c84c9b03e433e6440f097d · dirty yes · first drive 4247
- commit 620d8889fece1a9434ea5c2489f45fdd40dc2b3d · dirty yes · first drive 4254
- commit c1f462e723936ba7c87d1207ab85ed8f71bbd4d9 · dirty yes · first drive 4260
Why this release exists
Fully recorded- Chain960 (created 2026-11-11T01:23:40Z · trigger customer_request · upstream version v13.3.1) [chains, chains #960]
- Requestbuild request #640 (rebuild) (requested at 2026-11-11T01:22:31Z · requested by kitforge-agent · version v13.3.1) [build_requests, build_requests #640]
- Reasonretarget to v13.3.1: a newer upstream release (rule 1) [build_requests, build_requests #640 request_reason]
- Supersedesreadystack/grafana:v13.3.0-CE-ubuntu24.04-r4 (chain 952) [chains, chains #952]
The path through the harness
Fully recorded1 chain · 4 drives · 18 stages · 2 rewinds
Chain 960 release · ready_to_ship
Created 2026-11-11T01:23:40Z, upstream v13.3.1, build request 640 [chains, chains #960]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 4237 | 2026-11-11T01:24:22Z | 90.5 | build host 1 withhold-publish | stage_failed at package_archive; first failed check exists:checksums; 18 ticks [drive_runs, drive_runs #4237] |
| 4247 | 2026-11-11T03:22:04Z | 20.9 | build host 1 withhold-publish | ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #4247] |
| 4254 | 2026-11-11T04:27:58Z | 10.2 | build host 1 withhold-publish | ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #4254] |
| 4260 | 2026-11-11T05:05:18Z | — | build host 1 publish-held | not recorded [drive_runs, drive_runs #4260] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-11T01:24:32Z | 2026-11-11T01:24:33Z | 1 | 4
|
order_json 609e505fad96… |
acquire |
2026-11-11T01:24:45Z | 2026-11-11T01:24:47Z | 1 | 12
|
source_tree 87f01f9eadd7…license_file 0d96a4ff68ad…custody_inputs b999796cb4d6…source_tree_hash abf886057014…source_file_manifest 3149abc135df… |
plan |
2026-11-11T01:25:28Z | 2026-11-11T01:25:29Z | 1 | 10
|
recon_report 95a982ca85c9…input_pin_plan b2acea7fa7f8…toolchain_lock cd337fe25ddb… |
assemble_kit |
2026-11-11T01:41:45Z | 2026-11-11T01:41:46Z | 1 | 27
|
dockerfile 6ba316be5861…build_recipe 52f018a75587…system_pinning aa8db05a9a8a…build_offline_sh 6633aa31b6b4…generate_sbom_sh ce0f1e6f1e70…first_boot_health fcdba07110c6…verify_offline_sh 3e8184ea230c…base_image_digests 3a366daa0a8d…dockerfile_offline 6ba316be5861…first_build_digest e43db8b6f449… |
remediate |
2026-11-11T01:42:20Z | 2026-11-11T01:42:21Z | 1 | 8
|
vendored_apt e3b0c44298fc…remediation_log 8c2ee8344931…security_report 83f23836929c… |
build_kit |
2026-11-11T02:01:30Z | 2026-11-11T02:01:31Z | 1 | 9
|
cosign_stamp c6db50769ea8…locked_digest 2519ee0d60ff…freeze_manifest 49eced108e3c…offline_rebuild_transcript 2ba2a2d947f2… |
verdict |
2026-11-11T02:03:07Z | 2026-11-11T02:03:08Z | 1 | 8
|
scout_verdict 98885c848c28… |
publish_image |
2026-11-11T02:04:01Z | 2026-11-11T02:04:01Z | 1 | 7
|
hub_readme 36b8c9814dec…promotion_record 0883eea08718… |
boot_instance |
2026-11-11T02:04:19Z | 2026-11-11T02:04:22Z | 2 | 3
|
instance_handle 018731a4e573… |
sbom |
2026-11-11T02:05:40Z | 2026-11-11T02:05:41Z | 1 | 5
|
sbom_md 648372e70918…sbom_json aedf6324bd02… |
schema_discovery |
2026-11-11T02:05:44Z | 2026-11-11T02:05:45Z | 1 | 7
|
schema_hash 68355563d2ba…dependency_tree 6183c9fa04c2…table_classification 11dd9c3348e7… |
admin_handbook |
2026-11-11T02:16:51Z | 2026-11-11T02:16:51Z | 1 | 7
|
api_map 760c9f552989…admin_handbook c06e49e1e065… |
db_handbook |
2026-11-11T02:30:14Z | 2026-11-11T02:30:14Z | 1 | 8
|
db_handbook f484e048d4e6…seed_isolation 93b95dd1eab9… |
seed_data |
2026-11-11T02:30:35Z | 2026-11-11T02:30:36Z | 1 | 6
|
seed_data_sql 1ed9a8290a0b…seed_cases_json d90829fcf8ed… |
seed_validate |
2026-11-11T02:30:39Z | 2026-11-11T02:30:40Z | 1 | 3
|
seed_data_contract f90753aa8e42… |
usecase_validate |
2026-11-11T02:31:28Z | 2026-11-11T02:31:29Z | 1 | 10
|
failed_tests 05517dad6f1f…passed_tests 7ee4a3cc5bcf…test_results 09def00ab506…usecase_contract e637e3ae6fd4… |
finalize_docs |
2026-11-11T02:46:11Z | 2026-11-11T02:46:11Z | 1 | 9
|
defects_json befd8968d996…release_notes 0359874705cb…api_integration_guide ea1428495776… |
package_archive invalidated 2026-11-11T05:04:44Z |
2026-11-11T02:54:49Z | 2026-11-11T04:38:07Z | 3 | 35 (final gate PASS)
|
sale_tar 03b7645a98af…checksums e6764562607e…verify_md 97ef3e3187ee…rebuild_md 76a42730f76d…manifest_txt b8ae968ba4ad…actions_jsonl 1cf351ca68ed…provenance_md 14e5cc806eb1…assetchain_log_md e9eccaec0c0f…assetchain_log_json 1d2df3c0e0cb… |
[stage_runs]
Rewinds
- 2026-11-11T04:26:40Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #31150] - 2026-11-11T05:04:44Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #31218]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-11T04:38:07Z.
225 calls over 6 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 11558 | L-A183, L-A15 |
remediate | 2 | 0 | 0 | 1 | 0 | 11502 | L-A183, L-A15 |
admin_handbook | 67 | 32 | 0 | 3 | 9 | 542826 | L-A180, L-A181, L-A182, L-A183, L-A184, L-A155, L-A114, L-A25, L-A15, L-A14 |
db_handbook | 71 | 30 | 0 | 3 | 5 | 530499 | L-A180, L-A181, L-A182, L-A183, L-A184, L-A114, L-A15 |
usecase_validate | 3 | 0 | 0 | 1 | 0 | 7358 | L-A59 |
finalize_docs | 80 | 32 | 0 | 3 | 7 | 639092 | L-A180, L-A181, L-A182, L-A183, L-A184, L-A155, L-A114, L-A25, L-A15 |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
2 rounds, 2 counted, $5.45 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-11T03:43:49Z | 0 | 14 | 29 | findings to repackage [held_rounds, held_rounds #1731] | $3.15 | 3 rounds, $40.00 | 80989ce5f331… |
| 2 | 2026-11-11T04:38:36Z | 0 | 0 | 10 | clean to publish [held_rounds, held_rounds #1733] | $2.30 | 3 rounds, $40.00 | 03b7645a98af… |
Defects
Fully recorded- Ledger entries54 [defects, defects where product_slug=grafana and this tag or chain]
- Disclosed in the archive54 [docs/defects/defects.json, entries]
54 ledger entries: by severity low 40, high 14; by status open 3, fixed-before-release 51.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-grafana-cdb06d1eb1When the first start generated the admin password, the entrypoint puts it in Grafana's process environment on every start [defects, defects #242080] | low | open | runtime check | — |
RSD-grafana-e597e08f80Admin handbook: Live: curl /api/health on the held digest -> {"database":"ok","version":"13.3.1"}; the Operating facts of the same handbook say 13.3.1 (:255). [defects, defects #244779] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-9131caf595Admin handbook: The code block after this sentence is `docker exec grafana grafana cli --homepath /usr/share/grafana admin reset-admin-password 'NEW_PASSWORD'`. [defects, defects #244780] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-df949fe38eAdmin handbook: Live: GET /api/org, /api/search, /api/user, /api/frontend/settings, /api/orgs without credentials -> 401; /metrics -> 200. [defects, defects #244781] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-9dbfb8e9afAdmin handbook: VERIFY_OFFLINE.sh:65-66 loads rebuilt.docker.tar and keeps only the sha256 image ID; nothing is tagged and BUILD_OFFLINE.sh prints no run name. [defects, defects #244782] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-4b67723fbfAdmin handbook: Live: an Admin-role service-account Bearer token POSTed /api/serviceaccounts and the account was created; API_INTEGRATION_GUIDE.md says Admin-role tokens can call these endpoints (Complete API… [defects, defects #244783] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-320d7fa201Admin handbook: Live: docker run -v <host-owned dir>:/var/lib/grafana with no password -> 'readystack-entrypoint.sh: 21: cannot create /var/lib/grafana/initial_admin_password: Permission denied', exit 2; with -e… [defects, defects #244784] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-80a00cb98fDatabase handbook: Live: after 6 wrong logins the right password -> 401 'Invalid username or password'; after `grafana cli ... [defects, defects #244785] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-84b0a9764bDatabase handbook: Live: GET /metrics -> Content-Type: text/plain; version=0.0.4; only with Accept: application/openmetrics-text -> application/openmetrics-text. [defects, defects #244786] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-19e707a567Database handbook: `docker restart` does not re-read --env-file (a container's environment is fixed when it is created); the same handbook's First-start cleanup says remove and recreate. [defects, defects #244787] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-129211439bDatabase handbook: Live: docker exec <c> cat /proc/1/environ | tr '\0' '\n' shows GF_SECURITY_ADMIN_PASSWORD for a generated password (readystack-entrypoint.sh exports it); the Operating facts say so and the carried… [defects, defects #244788] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-7040f805d3Database handbook: VERIFY_OFFLINE.sh:65-66 keeps the sha256 image ID only and never runs `docker tag`; the block after this sentence runs `readystack/grafana:v13.3.1-CE-ubuntu24.04-r1`, which is the published image,… [defects, defects #244789] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-86f472dcc3Database handbook: BUILD_OFFLINE.sh:122-123 prints REBUILT_DIGEST=<image-manifest digest> (sha256:55218b18..., = TARGET_DIGEST.txt). [defects, defects #244790] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-2973a1b278Database handbook: Live: a Viewer-role service-account Bearer token -> GET /api/user, /api/org, /api/datasources, /api/search all 200. [defects, defects #244791] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-df53554c9aDatabase handbook: The same handbook (Web Frontend, first part) says 'The login form posts JSON to the `/login` endpoint' and its endpoint table lists `POST /login` 'Authenticate with JSON body'. [defects, defects #244792] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-82c9288c68Database handbook: Live: curl -u sa-1-adm:<token> /api/org -> 401; the same handbook says service-account tokens go in a Bearer header. [defects, defects #244793] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-2e57d397a1Database handbook: BUILD_OFFLINE.sh:81,90,98 build with `--network=none`; the sentence says the opposite of the section's last paragraph. [defects, defects #244794] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-587e3f8d19Database handbook: docs/REBUILD.md:7 records only the 23.5 GB reproduction host and that less memory may fail; no record gives an 8 GB memory requirement (the admin handbook uses 8 GB for disk space). [defects, defects #244795] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-162ec41e44API guide: Live: a file made by the host user with mode 600, mounted :ro at /run/secrets/admin_password with GF_SECURITY_ADMIN_PASSWORD__FILE set -> the container exits at start: 'grafana:… [defects, defects #244796] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-a612ebc94bAPI guide: Live: with GF_SECURITY_ADMIN_PASSWORD__FILE set, docker exec <c> cat /proc/1/environ contains GF_SECURITY_ADMIN_PASSWORD (readystack-entrypoint.sh:12-13 exports it before exec). [defects, defects #244797] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-040edf1fcbAPI guide: Live: /proc/1/environ of a container started with GF_SECURITY_ADMIN_PASSWORD__FILE contains GF_SECURITY_ADMIN_PASSWORD. [defects, defects #244798] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-8acabd4985API guide: Live: Admin-role service-account Bearer token -> GET /api/admin/stats 403, GET /api/orgs 403, GET /api/users/lookup 403, PUT /api/admin/users/2/password 403 ('Permissions needed:… [defects, defects #244799] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-7acfd3b101API guide: Live: Admin-role token -> /api/admin/stats 403, /api/orgs 403, /api/users/lookup 403, PUT /api/admin/users/2/password 403, PUT /api/user/password 304. [defects, defects #244800] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-b7eacce897API guide: Live: Admin-role token PUT /api/admin/users/2/password -> 403 'Permissions needed: users.password:write'. [defects, defects #244801] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-076b88cfbbAPI guide: Live: Admin-role service-account token -> PUT /api/admin/users/2/password -> 403 {"message":"You'll need additional permissions to perform this action. [defects, defects #244802] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-29e4255bf9API guide: Live: Admin-role service-account token -> 403 on PUT /api/admin/users/<id>/password. [defects, defects #244803] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-cf391141a3API guide: Live: POST /api/user/password/send-reset-email with {"email":"(address withheld)"} and {"email":"admin@localhost"} -> 400 {"message":"bad request data"}; with {"userOrEmail":"admin"} -> 500 'Failed to… [defects, defects #244804] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-760eec4bbeAPI guide: Live: unknown user -> 200 {"message":"Email sent"}; existing user without SMTP -> 500 {"message":"Failed to send email"}. [defects, defects #244805] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-2cf2fa58b3API guide: Live: 200 vs 500 as above; the next sentence of the same paragraph states the two codes. [defects, defects #244806] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-130bb170caAPI guide: Live: PUT /api/user/password with {"password":"zzzzzz"} -> 400 {"messageId":"user.password-missmatch","message":"Invalid old password"} and no change; the working body is the one in the Operating… [defects, defects #244807] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-76d03b01cdAPI guide: `docker restart` does not re-read --env-file, so the new GF_METRICS_BASIC_AUTH_* values never reach the container and /metrics stays open to anyone while the customer believes it is protected. [defects, defects #244808] | high | fixed-before-release | held review (review model) | — |
RSD-grafana-2aec7dc262API guide: Live: POST /api/user/password/send-reset-email without credentials -> 200/500, not 401. [defects, defects #244809] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-37d32adb9cAPI guide: The list that follows includes /metrics (internal state, readable by anyone) and the send-reset-email endpoint, which reveals whether an account exists (200 vs 500); the same section tells the… [defects, defects #244810] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-9d83b8bec0API guide: Live: curl /api/orgs without credentials -> 401; the same section says 'Unauthenticated requests receive a 401 response'. [defects, defects #244811] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-2dcce94c0eAPI guide: It sits under 'Besides `/metrics`, the following endpoints and resources are accessible without credentials', yet the line itself says it needs administrator credentials; live: unauthenticated… [defects, defects #244812] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-da89235442API guide: The same page lists POST /api/user/password/send-reset-email as answering without credentials; live: it answers 200/500 with no credentials. [defects, defects #244813] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-5144b534f6API guide: Live: 6 wrong logins for admin, then a separate curl (new connection, no cookie) with the right password -> 401 'Invalid username or password'. [defects, defects #244814] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-e9c80d0c04API guide: Contradicts the same guide's previous section ('plugins are downloaded into /var/lib/grafana/plugins regardless of which database backend is configured') and DB_HANDBOOK 'External Database… [defects, defects #244815] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-3dd4c04d1aAPI guide: Live: GET /metrics -> Content-Type: text/plain; version=0.0.4; with Accept: application/openmetrics-text -> application/openmetrics-text. [defects, defects #244816] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-7e15f2383cAPI guide: Live: Admin-role service-account Bearer token PUT /api/user/password -> 304; the same guide says 304 under Permissions and Limitations. [defects, defects #244817] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-6637ee6704API guide: Live: host-owned bind mount without a password -> 'cannot create /var/lib/grafana/initial_admin_password: Permission denied' (exit 2); with GF_SECURITY_ADMIN_PASSWORD -> the SQLite message (exit 1). [defects, defects #244818] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-4701cc919dRelease notes: Live: GET /api/dashboards/home with admin credentials on a fresh volume -> 404 {"message":"No custom home dashboard configured"}; the API guide documents 404 as the default. [defects, defects #244819] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-2415462bfaVERIFY.md: IMAGE_EVIDENCE.json attestations.predicate_types lists only https://slsa.dev/provenance/v1 and https://spdx.dev/Document; PROMOTION_RECORD.json records signing of the index and the manifest and… [defects, defects #244820] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-3ca0d7030fDocker Hub README: bundle/MANIFEST.json: "free_release": false, "chain_price_cents": 1000, files.buildkit.price_cents 1000; the README says 'free' here and 'free with an account' in its links block. [defects, defects #244821] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-ff05676036Admin handbook: VERIFY_OFFLINE.sh:21-33 reads the digest from rebuilt.oci.tar's index.json and compares it (line 37-49) before docker load (line 65); the loaded image's ID is sha256:b08ee2124bd7... [defects, defects #245659] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-61fc6644f0Admin handbook: BUILD_OFFLINE.sh:68-70 says '--network=none only isolates RUN steps, so without these remaps BuildKit would still resolve each base from a registry'; the next paragraph (:1196) and the continued… [defects, defects #245660] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-ba232fde6aAdmin handbook: Live: docker exec on the held digest after first start: /var/lib/grafana/plugins holds 19 plugin directories (cloudwatch, elasticsearch, loki, prometheus, ...); the handbook itself says so at… [defects, defects #245661] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-d2f0e28a22Admin handbook: Live: the block as written (no -i/-t) returns immediately with exit 0 and no output (docker run --rm --entrypoint /bin/sh -v <vol>:/var/lib/grafana <held digest> -> rc=0, nothing printed); /bin/sh… [defects, defects #245662] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-83afa2f693Database handbook: Dockerfile.offline.pinned: 'COPY --from=build_grafana /src/conf /rootfs/usr/share/grafana/conf' (conf/ is Grafana's own configuration directory) and 'ADD vendored/chisel/rootfs.tar';… [defects, defects #245663] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-1faf4db430API guide: Live on the held digest: curl http://127.0.0.1:<port>/api/admin/stats without credentials -> 401 (also /api/orgs, /api/users/lookup -> 401); Admin-role service-account Bearer token -> 403. [defects, defects #245664] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-1e829b3ea4API guide: The list that follows includes GET /api/org, /api/datasources, /api/search, /api/user, /api/frontend/settings and POST/DELETE /api/serviceaccounts*. [defects, defects #245665] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-7c518dc3c8API guide: Live: unauthenticated GET / -> 302 to /login (200 at /login); the same section lists 'GET /' as Unauthenticated at :2369 and under 'Endpoints that do not require credentials' elsewhere. [defects, defects #245666] | low | fixed-before-release | held review (review model) | — |
RSD-grafana-a4027ef89dVERIFY.md: Still open from round 1 (RSD-grafana-2415462bfa; the Known issues line is disclosure, the sentence is unchanged). [defects, defects #245667] | low | open | held review (review model) | — |
RSD-grafana-1fcac354f6Docker Hub README: Still open from round 1 (RSD-grafana-3ca0d7030f). [defects, defects #245668] | low | open | held review (review model) | — |
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:55218b18c26c5bf5fe9f17298e0ea2641e8ed47188bd7edd04dc022752f7c299 · published digest sha256:55218b18c26c5bf5fe9f17298e0ea2641e8ed47188bd7edd04dc022752f7c299 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 511) [docs/provenance/REPRO_VERIFICATION.json, verified]
- Final contract gate (G8)PASS (checks artifact_coverage, assetchain_coverage, cosign, cpu_baseline, offline_rebuild, rebuild_manifest, scan_grade, scout_grade_a, script_copies, tag_base_os, thread_exit, trademark_shipped, vex_shipped) [g8_result.json, result]
- Grade at releaseA (percent 94 · tool docker scout policy 1.26.0 · config docker-default · org vex no · at 2026-11-11T05:05:59Z · failing Docker Scout counts 12 packages with copyleft licences (GPL, LGPL, MPL), all of them operating-system packages (it counts only packages whose licence it can read; the SBOM lists every component).) [SCOUT_EVIDENCE.json, docker_scout_policy]
- Image signatureverified on the index and the linux/amd64 manifest (key fingerprint 04daa92344a52dbc · at 2026-11-11T05:05:31Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3799541590 · transparency-log entry
- log index 3799543195 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3802868845 · transparency-log entry · integrated 2026-11-11T05:14:57Z) [ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:f89ea6751c027a179372d71455e8e61683d93c48f60dcee8da9e33657a8d238d · state attached · log index 3802878295 · transparency-log entry
- kind sbom · digest sha256:f89ea6751c027a179372d71455e8e61683d93c48f60dcee8da9e33657a8d238d · state attached · log index 3802880519 · transparency-log entry
- kind vsa · digest sha256:f89ea6751c027a179372d71455e8e61683d93c48f60dcee8da9e33657a8d238d · state attached · log index 3802883244 · transparency-log entry
- kind provenance · digest sha256:55218b18c26c5bf5fe9f17298e0ea2641e8ed47188bd7edd04dc022752f7c299 · state attached · log index 3802885618 · transparency-log entry
- kind sbom · digest sha256:55218b18c26c5bf5fe9f17298e0ea2641e8ed47188bd7edd04dc022752f7c299 · state attached · log index 3802887815 · transparency-log entry
- kind vsa · digest sha256:55218b18c26c5bf5fe9f17298e0ea2641e8ed47188bd7edd04dc022752f7c299 · state attached · log index 3802890287 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/grafana/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-11T03:43:56Z on build host 5 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:55218b18c26c5bf5fe9f17298e0ea2641e8ed47188bd7edd04dc022752f7c299 [clean-room rebuild ledger, runs[741]]
- Not recorded: the policy tool's --result-file itself (its per-policy results are copied into SCOUT_EVIDENCE.json and the archive's IMAGE_EVIDENCE.json; the file is not kept)
Publication
Fully recorded 1 pending at generation- Image pushed (internal tag), publish_image passed2026-11-11T02:04:01Z [stage_runs, stage_runs chain 960 stage publish_image]
- Archive manifests written2026-11-11T05:10:30Z [PUBLISH_MANIFEST.json, published_at]
- Pending at generation: the archive cut-over on prodasset, the release tag's promotion and the site event (this trail was generated after G8 and before them; they are appended as a 'publication' event in History)
Packages and CPU level
Fully recorded- x86-64 level the image needsv1 (used v4 · baseline v2 · elf files 69 · probed 2026-11-11T01:52:43Z · source build_kit) [release_images, isa_level_hard]
History
3 events- 2026-11-11T05:16:39Z generated: by KitForge release/build_trail.py · generator commit c1f462e723936ba7c87d1207ab85ed8f71bbd4d9
- 2026-11-11T05:18:41Z publication: promoted at 2026-11-11T05:17:14Z · promoted digest sha256:f89ea6751c027a179372d71455e8e61683d93c48f60dcee8da9e33657a8d238d · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 464 · checklist status complete · checklist at 2026-11-11T05:18:41Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json
- 2026-11-12T00:48:42Z repack: previous sha256 1247cef53a13bba14f288f4bf08b79e116f4461e6d37b0babe9f85f2fd4d4220 · sha256 17ca288704be29ad1547ada426158108d764725421c7b72e160c1e7b8439f3aa · reason customer kit files brought up to the current engine: BUILD_OFFLINE.sh (kit root, docs/offline, docs/docker); README.md and FILE_MODES.tsv at the archive root (release/kit_unpack.py), BUILD_OFFLINE.sh putting back the packed file modes, REBUILD.md unpacking with -p and keeping the key and signature outside the kit, and the verifier naming what differs; not image inputs; image and every build input unchanged · label kitfix · replaced BUILD_OFFLINE.sh, docs/REBUILD.md, docs/docker/BUILD_OFFLINE.sh, docs/offline/BUILD_OFFLINE.sh, docs/rebuild-bundle/rebuild_bundle.py · added FILE_MODES.tsv, README.md · record MANIFEST.json repack_history
Records
25 records| Record | Where it is | Rows |
|---|---|---|
docs/defects/defects.json | inside the archive (ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/grafana/v13.3.1-CE-ubuntu24.04-r1/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/grafana/v13.3.1-CE-ubuntu24.04-r1/), as staged for publishing | — |
ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.rebuild.json | beside the archive (prodasset /data/production/grafana/v13.3.1-CE-ubuntu24.04-r1/), as staged for publishing | — |
ReadyStack-grafana-v13.3.1-CE-ubuntu24.04-r1.rebuild.json.sigstore | beside the archive (prodasset /data/production/grafana/v13.3.1-CE-ubuntu24.04-r1/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/grafana/v13.3.1-CE-ubuntu24.04-r1/), as staged for publishing | — |
clean-room rebuild ledger | the clean-room rebuild ledger (runstate/audit-2026-09/bit4bit.json, not published) | — |
build_requests | sadb, ReadyStack's engine database (not published) | 640 |
chains | sadb, ReadyStack's engine database (not published) | 960 |
defects | sadb, ReadyStack's engine database (not published) | grafana v13.3.1-CE-ubuntu24.04-r1 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 960 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 960 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 960 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 960 |
release_images | sadb, ReadyStack's engine database (not published) | grafana v13.3.1-CE-ubuntu24.04-r1 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 960 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 960 |
attestations.json | the chain's workspace on the controller (not published) | — |
deliverables/provenance/PROMOTION_RECORD.json | the chain's workspace on the controller (not published) | — |
g8_result.json | the chain's workspace on the controller (not published) | — |