feat: rename CF_ORCH_URL → GPU_SERVER_URL for local-first clarity #20

Closed
opened 2026-05-17 09:50:12 -07:00 by pyr0ball · 1 comment
Owner

Summary

The CF_ORCH_URL environment variable name makes sense in a cloud/orch context but is confusing for local-first users. Kiwi has already implemented this pattern.

Pattern (from Kiwi)

  • Primary env var: GPU_SERVER_URL — user-visible name that maps to what it actually does for self-hosters
  • Backward compat: CF_ORCH_URL still accepted (secondary fallback)
  • At startup, resolve GPU_SERVER_URL || CF_ORCH_URL and normalize into a single internal value
  • For Paid+ tiers: default GPU_SERVER_URL to the cf-orch coordinator URL via license check (so cloud users don't need to configure it)

Acceptance Criteria

  • Config reads GPU_SERVER_URL first, falls back to CF_ORCH_URL
  • README and .env.example updated to document GPU_SERVER_URL
  • Paid+ tier default wired through license/tier check
  • Existing CF_ORCH_URL deployments continue to work unchanged

Reference

Kiwi implementation: app/core/config.pyGPU_SERVER_URL field with CF_ORCH_URL fallback + startup normalization hook

## Summary The `CF_ORCH_URL` environment variable name makes sense in a cloud/orch context but is confusing for local-first users. Kiwi has already implemented this pattern. ## Pattern (from Kiwi) - Primary env var: `GPU_SERVER_URL` — user-visible name that maps to what it actually does for self-hosters - Backward compat: `CF_ORCH_URL` still accepted (secondary fallback) - At startup, resolve `GPU_SERVER_URL || CF_ORCH_URL` and normalize into a single internal value - For Paid+ tiers: default `GPU_SERVER_URL` to the cf-orch coordinator URL via license check (so cloud users don't need to configure it) ## Acceptance Criteria - [ ] Config reads `GPU_SERVER_URL` first, falls back to `CF_ORCH_URL` - [ ] README and .env.example updated to document `GPU_SERVER_URL` - [ ] Paid+ tier default wired through license/tier check - [ ] Existing `CF_ORCH_URL` deployments continue to work unchanged ## Reference Kiwi implementation: `app/core/config.py` — `GPU_SERVER_URL` field with `CF_ORCH_URL` fallback + startup normalization hook
Author
Owner

Implemented in app/rest.py:

  • GPU_SERVER_URL resolved at module load: GPU_SERVER_URL → CF_ORCH_URL → orch.circuitforge.tech (when CF_LICENSE_KEY present)
  • Written back to os.environ["CF_ORCH_URL"] so cf-core callers see it automatically
  • _PREFS_DEFAULTS["llm_url"] now uses resolved URL, falling back to http://localhost:11434
  • .env.example created with all env vars documented
  • README.md Configuration section added

All 14 existing tests passing.

Implemented in `app/rest.py`: - `GPU_SERVER_URL` resolved at module load: `GPU_SERVER_URL → CF_ORCH_URL → orch.circuitforge.tech` (when `CF_LICENSE_KEY` present) - Written back to `os.environ["CF_ORCH_URL"]` so cf-core callers see it automatically - `_PREFS_DEFAULTS["llm_url"]` now uses resolved URL, falling back to `http://localhost:11434` - `.env.example` created with all env vars documented - `README.md` Configuration section added All 14 existing tests passing.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/turnstone#20
No description provided.