Skip to content

fix(config): use api.{realm} CRUD host and add O11y API URL override (SAO-18181) - #304

Open
etserend wants to merge 1 commit into
mainfrom
fix/sao-18181-o11y-api-host
Open

etserend wants to merge 1 commit into
mainfrom
fix/sao-18181-o11y-api-host

Conversation

@etserend

@etserend etserend commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The SDK hardcoded app.{realm}.observability.splunkcloud.com for O11y CRUD requests with no way to override the endpoint. This change moves the default CRUD host and adds an optional override. Jira: SAO-18181.

  • O11y CRUD now targets https://api.{realm}.observability.splunkcloud.com (was app.).
  • New optional SPLUNK_AO_O11Y_API_URL overrides the CRUD API origin only. It must be an https:// origin with no path, credentials, query or fragment. It counts as O11y configuration, so it conflicts with the standalone variables. Errors never echo the value.
  • Unchanged: OTLP ingest endpoint and console URL (app.{realm}).
  • Docs updated: README, CHANGELOG, AGENTS.md, ARCHITECTURE.md.

Testing

  • Targeted tests (tests/test_deployment.py, tests/test_o11y_config.py): 128 passed (adds tests/test_config.py), including new override, validation and auth-guard tests.
  • Full suite: no new failures compared with main. The pre-existing failures also occur on main without this change (OTLP exporter import, OpenAI, serialization).
  • mypy clean; ruff lint and format pass on the changed Python files.
  • Authenticated CRUD (Projects().list()) through the test pipeline lab0 -> rc0 -> us1 (us1 is production). Each realm succeeds on the new default host and through an explicit override:
Realm Raw GET app. / api. SDK default api.{realm}.observability.splunkcloud.com SDK override https://api.{realm}.signalfx.com
lab0 200 / 200 16 projects 16 projects
rc0 200 / 200 4 projects 4 projects
us1 200 / 200 9 projects 9 projects
  • Invalid overrides (path, credentials, bad port, malformed IPv6) are rejected with a clear error.

Open items before merge

  • Confirm the SPLUNK_AO_O11Y_API_URL name (public surface).
  • Decide the release vehicle. No version bump here.

Not covered: an override for the OTLP ingest endpoint, and custom CA/TLS configuration.

@etserend etserend changed the title fix(config): use api.{realm} host and add API URL override for O11y CRUD (SAO-18181) fix(config): use api.{realm} CRUD host and add O11y API URL override (SAO-18181) Nov 3, 2026
…(SAO-18181)

O11y CRUD requests now target https://api.{realm}.observability.splunkcloud.com
instead of https://app.{realm}.observability.splunkcloud.com. Add optional
SPLUNK_AO_O11Y_API_URL to override the CRUD API origin: https only, origin only
(no path, credentials, query or fragment), with the origin rebuilt from host and
port. The override counts as O11y configuration and is reported by the auth
guard when the realm is missing. The OTLP ingest endpoint and the console URL
are unchanged.

Co-Authored-By: Claude <noreply@anthropic.com>
@etserend
etserend force-pushed the fix/sao-18181-o11y-api-host branch from a72e9b4 to 8223cdc Compare November 3, 2026 01:15
@etserend
etserend marked this pull request as ready for review November 3, 2026 01:18

This branch has not been deployed

No deployments
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