← Back to blog
Engineering note2026-08-05 09:45 UTC

Pressure-testing Ota on Grafana: bounded Go proof and a staged Compose slice

How Ota 1.6.25 models Grafana's Go package build and a narrow Compose observability dependency slice without claiming the repository's much broader CI, application, or release surface.

Overview

Grafana is a large mixed repository. Its upstream CI spans sharded backend and frontend tests, multiple databases, end-to-end paths, release builds, and a Tilt-owned development environment.

That makes it a useful pressure target precisely because a plausible-looking single verify command would be dishonest.

The Ota 1.6.25 contract owns two specific surfaces:

  • a Go package build path rooted at ./pkg/...;
  • a separately declared Compose dependency slice for PostgreSQL, Prometheus, Loki, and Tempo.

Everything else remains outside the claim.

The Contract

The backend proof is intentionally narrow. Ota hydrates Go modules, then runs the named package build rather than guessing at Grafana's full sharded test matrix:

GO BUILD SLICEyaml
tasks:  setup:    prepare:      kind: dependency_hydration      medium: package_dependencies      source:        kind: go_modules   build:backend:pkg:    command:      exe: go      args: [build, ./pkg/...]    depends_on: [setup] workflows:  proof:backend:pkg:    setup:      task: setup    run:      task: build:backend:pkg

The Go range is also honest about the claimed lane:

  • >=1.26.3 <1.27, not an artificial patch pin;
  • native and ephemeral-container modes for the package build;
  • no claim that this range proves every Grafana build or test path.

The named lane matters. build:backend:pkg says what it owns. A generic build or verify would blur frontend, release, and backend truth in a repository where those are different paths.

The Compose Boundary

The development workflow is equally bounded. Grafana's frontend-service environment uses more than the four observability dependencies in this contract, including application and proxy behavior owned by Tilt. Ota therefore models only the selected Compose services:

OBSERVABILITY DEPENDENCY SLICEyaml
tasks:  devenv:observability:up:    compose:      kind: up      services: [postgres, prometheus, loki, tempo]    effects:      network: true      network_kind: container_image_hydration

Ota captures the Compose adapter inputs, starts only that selection, inspects it with a separate safe status task, archives a receipt, and stops it again. This is not a claim that Grafana itself, its frontend, its proxy, or its Tilt orchestration became ready.

Released Install Truth

The pressure matrix consumes the Ota version declared in the contract:

RELEASED OTA BOOTSTRAPyaml
metadata:  ota:    minimum_version: "1.6.25" agent:  bootstrap:    ota:      source:        kind: version        version: v1.6.25

The GitHub workflow installs via ota-run/setup with source: contract, checks that the installed binary is exactly v1.6.25, and retains the version record, topology, receipts, and proof output for seven days on every result. The workflow actions themselves are pinned to immutable revisions.

What The Matrix Covers

The v1.6.25 requalification matrix covers:

  • contract validation, Doctor, task discovery, safe-task discovery, workflow discovery, and execution-topology export on Ubuntu, macOS, and Windows;
  • native task and workflow dry-runs across that matrix;
  • container task and workflow dry-runs on Ubuntu;
  • real native and ephemeral-container execution of the selected Go build on Ubuntu;
  • real start, safe status inspection, archived receipt, receipt diff, and stop for the selected observability Compose dependencies on Ubuntu.

The released-v1.6.25 requalification is green: Grafana matrix run 30965322618. All three legs recorded ota v1.6.25 at source commit a3e9f98f3. The Ubuntu evidence also retains the Compose receipt and its unchanged baseline comparison, including the selected image digests. That comparison is witness-only: it does not execute a replay or establish hermeticity.

What It Does Not Prove

This is selected-lane evidence, not a Grafana-wide readiness verdict. It does not prove:

  • Grafana's sharded backend unit, integration, frontend, E2E, or release workflows;
  • application readiness, user-visible dashboards, API correctness, or migration behavior;
  • the Tilt-managed frontend-service application, proxy, or lifecycle;
  • Docker Desktop behavior on macOS or Windows;
  • registry availability, external services, or host capacity beyond each selected execution.

The material uncovered behavior is therefore explicitly repo-owned or unproved, not silently absorbed into a green label.