Files
core/cluster/docs/ClusterAPI_swagger.yaml

626 lines
15 KiB
YAML

basePath: /
definitions:
access.Policy:
properties:
actions:
items:
type: string
type: array
domain:
type: string
name:
type: string
resource:
type: string
type: object
app.Config:
properties:
autostart:
type: boolean
domain:
type: string
ffversion:
type: string
id:
type: string
input:
items:
$ref: '#/definitions/app.ConfigIO'
type: array
limitCPU:
description: percent
type: number
limitMemory:
description: bytes
type: integer
limitWaitFor:
description: seconds
type: integer
logPatterns:
description: will we interpreted as regualr expressions
items:
type: string
type: array
options:
items:
type: string
type: array
output:
items:
$ref: '#/definitions/app.ConfigIO'
type: array
owner:
type: string
reconnect:
type: boolean
reconnectDelay:
description: seconds
type: integer
reference:
type: string
scheduler:
description: crontab pattern or RFC3339 timestamp
type: string
staleTimeout:
description: seconds
type: integer
timeout:
description: seconds
type: integer
type: object
app.ConfigIO:
properties:
address:
type: string
cleanup:
items:
$ref: '#/definitions/app.ConfigIOCleanup'
type: array
id:
type: string
options:
items:
type: string
type: array
type: object
app.ConfigIOCleanup:
properties:
maxFileAge:
type: integer
maxFiles:
type: integer
pattern:
type: string
purgeOnDelete:
type: boolean
type: object
client.AddIdentityRequest:
properties:
identity:
$ref: '#/definitions/identity.User'
type: object
client.AddProcessRequest:
properties:
config:
$ref: '#/definitions/app.Config'
type: object
client.JoinRequest:
properties:
id:
type: string
raft_address:
type: string
type: object
client.SetPoliciesRequest:
properties:
policies:
items:
$ref: '#/definitions/access.Policy'
type: array
type: object
client.SetProcessMetadataRequest:
properties:
metadata: {}
type: object
client.UpdateIdentityRequest:
properties:
identity:
$ref: '#/definitions/identity.User'
type: object
client.UpdateProcessRequest:
properties:
config:
$ref: '#/definitions/app.Config'
type: object
cluster.Error:
properties:
code:
format: int
type: integer
details:
items:
type: string
type: array
message:
type: string
type: object
identity.Auth0Tenant:
properties:
audience:
type: string
client_id:
type: string
domain:
type: string
type: object
identity.User:
properties:
auth:
$ref: '#/definitions/identity.UserAuth'
name:
type: string
superuser:
type: boolean
type: object
identity.UserAuth:
properties:
api:
$ref: '#/definitions/identity.UserAuthAPI'
services:
$ref: '#/definitions/identity.UserAuthServices'
type: object
identity.UserAuthAPI:
properties:
auth0:
$ref: '#/definitions/identity.UserAuthAPIAuth0'
password:
type: string
type: object
identity.UserAuthAPIAuth0:
properties:
tenant:
$ref: '#/definitions/identity.Auth0Tenant'
user:
type: string
type: object
identity.UserAuthServices:
properties:
basic:
items:
type: string
type: array
token:
items:
type: string
type: array
type: object
info:
contact:
email: hello@datarhei.com
name: datarhei Core Support
url: https://www.datarhei.com
description: Internal REST API for the datarhei Core cluster
license:
name: Apache 2.0
url: https://github.com/datarhei/core/v16/blob/main/LICENSE
title: datarhei Core Cluster API
version: "1.0"
paths:
/v1/core:
get:
description: Core API address and login of this node
operationId: cluster-1-core-api-address
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
items:
$ref: '#/definitions/cluster.Error'
type: array
summary: Core API address and login
tags:
- v1.0.0
/v1/iam/user:
post:
consumes:
- application/json
description: Add an identity to the cluster DB
operationId: cluster-1-add-identity
parameters:
- description: Identity config
in: body
name: config
required: true
schema:
$ref: '#/definitions/client.AddIdentityRequest'
- description: Origin ID of request
in: header
name: X-Cluster-Origin
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"400":
description: Bad Request
schema:
$ref: '#/definitions/cluster.Error'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/cluster.Error'
"508":
description: Loop Detected
schema:
$ref: '#/definitions/cluster.Error'
summary: Add an identity
tags:
- v1.0.0
/v1/iam/user/{name}:
delete:
description: Remove an identity from the cluster DB
operationId: cluster-1-remove-identity
parameters:
- description: Identity name
in: path
name: name
required: true
type: string
- description: Origin ID of request
in: header
name: X-Cluster-Origin
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/cluster.Error'
"508":
description: Loop Detected
schema:
$ref: '#/definitions/cluster.Error'
summary: Remove an identity
tags:
- v1.0.0
put:
consumes:
- application/json
description: Replace an existing identity in the cluster DB
operationId: cluster-1-update-identity
parameters:
- description: Process ID
in: path
name: name
required: true
type: string
- description: Identity config
in: body
name: config
required: true
schema:
$ref: '#/definitions/client.UpdateIdentityRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/cluster.Error'
"508":
description: Loop Detected
schema:
$ref: '#/definitions/cluster.Error'
summary: Replace an existing identity
tags:
- v1.0.0
/v1/iam/user/{name}/policies:
put:
description: Set policies for an identity in the cluster DB. Any existing policies
will be replaced.
operationId: cluster-3-set-identity-policies
parameters:
- description: Process ID
in: path
name: id
required: true
type: string
- description: Policies for that user
in: body
name: data
required: true
schema:
$ref: '#/definitions/client.SetPoliciesRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"400":
description: Bad Request
schema:
$ref: '#/definitions/cluster.Error'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/cluster.Error'
"508":
description: Loop Detected
schema:
$ref: '#/definitions/cluster.Error'
summary: Set identity policies
tags:
- v1.0.0
/v1/process:
post:
consumes:
- application/json
description: Add a process to the cluster DB
operationId: cluster-1-add-process
parameters:
- description: Process config
in: body
name: config
required: true
schema:
$ref: '#/definitions/client.AddProcessRequest'
- description: Origin ID of request
in: header
name: X-Cluster-Origin
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"400":
description: Bad Request
schema:
$ref: '#/definitions/cluster.Error'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/cluster.Error'
"508":
description: Loop Detected
schema:
$ref: '#/definitions/cluster.Error'
summary: Add a process
tags:
- v1.0.0
/v1/process/{id}:
delete:
description: Remove a process from the cluster DB
operationId: cluster-1-remove-process
parameters:
- description: Process ID
in: path
name: id
required: true
type: string
- description: Domain to act on
in: query
name: domain
type: string
- description: Origin ID of request
in: header
name: X-Cluster-Origin
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/cluster.Error'
"508":
description: Loop Detected
schema:
$ref: '#/definitions/cluster.Error'
summary: Remove a process
tags:
- v1.0.0
put:
consumes:
- application/json
description: Replace an existing process in the cluster DB
operationId: cluster-1-update-process
parameters:
- description: Process ID
in: path
name: id
required: true
type: string
- description: Domain to act on
in: query
name: domain
type: string
- description: Process config
in: body
name: config
required: true
schema:
$ref: '#/definitions/client.UpdateProcessRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/cluster.Error'
"508":
description: Loop Detected
schema:
$ref: '#/definitions/cluster.Error'
summary: Replace an existing process
tags:
- v1.0.0
/v1/process/{id}/metadata/{key}:
put:
description: Add arbitrary JSON metadata under the given key. If the key exists,
all already stored metadata with this key will be overwritten. If the key
doesn't exist, it will be created.
operationId: cluster-3-set-process-metadata
parameters:
- description: Process ID
in: path
name: id
required: true
type: string
- description: Key for data store
in: path
name: key
required: true
type: string
- description: Domain to act on
in: query
name: domain
type: string
- description: Arbitrary JSON data. The null value will remove the key and its
contents
in: body
name: data
required: true
schema:
$ref: '#/definitions/client.SetProcessMetadataRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/cluster.Error'
"508":
description: Loop Detected
schema:
$ref: '#/definitions/cluster.Error'
summary: Add JSON metadata with a process under the given key
tags:
- v1.0.0
/v1/server:
post:
consumes:
- application/json
description: Add a new server to the cluster
operationId: cluster-1-add-server
parameters:
- description: Server ID and address
in: body
name: config
required: true
schema:
$ref: '#/definitions/client.JoinRequest'
- description: Origin ID of request
in: header
name: X-Cluster-Origin
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"400":
description: Bad Request
schema:
$ref: '#/definitions/cluster.Error'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/cluster.Error'
"508":
description: Loop Detected
schema:
$ref: '#/definitions/cluster.Error'
summary: Add a new server
tags:
- v1.0.0
/v1/server/{id}:
delete:
description: Remove a server from the cluster
operationId: cluster-1-remove-server
parameters:
- description: Server ID
in: path
name: id
required: true
type: string
- description: Origin ID of request
in: header
name: X-Cluster-Origin
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/cluster.Error'
"508":
description: Loop Detected
schema:
$ref: '#/definitions/cluster.Error'
summary: Remove a server
tags:
- v1.0.0
/v1/snapshot:
get:
description: Current snapshot of the clusterDB
operationId: cluster-1-snapshot
produces:
- application/octet-stream
responses:
"200":
description: OK
schema:
type: file
"500":
description: Internal Server Error
schema:
items:
$ref: '#/definitions/cluster.Error'
type: array
summary: Cluster DB snapshot
tags:
- v1.0.0
swagger: "2.0"