Skip to content

[v1.2] Configurable health-probe endpoint (path, status, body) #125

@MaxMansfield

Description

@MaxMansfield

Context

Once the SDK gains do_GET (issue tracking DEVS-X9), the next ask is making the response configurable. Different orchestrators (ALB, K8s, Nomad, ECS native, GCP LB) have different conventions for health-probe paths and accept different status codes.

What to ship

A configuration helper:

rtms.set_health_probe(
    path="/healthz",            # default: same as webhook_path or "/"
    status=200,                 # 200 | 405
    body={"status": "ok"},      # str | dict | None
    include_metrics=False,      # if True, include active_meetings count from DEVS-X13
)

Equivalent in Node.js:

rtms.setHealthProbe({
    path: "/healthz",
    status: 200,
    body: { status: "ok" },
    includeMetrics: false,
});

Acceptance criteria

  • rtms.set_health_probe(...) / rtms.setHealthProbe(...) exported
  • Path defaults to /healthz (Kubernetes convention) or stays at root
  • Status configurable between 200 and 405
  • Body configurable: string, dict (auto-JSON), or None
  • Optional inclusion of active meeting count + uptime when DEVS-X13 lands
  • Documentation showing ALB / K8s / GCP LB configurations

Cross-language parity

  • Python and Node.js ship in same release
  • Same parameter names (camelCase ↔ snake_case)
  • Same defaults
  • Same documentation examples

Source

Tracked in vault: Projects/RTMS SDK v1.2.md → DEVS-X14. Builds on DEVS-X9.

Tracker

Part of the v1.2 milestone. Project: https://github.com/orgs/zoom/projects/11.

Metadata

Metadata

Assignees

No one assigned

    Labels

    DXQuality-of-life or DX improvement to the SDKcloud deployAffects Docker / ECS / Fargate / Kubernetes deploymentslanguage parityRequires parallel implementation in Node.js and Python with parity check in PRv1.2Part of the v1.2 release

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions