mirror of
https://github.com/hanzoai/o11y.git
synced 2026-10-15 12:58:33 +00:00
The Go plane is already debranded — telemetrystore.Config.Datastore with the
mapstructure:"datastore" tag, MustNewName("datastore"), the accessor
TelemetryStore.Datastore(), and the hanzo-ds/* driver and mock modules. The
prose had not followed, and several statements had gone stale enough to be
wrong:
- LLM.md claimed the provider selector "stays clickhouse" and that
MustNewName("clickhouse") was registered; both are datastore now.
- LLM.md referenced telemetrystore.Config.Clickhouse and
TelemetryStore.ClickhouseDB(), neither of which exists.
- LLM.md's dependency table pinned hanzoai/clickhouse-go-mock v0.14.1; go.mod
requires github.com/hanzo-ds/mock v0.14.4.
- Test comments referenced the "ClickHouse tab"; the query editor enum is
EQueryType.DATASTORE = 'datastore_sql'.
- Test comments referenced the o11yclickhousemetrics exporter; the collector
fork ships o11ydatastoremetrics.
Left alone, with the reasons recorded in LLM.md: the builtin-integration id
"clickhouse", which identifies the third-party deployments users point o11y at
and keys the 088_migrate_ii_dashboards dashboards; CLICKHOUSE_SKIP_USER_SETUP,
which the pinned server image's own entrypoint reads; the upstream column of
the fork-provenance table; and the integration test fixtures, which run against
the upstream clickhouse/clickhouse-server testcontainer.
Co-authored-by: Hanzo Dev <[email protected]>
36 lines
1.3 KiB
Docker
36 lines
1.3 KiB
Docker
# HTTP seeder for Playwright e2e tests. Wraps the direct-datastore-insert
|
|
# helpers in tests/fixtures/{traces,logs,metrics}.py so a browser test can
|
|
# seed telemetry with fine-grained control.
|
|
#
|
|
# Build context is tests/ (this file sits at its root) so `fixtures/` is
|
|
# importable inside the image alongside `seeder/`.
|
|
|
|
FROM python:3.13-slim
|
|
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends gcc libpq-dev python3-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install project dependencies from the pytest project's pyproject.toml +
|
|
# uv.lock so the seeder container's Python env matches local dev exactly
|
|
# (single source of truth for versions; no parallel requirements.txt).
|
|
# --no-install-project skips building the o11y-tests project itself
|
|
# (there is no buildable package here — pyproject is used purely for dep
|
|
# management alongside pythonpath = ["."]).
|
|
COPY pyproject.toml uv.lock /app/
|
|
RUN uv sync --frozen --no-install-project --no-dev
|
|
ENV PATH="/app/.venv/bin:$PATH"
|
|
|
|
# Ship the whole fixtures/ package so server.py can `from fixtures.traces
|
|
# import ...` with the same module path the pytest side uses.
|
|
COPY fixtures /app/fixtures
|
|
COPY seeder /app/seeder
|
|
|
|
EXPOSE 8080
|
|
|
|
CMD ["uvicorn", "seeder.server:app", "--host", "0.0.0.0", "--port", "8080"]
|