mirror of
https://github.com/openfaas/faas.git
synced 2025-06-08 16:26:47 +00:00
This adds support for private docker registries, by adding an optional `registryAuth` field in the CreateFunctionRequest. Auth must be passed as base64-encoded basic auth, similar to how done in Docker file store credentials (~/.docker/config.json). Credentials are then passed to swarm at service creation.
165 lines
5.4 KiB
YAML
165 lines
5.4 KiB
YAML
swagger: "2.0"
|
|
info:
|
|
description: "FaaS API documentation"
|
|
version: "0.5.4"
|
|
title: "FaaS API Gateway"
|
|
license:
|
|
name: "MIT"
|
|
basePath: "/"
|
|
schemes:
|
|
- "http"
|
|
paths:
|
|
/system/functions:
|
|
get:
|
|
summary: "Get a list of deployed functions with: stats and image digest"
|
|
description: ""
|
|
consumes:
|
|
- "application/json"
|
|
produces:
|
|
- "application/json"
|
|
responses:
|
|
200:
|
|
description: "List of deployed functions."
|
|
examples:
|
|
application/json: |-
|
|
[
|
|
{"name":"func_payroll","image":"alexellis2/faas-payroll:latest@sha256:0bc2773613c76d9ee4906bf3887ea2527f135cb7a0d0f430743e7c6712949709","invocationCount":16,"replicas":1},
|
|
{"name":"func_fanclub","image":"alexellis2/fanclub:18-04-2017@sha256:37bb3fabee7e36abab7e6250bb7d13c9ab66e983782b35200470fe2a3aa14daa","invocationCount":1125,"replicas":1}
|
|
]
|
|
post:
|
|
summary: "Deploy a new function."
|
|
description: ""
|
|
consumes:
|
|
- "application/json"
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
- in: "body"
|
|
name: "body"
|
|
description: "Function to deploy"
|
|
required: true
|
|
schema:
|
|
$ref: "#/definitions/CreateFunctionRequest"
|
|
responses:
|
|
200:
|
|
description: "OK"
|
|
delete:
|
|
summary: "Remove a deployed function."
|
|
description: ""
|
|
consumes:
|
|
- "application/json"
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
- in: "body"
|
|
name: "body"
|
|
description: "Function to delete"
|
|
required: true
|
|
schema:
|
|
$ref: "#/definitions/DeleteFunctionRequest"
|
|
responses:
|
|
200:
|
|
description: "OK"
|
|
404:
|
|
description: "Function not found in gateway"
|
|
/system/alert:
|
|
post:
|
|
summary: "Event-sink for AlertManager, for auto-scaling"
|
|
description: "Internal use for AlertManager, requires valid AlertManager alert JSON"
|
|
consumes:
|
|
- "application/json"
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
- in: "body"
|
|
name: "body"
|
|
description: "Function to delete"
|
|
schema:
|
|
type: object
|
|
example: |-
|
|
{"receiver": "scale-up",
|
|
"status": "firing",
|
|
"alerts": [{
|
|
"status": "firing",
|
|
"labels": {
|
|
"alertname": "APIHighInvocationRate",
|
|
"code": "200",
|
|
"function_name": "func_nodeinfo",
|
|
"instance": "gateway:8080",
|
|
"job": "gateway",
|
|
"monitor": "faas-monitor",
|
|
"service": "gateway",
|
|
"severity": "major",
|
|
"value": "8.998200359928017"
|
|
},
|
|
"annotations": {
|
|
"description": "High invocation total on gateway:8080",
|
|
"summary": "High invocation total on gateway:8080"
|
|
},
|
|
"startsAt": "2017-03-15T15:52:57.805Z",
|
|
"endsAt": "0001-01-01T00:00:00Z",
|
|
"generatorURL": "http://4156cb797423:9090/graph?g0.expr=rate%28gateway_function_invocation_total%5B10s%5D%29+%3E+5\u0026g0.tab=0"
|
|
}],
|
|
"groupLabels": {
|
|
"alertname": "APIHighInvocationRate",
|
|
"service": "gateway"
|
|
},
|
|
"commonLabels": {
|
|
"alertname": "APIHighInvocationRate",
|
|
"code": "200",
|
|
"function_name": "func_nodeinfo",
|
|
"instance": "gateway:8080",
|
|
"job": "gateway",
|
|
"monitor": "faas-monitor",
|
|
"service": "gateway",
|
|
"severity": "major",
|
|
"value": "8.998200359928017"
|
|
},
|
|
"commonAnnotations": {
|
|
"description": "High invocation total on gateway:8080",
|
|
"summary": "High invocation total on gateway:8080"
|
|
},
|
|
"externalURL": "http://f054879d97db:9093",
|
|
"version": "3",
|
|
"groupKey": 18195285354214864953
|
|
}
|
|
responses:
|
|
200:
|
|
description: "Alert handled successfully"
|
|
500:
|
|
description: "Internal error with swarm or request JSON invalid"
|
|
definitions:
|
|
DeleteFunctionRequest:
|
|
type: "object"
|
|
properties:
|
|
functionName:
|
|
type: "string"
|
|
description: "Name of deployed function"
|
|
CreateFunctionRequest:
|
|
type: "object"
|
|
properties:
|
|
service:
|
|
type: "string"
|
|
description: "Name of deployed function"
|
|
network:
|
|
type: "string"
|
|
description: "Docker swarm network, usually func_functions"
|
|
image:
|
|
type: "string"
|
|
description: "Docker image in accessible registry"
|
|
envProcess:
|
|
type: "string"
|
|
description: "Process for watchdog to fork"
|
|
envVars:
|
|
type: "array"
|
|
items:
|
|
type: "string"
|
|
description: "Overrides to environmental variables"
|
|
registryAuth:
|
|
type: "string"
|
|
description: "Private registry base64-encoded basic auth (as present in ~/.docker/config.json)"
|
|
externalDocs:
|
|
description: "More documentation available on Github"
|
|
url: "http://docs.get-faas.com"
|
|
|