feat: notification service
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
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"
|
||||
Reference in New Issue
Block a user