Files
galaxy-game/notification/openapi.yaml
T
2026-04-22 08:49:45 +02:00

107 lines
2.8 KiB
YAML

openapi: 3.1.0
info:
title: Notification Service Probe API
version: 1.0.0
description: |
Private process-local probe API for Notification Service.
This contract covers only liveness and readiness checks. It does not define
an operator API and does not expose notification ingress.
Undefined routes use the standard `404` response. Unsupported methods on
defined probe routes use the standard `405` response.
servers:
- url: http://127.0.0.1:8092
description: Default local internal probe listener.
tags:
- name: probes
description: Private liveness and readiness probes.
paths:
/healthz:
get:
tags:
- probes
operationId: getNotificationHealth
summary: Check process liveness.
responses:
"200":
description: The process is alive.
content:
application/json:
schema:
$ref: "#/components/schemas/HealthStatus"
examples:
ok:
value:
status: ok
"405":
$ref: "#/components/responses/MethodNotAllowed"
/readyz:
get:
tags:
- probes
operationId: getNotificationReadiness
summary: Check process readiness after successful startup.
description: |
Readiness is process-local after startup and does not perform a live
Redis ping for every request.
responses:
"200":
description: The process completed startup and is ready to serve.
content:
application/json:
schema:
$ref: "#/components/schemas/ReadyStatus"
examples:
ready:
value:
status: ready
"405":
$ref: "#/components/responses/MethodNotAllowed"
components:
schemas:
HealthStatus:
type: object
additionalProperties: false
required:
- status
properties:
status:
type: string
enum:
- ok
ReadyStatus:
type: object
additionalProperties: false
required:
- status
properties:
status:
type: string
enum:
- ready
responses:
NotFound:
description: Route is not defined by the probe API.
content:
text/plain:
schema:
type: string
examples:
notFound:
value: "404 page not found\n"
MethodNotAllowed:
description: HTTP method is not allowed for the route.
headers:
Allow:
schema:
type: string
description: Methods accepted by the route.
content:
text/plain:
schema:
type: string
examples:
methodNotAllowed:
value: "Method Not Allowed\n"