prop/k8s
Graham McIntire c46e89a48f
fix(otel): switch Elixir exporter to OTLP/HTTP to avoid grpcbox shutdown noise
Every prop pod restart was dumping a pair of ArgumentError stack
traces from grpcbox_channel / grpcbox_subchannel terminate/3:

    :ets.select(:gproc, …)
    * 1st argument: the table identifier does not refer to an
      existing ETS table

This is a known grpcbox shutdown race: the OTLP/gRPC transport's
terminate callback tries to look itself up in gproc's ETS just
after gproc's supervisor has already torn the table down. Noisy,
not harmful — but one ArgumentError per restart × N pods adds up.

The OTLP/HTTP transport (port 4318 on the same otel-collector
Service) has no gproc/ETS channel machinery, so shutdown is
quiet. Spans are identical — our collector already accepts both.

- `config/runtime.exs`: default `otlp_protocol: :http_protobuf`,
  with an `OTEL_EXPORTER_OTLP_PROTOCOL=grpc` escape hatch.
- `k8s/deployment.yaml`: point `OTEL_EXPORTER_OTLP_ENDPOINT` at
  :4318 instead of :4317. The Rust workers stay on :4317 — their
  native opentelemetry-otlp transport doesn't share the grpcbox
  bug.
2026-04-21 17:54:44 -05:00
..
deployment-backfill.yaml chore: update prop image to git.mcintire.me/graham/prop:main-1776811628-04aa198 [skip ci] 2026-04-21 22:50:40 +00:00
deployment-grid-rs.yaml chore: update prop image to git.mcintire.me/graham/prop-grid-rs:main-1776811522-e688d8c [skip ci] 2026-04-21 22:49:38 +00:00
deployment-hrrr-point-rs.yaml chore: update prop image to git.mcintire.me/graham/prop-grid-rs:main-1776811522-e688d8c [skip ci] 2026-04-21 22:49:38 +00:00
deployment.yaml fix(otel): switch Elixir exporter to OTLP/HTTP to avoid grpcbox shutdown noise 2026-04-21 17:54:44 -05:00
flux.yaml feat(flux): add image-automation for prop-grid-rs 2026-04-19 16:24:33 -05:00
kustomization.yaml feat(hrrr-point-rs): Rust binary for per-QSO HRRR enrichment 2026-04-19 18:28:00 -05:00
metrics-service.yaml feat(k8s): NodePort service for external Prometheus scraping 2026-04-18 16:51:46 -05:00
namespace.yaml Add k8s manifests and Forgejo CI for cluster deployment 2026-04-06 09:25:24 -05:00
rbac.yaml Add Erlang clustering via libcluster and expose LiveDashboard 2026-04-06 09:46:48 -05:00
service.yaml fix(k8s): tier label isolates hot pods from backfill endpoints 2026-04-19 16:58:13 -05:00