Skip to content

[runner-scale 2/3] feat(infra): IInfraProvider abstraction + runner-ops orchestration + CLI#2

Open
lilongen wants to merge 1 commit into
feat/runner-scale-1-backupfrom
feat/runner-scale-2-infra
Open

[runner-scale 2/3] feat(infra): IInfraProvider abstraction + runner-ops orchestration + CLI#2
lilongen wants to merge 1 commit into
feat/runner-scale-1-backupfrom
feat/runner-scale-2-infra

Conversation

@lilongen

Copy link
Copy Markdown
Owner

Part 2 of 3 of the runner-scale work.

IInfraProvider (AwsInfraProvider / LocalProcessInfraProvider / factory) + the 7-stage add-shared and 10-stage scale-down orchestration libs and their CLIs. Includes the runner-user-data builder.

Stacked on #1 (base feat/runner-scale-1-backup); review/merge PR1 first.

AwsInfraProvider/LocalProcessInfraProvider + factory; addSharedRunner/scaleDownRunner libs; CLI add/scale-down scripts + dev wrappers + test-setup; per-env backups-bucket config + release-repo/version overrides.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
lilongen pushed a commit that referenced this pull request May 29, 2026
Before: the local otel-collector exported every pipeline to `debug`
(stdout) only, and the jaeger box's OTLP receiver wasn't host-mapped or
fed by anything. Net result — the Jaeger UI at :26686 was always empty;
traces sent to the collector died at the debug exporter. (Flagged in
review by DorianZheng.)

Fix (option a — keep the collector in the path for prod parity):
- SPEC_JAEGER: host-map jaeger's OTLP gRPC receiver (26687 → box :4317).
  jaeger 1.67 all-in-one already has COLLECTOR_OTLP_ENABLED=true.
- _OTEL_CONFIG → _otel_config(cfg): add an `otlp/jaeger` exporter
  (host.boxlite.internal:26687, tls insecure) and add it to the
  *traces* pipeline alongside debug. metrics/logs stay debug-only
  (Jaeger doesn't ingest them).
- SPEC_OTEL: depends_on=["jaeger"] so the export target is up first.

Verified end-to-end on a live stack: POST an OTLP/HTTP trace to the
collector (:24318) → within 2s the Jaeger query API returns the service
and the trace. 35 unit tests pass (topo sort handles the new
otel→jaeger edge).

Docs updated (README §Known-limitations #2, CONNECTIONS §6/§8) — the
"Jaeger pipeline not connected" limitation is removed; the remaining
gap is only the custom boxlite_exporter build (ClickHouse/api push-back).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
lilongen pushed a commit that referenced this pull request Jun 9, 2026
5-service stack: pg (Phase 2) + redis/minio/minio-init/registry (3a).
Introduces http_url healthcheck, one_shot lifecycle, repo_root resolution.
Closes Phase-2 debt #1 (narrow start_service exception); defers debt #2
and tcp_port (no caller in 3a). Autonomous execution per /goal directive.
lilongen pushed a commit that referenced this pull request Jun 9, 2026
Before: the local otel-collector exported every pipeline to `debug`
(stdout) only, and the jaeger box's OTLP receiver wasn't host-mapped or
fed by anything. Net result — the Jaeger UI at :26686 was always empty;
traces sent to the collector died at the debug exporter. (Flagged in
review by DorianZheng.)

Fix (option a — keep the collector in the path for prod parity):
- SPEC_JAEGER: host-map jaeger's OTLP gRPC receiver (26687 → box :4317).
  jaeger 1.67 all-in-one already has COLLECTOR_OTLP_ENABLED=true.
- _OTEL_CONFIG → _otel_config(cfg): add an `otlp/jaeger` exporter
  (host.boxlite.internal:26687, tls insecure) and add it to the
  *traces* pipeline alongside debug. metrics/logs stay debug-only
  (Jaeger doesn't ingest them).
- SPEC_OTEL: depends_on=["jaeger"] so the export target is up first.

Verified end-to-end on a live stack: POST an OTLP/HTTP trace to the
collector (:24318) → within 2s the Jaeger query API returns the service
and the trace. 35 unit tests pass (topo sort handles the new
otel→jaeger edge).

Docs updated (README §Known-limitations #2, CONNECTIONS §6/§8) — the
"Jaeger pipeline not connected" limitation is removed; the remaining
gap is only the custom boxlite_exporter build (ClickHouse/api push-back).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

1 participant