mirror of
https://github.com/datarhei/core.git
synced 2025-10-04 23:53:12 +08:00
626 lines
15 KiB
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"
|