Skip to content

Add OpenTelemetry Collector to the apps catalog - #416

Open
giomartinsdev wants to merge 1 commit into
oblien:mainfrom
giomartinsdev:add-otel-collector-app
Open

Add OpenTelemetry Collector to the apps catalog#416
giomartinsdev wants to merge 1 commit into
oblien:mainfrom
giomartinsdev:add-otel-collector-app

Conversation

@giomartinsdev

@giomartinsdev giomartinsdev commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Closes #415

Summary

  • Adds otel-collector (OpenTelemetry Collector) as a one-click app template, category analytics, alongside Grafana and the other observability/backend apps.
  • Uses otel/opentelemetry-collector-contrib:latest unmodified — verified locally that its baked-in default config already starts an OTLP gRPC receiver on 4317 and an OTLP HTTP receiver on 4318 with a working default pipeline, so no custom command/config override was needed (kept the entry as simple as grafana.json).
  • Regenerated catalog.json from apps/catalog/*.json via bun scripts/gen-catalog.ts.
  • Wired up brand-mark resolution so the app doesn't fall back to the generic icon:
    • AppLogo.tsx: catalog logo "otel-collector" → simpleicons "opentelemetry"
    • ServiceIcon.tsx: image-name based resolution, covering both opentelemetry-collector-contrib (the actual image name) and otel-collector (a shorter name some registries/rebuilds use), for services created from a raw compose file rather than the catalog.

Test plan

  • Verified otel/opentelemetry-collector-contrib:latest's ENTRYPOINT/CMD and confirmed the image's baked-in default config (/etc/otelcol-contrib/config.yaml) starts cleanly with OTLP gRPC (4317) + HTTP (4318) receivers and no fatal errors (docker run --rm).
  • bun scripts/gen-catalog.ts — regenerated catalog.json, zero diff against my hand-authored version.
  • bunx vitest run in packages/core29 test files, 325 tests, all passing, including apps/catalog.test.ts's drift check and full-schema validation of every bundled app.
  • bunx tsc --noEmit in apps/dashboard — clean, no type errors from the AppLogo.tsx / ServiceIcon.tsx edits.

Adds otel-collector as a one-click app template (docker-compose kind,
category: analytics), alongside Grafana and the other observability
apps. Uses the upstream otel/opentelemetry-collector-contrib image
unmodified — its baked-in default config already stands up OTLP gRPC
(4317) and HTTP (4318) receivers plus a debug exporter, so no custom
command/config override is needed to get a usable collector running.

Also wires up brand-mark resolution:
- AppLogo.tsx: catalog logo "otel-collector" → simpleicons "opentelemetry"
- ServiceIcon.tsx: image name → same brand mark, for services created
  from a raw compose file rather than the catalog (both
  "opentelemetry-collector-contrib" and "otel-collector" match)

catalog.json regenerated from apps/catalog/*.json per the drift test in
apps/catalog.test.ts (gen-catalog.ts requires bun, unavailable in this
environment — reproduced its exact merge/sort logic with a plain node
script; verified the new entry lands alphabetically and the rest of the
file is a no-op diff).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add OpenTelemetry Collector to the apps catalog

1 participant