metadata.yaml declared clickhousesystemtablesreceiver and o11yclickhousemeter while the factories register datastoresystemtablesreceiver and o11ydatastoremeter. The receiver's testdata was keyed on the old name, so TestLoadConfig could not find its config and failed on empty dsn. o11ydatastoremeter's second expectation still read go.o11y.io where the exporter emits go.o11y.hanzo.ai; the first had been updated. READMEs, the migrator DSN and the testdata hosts follow. NOTICE keeps the upstream attribution.
1.9 KiB
Hanzo O11y Otel Collector
The Hanzo distribution of the OpenTelemetry Collector. Ingests traces / metrics /
logs over ZAP-native (zap-proto/http, :4319) plus OTLP (:4317/:4318)
and writes to the one hanzoai/datastore (Datastore). Adds receiver/zapreceiver
exporter/zapexporterover upstream.
CI/CD — canonical pattern (one and only one way)
Build/test/deploy is driven by a single root hanzo.yml + a ~7-line
.github/workflows/cicd.yml that imports the reusable
hanzoai/ci workflow:
# .github/workflows/cicd.yml
jobs:
cicd:
uses: hanzoai/ci/.github/workflows/build.yml@main
secrets: inherit
All build/test/deploy logic lives once in hanzoai/ci. It reads hanzo.yml
(images: / test: / deploy: / kms:), builds + pushes each image, runs the
tests, and rolls the deployment. The build runs on our self-hosted arc pool
(hanzo-build-linux-amd64) — zero GitHub-hosted minutes; GitHub only
orchestrates, our infra does the work. GHCR push uses the automatic workflow
token; KMS (kms.hanzo.ai) supplies only the deploy KUBECONFIG.
This repo builds two images from self-building multi-stage Dockerfiles (so no CI pre-build step is needed):
| image | dockerfile | tags |
|---|---|---|
ghcr.io/hanzoai/otel-collector |
cmd/o11yotelcollector/Dockerfile.selfbuild |
:zap-native-latest, :sha-<short>-amd64-zap-native |
ghcr.io/hanzoai/o11y-schema-migrator |
cmd/o11yschemamigrator/Dockerfile.selfbuild |
:latest, :sha-<short>-amd64 |
This is the going-forward pattern for all native-PaaS repos. To onboard a new
repo: add a root hanzo.yml and the cicd.yml above — nothing else. Do not add
per-repo build logic, GitHub-hosted runners, or the legacy hanzoai/.github
docker-build.yml / o11y/primus.workflows reusables (both removed here).