Object Gateway

POST /storage/object-gateway/disable

Disable Object Gateway service

Request JSON Object:
  • service_name (string)

Status Codes:
POST /storage/object-gateway/enable

Schedule the enable wizard FSM

Request JSON Object:
  • crush_rule (string) – CrushRule is the rule name picked from the wizard’s Configure-step dropdown (populated from Preflight.CrushRules). Empty means “use the cluster default” which lets every pool inherit the cluster’s osd_pool_default_crush_rule — exactly the pre-patch behaviour.

  • hosts[] (string)

  • placement (string) – “single” | “ha” | “all”

  • pool_prefix (string)

  • pool_size (integer)

  • port (integer)

  • service_name (string) – defaults to “karios”

Status Codes:
GET /storage/object-gateway/enable/jobs/{id}

Poll the enable wizard FSM job state

Parameters:
  • id (string) – Job ID returned by /enable

Status Codes:
Response JSON Object:
  • endpoints[] (string)

  • error (string)

  • id (string)

  • keys (any) – Keys are populated only when state==COMPLETED, on the first read. The UI reads once and confirms-copy; subsequent reads still return them until the job ages out (default 10 minutes).

  • request.crush_rule (string) – CrushRule is the rule name picked from the wizard’s Configure-step dropdown (populated from Preflight.CrushRules). Empty means “use the cluster default” which lets every pool inherit the cluster’s osd_pool_default_crush_rule — exactly the pre-patch behaviour.

  • request.hosts[] (string)

  • request.placement (string) – “single” | “ha” | “all”

  • request.pool_prefix (string)

  • request.pool_size (integer)

  • request.port (integer)

  • request.service_name (string) – defaults to “karios”

  • started_at (string)

  • state (string)

  • steps[].dashboard_sync_warning (string) – DashboardSyncWarning carries a non-fatal warning when the post-user Ceph dashboard RGW credential sync fails. The step status stays “ok” because the wizard’s primary job (making RGW reachable) succeeded; the operator can re-run the 4 dashboard commands by hand.

  • steps[].error (string)

  • steps[].label (string)

  • steps[].log[] (string)

  • steps[].retryable (boolean)

  • steps[].state (string)

  • steps[].status (string) – “pending” | “running” | “ok” | “error”

  • updated_at (string)

POST /storage/object-gateway/preflight

Run wizard Step 1 preflight probes

Status Codes:
Response JSON Object:
  • blockers[].code (string)

  • blockers[].message (string)

  • cluster.detail (string)

  • cluster.status (string)

  • crush_rules[].failure_domain (string)

  • crush_rules[].name (string)

  • crush_rules[].type (string)

  • free_port (integer)

  • hosts[].addr (string)

  • hosts[].eligible (boolean)

  • hosts[].hostname (string)

  • hosts[].labels[] (string)

  • hosts[].reason (string)

  • osd_count (integer)

  • port_scan[].occupied (boolean)

  • port_scan[].on_hosts[] (string)

  • port_scan[].port (integer)

  • realm.all[] (string)

  • realm.default (string)

  • realm.exists (boolean)

  • suggested_pool_size (integer)

  • warnings[] (string)

POST /storage/object-gateway/preflight/port-check

Single-port re-check for the Step 2 form

Query Parameters:
  • port (integer) – Port to check (fallback when body is empty)

Request JSON Object:
  • port (integer)

Status Codes:
Response JSON Object:
  • free (boolean)

  • on_hosts[] (string)

  • port (integer)

GET /storage/object-gateway/status

Object Gateway service status

Returns whether RGW is enabled, running/failed daemon counts, ports, hosts, version.

Status Codes:
Response JSON Object:
  • counts (any) – Counts (deliverable E) — buckets/users counts via radosgw-admin list (bare JSON arrays on Reef/Squid; len = count). Null when the list call failed or the gateway is not enabled.

  • enabled (boolean)

  • endpoints (any) – Endpoints (deliverable E) — populated when Enabled=true. All three URLs are best-effort: if a probe can’t fill a field, it stays empty so the UI can decide to render a placeholder. SECRETS NEVER LEAK: only URLs and access keys (if extended later) ever land here.

  • failed_daemons (integer)

  • hosts[] (string)

  • last_error (string)

  • partial (boolean) – Partial is true if any individual probe failed but at least one returned data. The UI uses this to render a yellow ribbon (“partial telemetry”) instead of red.

  • placement (string)

  • ports[] (integer)

  • running_daemons (integer)

  • total_daemons (integer)

  • version (string)