Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .apm/skills/setup-local-stack/references/otel-lgtm-env.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Environment variables are the container's **only** configuration surface,
and `odd_stack_up` / `odd_stack_reset` (`env` parameter) are how they
reach it. This catalog is built from the pinned image's own tag —
**`grafana/otel-lgtm:0.33.0`** (its README and `docker/run-*.sh`
**`grafana/otel-lgtm:0.33.1`** (its README and `docker/run-*.sh`
scripts) — and must be re-validated on every pin bump; when the pin and
this file disagree, trust the tag.

Expand Down Expand Up @@ -117,6 +117,10 @@ what breaks it is changing `GF_SECURITY_ADMIN_USER` /

- `LGTM_SHUTDOWN_TIMEOUT_SECONDS` — grace period (default 5 s) before
still-running components are forcefully stopped on SIGTERM/SIGINT.
- `LGTM_READY_FILE` — path of the marker `run-all.sh` writes once every
component is up (default `/tmp/ready`); the image's own `HEALTHCHECK`
waits for it before probing the components. Nothing here reads it:
`odd_stack_up` judges readiness with its own probes.
- `OTEL_COLLECTOR_DEBUG_EXPORTER=true` — adds the collector's debug
exporter, printing received telemetry to the component logs (pair with
`ENABLE_LOGS_OTELCOL=true`).
2 changes: 1 addition & 1 deletion src/mcp-server/app/stack.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
# forwarding, OBI, GF_*) is cataloged in the setup-local-stack skill's
# otel-lgtm-env reference, built from this exact tag - re-validate it on
# every pin bump.
IMAGE = "grafana/otel-lgtm:0.33.0"
IMAGE = "grafana/otel-lgtm:0.33.1"
CONTAINER_NAME = "oddyssey-lgtm"

# Part of the embedded definition, not an option (issue #34): CLI coding
Expand Down
12 changes: 6 additions & 6 deletions tests/mcp-server/test_stack.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def test_run_args_build_the_pinned_container():

assert args[:2] == ["docker", "run"]
assert args[-1] == IMAGE
assert IMAGE == "grafana/otel-lgtm:0.33.0"
assert IMAGE == "grafana/otel-lgtm:0.33.1"
assert CONTAINER_NAME in args
for mapping in ("3000:3000", "4317:4317", "4318:4318", "4040:4040"):
assert mapping in args
Expand Down Expand Up @@ -176,7 +176,7 @@ def _raw_container(env=None, image_id="sha256:cafe", **identity):
"State": {"StartedAt": identity.get("started", "2026-08-29T08:12:04.5Z")},
"Image": image_id,
"Config": {
"Image": identity.get("image", "grafana/otel-lgtm:0.33.0"),
"Image": identity.get("image", "grafana/otel-lgtm:0.33.1"),
"Env": env if env is not None else ["PATH=/usr/bin"],
},
}
Expand Down Expand Up @@ -217,7 +217,7 @@ def handler(request: httpx.Request) -> httpx.Response:

status = stack_status(transport=httpx.MockTransport(handler))
assert status["running"] is True
assert status["image"] == "grafana/otel-lgtm:0.33.0"
assert status["image"] == "grafana/otel-lgtm:0.33.1"
assert status["created"] == "2026-08-29T08:12:03.1Z"
assert status["started"] == "2026-08-29T08:12:04.5Z"
assert status["env"] == {"GF_LOG_LEVEL": "debug"}
Expand Down Expand Up @@ -1783,7 +1783,7 @@ def fake_docker(*args, **kwargs):

monkeypatch.setattr(stack, "_docker", fake_docker)
status = stack_status(transport=httpx.MockTransport(lambda r: httpx.Response(200)))
assert status["image"] == "grafana/otel-lgtm:0.33.0"
assert status["image"] == "grafana/otel-lgtm:0.33.1"
assert status["created"] == "2026-09-16T08:00:00.0Z"
assert status["env"] == {"GF_LOG_LEVEL": "debug"}
assert calls == [("inspect", stack.CONTAINER_NAME, stack.IMAGE)]
Expand Down Expand Up @@ -1854,12 +1854,12 @@ def fake_docker(*args, **kwargs):
stdout=json.dumps(
[_raw_container(env=["PATH=/usr/bin", "GF_LOG_LEVEL=debug"])]
),
stderr="No such object: grafana/otel-lgtm:0.33.0",
stderr="No such object: grafana/otel-lgtm:0.33.1",
)

monkeypatch.setattr(stack, "_docker", fake_docker)
status = stack_status(transport=httpx.MockTransport(lambda r: httpx.Response(200)))
assert status["image"] == "grafana/otel-lgtm:0.33.0"
assert status["image"] == "grafana/otel-lgtm:0.33.1"
assert status["env"] == {"GF_LOG_LEVEL": "debug"}
assert [c[0] for c in calls] == ["inspect", "image"]

Expand Down