107 lines
2.8 KiB
YAML
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"
|