Hive
fix(kura): improve extension routing and observability
GitHub issue · Closed
Source
tuist/tuist #11066
Updated
Jun 24, 2026
Domains
Kura
Resolves N/A
This PR improves Kura extension reliability and observability when managed eu-central instances call back to the Tuist server.
- Injects
TUIST_KURA_TUIST_BASE_URLfrom the Helm release context so managed eu-central Kura instances use the in-cluster Tuist service URL for production, canary, and staging instead of the public application URL. - Reads that URL through the region provisioner config, keeping the Kubernetes controller generic and avoiding hardcoded environment-to-namespace branching.
- Adds bounded-cardinality metrics for extension HTTP client calls, including normalized client, route, result, status class, and error kind labels.
- Retries transient extension HTTP transport failures once and includes richer reqwest error classification in hook failures.
How to test locally
mise exec -- cargo fmt --checkmise exec -- cargo test retries_introspection_transport_failures_once -- --nocapturemise exec -- cargo test authorizes_from_local_jwt_cache_grants_without_introspection -- --nocapturemise exec -- cargo test falls_back_to_introspection_when_jwt_cache_grants_do_not_cover_requested_project -- --nocapturemise exec -- cargo test metrics -- --nocapturemise exec -- cargo clippy --all-targets -- -D warningsmix format server/lib/tuist/environment.ex server/lib/tuist/kura/regions.ex server/lib/tuist/kura/provisioner/kubernetes_controller.ex server/test/tuist/kura/regions_test.exs server/test/tuist/kura/provisioner/kubernetes_controller_test.exshelm template tuist infra/helm/tuist -n tuist-canary -f infra/helm/tuist/values-managed-common.yaml -f infra/helm/tuist/values-managed-canary.yaml --set kuraController.image.tag=test --set kuraRuntime.image.tag=test | rg -n -C 1 "TUIST_KURA_TUIST_BASE_URL|tuist-tuist-server.tuist-canary.svc.cluster.local"helm template tuist infra/helm/tuist -n tuist -f infra/helm/tuist/values-managed-common.yaml -f infra/helm/tuist/values-managed-production.yaml --set kuraController.image.tag=test --set kuraRuntime.image.tag=test | rg -n -C 1 "TUIST_KURA_TUIST_BASE_URL|tuist-tuist-server.tuist.svc.cluster.local"- Not completed:
mix test test/tuist/kura/provisioner/kubernetes_controller_test.exs test/tuist/kura/regions_test.exsbecause this worktree is missing server dependencies and Mix reports runningmix deps.getis required.
Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.
New Flights are paused
Configure model inference, GitHub, and a sandbox provider to start another Flight. Existing results remain available below.
No Flights yet
Start a Flight and preserve its objective, outcome, and session here.