179 lines
4.5 KiB
YAML
179 lines
4.5 KiB
YAML
|
openapi: 3.0.3
|
||
|
info:
|
||
|
title: LibrePages Conductor - OpenAPI 3.0
|
||
|
description: |-
|
||
|
|
||
|
Conductor is the deployment manager used internally in LibrePages. It is
|
||
|
responsible for creating, updating and deleting websites that are deployed
|
||
|
with LibrePages
|
||
|
|
||
|
Some useful links:
|
||
|
- [LibrePages Conductor repository](https://git.batsense.net/LibrePages/conductor)
|
||
|
termsOfService: http://libreapages.org/terms/
|
||
|
contact:
|
||
|
email: contact@libreapages.org
|
||
|
license:
|
||
|
name: AGPLv3 or later version
|
||
|
url: https://www.gnu.org/licenses/agpl.html
|
||
|
version: 0.1.0
|
||
|
externalDocs:
|
||
|
description: LibrePages Conductor - internal service to update deployments
|
||
|
url: http://git.batsense.net/LibrePages/conductor
|
||
|
|
||
|
tags:
|
||
|
- name: meta
|
||
|
description: Information about the system
|
||
|
- name: site
|
||
|
description: Information about customer site deployments
|
||
|
paths:
|
||
|
/api/v1/events/new:
|
||
|
post:
|
||
|
tags:
|
||
|
- site
|
||
|
summary: Post new event to Conductor
|
||
|
description: Conductor schedules jobs based on events posted to it.
|
||
|
operationId: eventsNew
|
||
|
responses:
|
||
|
"201":
|
||
|
description: Successful operation
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
oneOf:
|
||
|
- $ref: "#/components/schemas/eventsNewPayloadNewSite"
|
||
|
- $ref: "#/components/schemas/eventsNewPayloadConfig"
|
||
|
- $ref: "#/components/schemas/eventsNewPayloadDeleteSite"
|
||
|
/api/v1/meta/build:
|
||
|
get:
|
||
|
tags:
|
||
|
- meta
|
||
|
summary: Get binary's build information
|
||
|
description: Update an existing pet by Idinformation
|
||
|
operationId: metaBuild
|
||
|
responses:
|
||
|
"200":
|
||
|
description: Successful operation
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: "#/components/schemas/BuildInformation"
|
||
|
/api/v1/meta/health:
|
||
|
get:
|
||
|
tags:
|
||
|
- meta
|
||
|
summary: Get instance's health information
|
||
|
description: Get instance's health information
|
||
|
operationId: metaHealth
|
||
|
responses:
|
||
|
"200":
|
||
|
description: Successful operation
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: "#/components/schemas/HealthInformation"
|
||
|
|
||
|
|
||
|
components:
|
||
|
schemas:
|
||
|
BuildInformation:
|
||
|
required:
|
||
|
- version
|
||
|
- git_commit_hash
|
||
|
- source_code
|
||
|
type: object
|
||
|
properties:
|
||
|
version:
|
||
|
type: string
|
||
|
example: v0.1.0
|
||
|
git_commit_hash:
|
||
|
type: string
|
||
|
example: 1fa28ef9b70bb04d6c76eee9e9bc5be77005b4b0
|
||
|
source_code:
|
||
|
type: string
|
||
|
example: https://git.batsense.net/LibrePages
|
||
|
HealthInformation:
|
||
|
required:
|
||
|
- conductor
|
||
|
type: object
|
||
|
properties:
|
||
|
conductor:
|
||
|
type: boolean
|
||
|
example: true
|
||
|
|
||
|
eventsNewPayloadConfig:
|
||
|
type: object
|
||
|
required:
|
||
|
- data
|
||
|
properties:
|
||
|
data:
|
||
|
$ref: '#/components/schemas/LibConfigConfig'
|
||
|
LibConfigConfig:
|
||
|
properties:
|
||
|
source:
|
||
|
$ref: '#/components/schemas/LibConfigSource'
|
||
|
forms:
|
||
|
$ref: '#/components/schemas/LibConfigForms'
|
||
|
domains:
|
||
|
type: array
|
||
|
items:
|
||
|
type: string
|
||
|
example: ["example.com", "testing.example.org"]
|
||
|
image_compression:
|
||
|
$ref: '#/components/schemas/LibConfigImageCompression'
|
||
|
redirects:
|
||
|
$ref: '#/components/schemas/LibConfigRedirects'
|
||
|
|
||
|
LibConfigSource:
|
||
|
properties:
|
||
|
production_branch:
|
||
|
type: string
|
||
|
example: "librepages"
|
||
|
staging_branch:
|
||
|
type: string
|
||
|
example: "librepages-staging"
|
||
|
|
||
|
LibConfigForms:
|
||
|
properties:
|
||
|
enabled:
|
||
|
type: boolean
|
||
|
example: false
|
||
|
|
||
|
LibConfigImageCompression:
|
||
|
properties:
|
||
|
enabled:
|
||
|
type: boolean
|
||
|
example: false
|
||
|
|
||
|
LibConfigRedirects:
|
||
|
properties:
|
||
|
from:
|
||
|
type: string
|
||
|
example: "/from"
|
||
|
to:
|
||
|
type: string
|
||
|
example: "/to"
|
||
|
|
||
|
|
||
|
eventsNewPayloadNewSite:
|
||
|
properties:
|
||
|
hostname:
|
||
|
type: string
|
||
|
example: "example.org"
|
||
|
path:
|
||
|
type: string
|
||
|
example: "/tmp/example.org"
|
||
|
branch:
|
||
|
type: string
|
||
|
example: "librepages"
|
||
|
|
||
|
eventsNewPayloadDeleteSite:
|
||
|
properties:
|
||
|
hostname:
|
||
|
type: string
|
||
|
example: "example.org"
|
||
|
|
||
|
securitySchemes:
|
||
|
basicAuth:
|
||
|
type: http
|
||
|
scheme: basic
|