93 lines
2.6 KiB
YAML
93 lines
2.6 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: VacatureRadar HTTP-contract
|
|
version: 0.1.0
|
|
description: |
|
|
Het geïmplementeerde publieke HTTP-contract van VacatureRadar 0.1.0.
|
|
De hoofdinterface is server-rendered en vereist een Django-sessie. Alleen de
|
|
health-endpoints zijn bedoeld voor anonieme infrastructuurchecks. Geplande JSON-API's
|
|
worden pas aan dit document toegevoegd nadat code en contracttests bestaan.
|
|
servers:
|
|
- url: http://localhost:8080
|
|
description: Lokale of via reverse proxy afgeschermde instantie
|
|
paths:
|
|
/health/live/:
|
|
get:
|
|
operationId: getLiveness
|
|
summary: Controleer of het webproces HTTP-verkeer verwerkt
|
|
security: []
|
|
responses:
|
|
"200":
|
|
description: Proces is bereikbaar
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Liveness"
|
|
examples:
|
|
ok:
|
|
value:
|
|
ok: true
|
|
service: vacatureradar
|
|
/health/ready/:
|
|
get:
|
|
operationId: getReadiness
|
|
summary: Controleer of de applicatie en database gebruiksklaar zijn
|
|
security: []
|
|
responses:
|
|
"200":
|
|
description: Alle verplichte readinesschecks slagen
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Readiness"
|
|
examples:
|
|
ready:
|
|
value:
|
|
ok: true
|
|
checks:
|
|
database: ok
|
|
"503":
|
|
description: Minstens één verplichte readinesscheck faalt
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Readiness"
|
|
examples:
|
|
databaseUnavailable:
|
|
value:
|
|
ok: false
|
|
checks:
|
|
database: error:OperationalError
|
|
components:
|
|
schemas:
|
|
Liveness:
|
|
type: object
|
|
additionalProperties: false
|
|
required: [ok, service]
|
|
properties:
|
|
ok:
|
|
type: boolean
|
|
const: true
|
|
service:
|
|
type: string
|
|
const: vacatureradar
|
|
Readiness:
|
|
type: object
|
|
additionalProperties: false
|
|
required: [ok, checks]
|
|
properties:
|
|
ok:
|
|
type: boolean
|
|
checks:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
required: [database]
|
|
securitySchemes:
|
|
sessionCookie:
|
|
type: apiKey
|
|
in: cookie
|
|
name: sessionid
|
|
security:
|
|
- sessionCookie: []
|