@mseep/mcp-swarmpit 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +128 -0
- package/README.md +416 -0
- package/dist/client.d.ts +107 -0
- package/dist/client.js +297 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +8 -0
- package/dist/config.js +41 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/sanitize.d.ts +41 -0
- package/dist/sanitize.js +165 -0
- package/dist/sanitize.js.map +1 -0
- package/dist/test/config.test.d.ts +1 -0
- package/dist/test/config.test.js +103 -0
- package/dist/test/config.test.js.map +1 -0
- package/dist/test/file-ref.test.d.ts +1 -0
- package/dist/test/file-ref.test.js +163 -0
- package/dist/test/file-ref.test.js.map +1 -0
- package/dist/test/helpers.test.d.ts +1 -0
- package/dist/test/helpers.test.js +133 -0
- package/dist/test/helpers.test.js.map +1 -0
- package/dist/test/sanitize.test.d.ts +1 -0
- package/dist/test/sanitize.test.js +207 -0
- package/dist/test/sanitize.test.js.map +1 -0
- package/dist/tools/admin.d.ts +3 -0
- package/dist/tools/admin.js +64 -0
- package/dist/tools/admin.js.map +1 -0
- package/dist/tools/configs.d.ts +4 -0
- package/dist/tools/configs.js +70 -0
- package/dist/tools/configs.js.map +1 -0
- package/dist/tools/dashboard.d.ts +3 -0
- package/dist/tools/dashboard.js +41 -0
- package/dist/tools/dashboard.js.map +1 -0
- package/dist/tools/helpers.d.ts +16 -0
- package/dist/tools/helpers.js +74 -0
- package/dist/tools/helpers.js.map +1 -0
- package/dist/tools/networks.d.ts +3 -0
- package/dist/tools/networks.js +70 -0
- package/dist/tools/networks.js.map +1 -0
- package/dist/tools/nodes.d.ts +3 -0
- package/dist/tools/nodes.js +59 -0
- package/dist/tools/nodes.js.map +1 -0
- package/dist/tools/register.d.ts +3 -0
- package/dist/tools/register.js +30 -0
- package/dist/tools/register.js.map +1 -0
- package/dist/tools/secrets.d.ts +4 -0
- package/dist/tools/secrets.js +70 -0
- package/dist/tools/secrets.js.map +1 -0
- package/dist/tools/services.d.ts +4 -0
- package/dist/tools/services.js +198 -0
- package/dist/tools/services.js.map +1 -0
- package/dist/tools/stacks.d.ts +4 -0
- package/dist/tools/stacks.js +196 -0
- package/dist/tools/stacks.js.map +1 -0
- package/dist/tools/tasks.d.ts +3 -0
- package/dist/tools/tasks.js +23 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/tools/timeseries.d.ts +3 -0
- package/dist/tools/timeseries.js +41 -0
- package/dist/tools/timeseries.js.map +1 -0
- package/dist/tools/util.d.ts +3 -0
- package/dist/tools/util.js +10 -0
- package/dist/tools/util.js.map +1 -0
- package/dist/tools/volumes.d.ts +3 -0
- package/dist/tools/volumes.js +59 -0
- package/dist/tools/volumes.js.map +1 -0
- package/dist/types.d.ts +119 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +43 -0
- package/src/client.ts +391 -0
- package/src/config.ts +57 -0
- package/src/index.ts +49 -0
- package/src/sanitize.ts +218 -0
- package/src/test/config.test.ts +118 -0
- package/src/test/file-ref.test.ts +191 -0
- package/src/test/helpers.test.ts +147 -0
- package/src/test/sanitize.test.ts +234 -0
- package/src/tools/admin.ts +93 -0
- package/src/tools/configs.ts +101 -0
- package/src/tools/dashboard.ts +65 -0
- package/src/tools/helpers.ts +91 -0
- package/src/tools/networks.ts +99 -0
- package/src/tools/nodes.ts +88 -0
- package/src/tools/register.ts +36 -0
- package/src/tools/secrets.ts +101 -0
- package/src/tools/services.ts +283 -0
- package/src/tools/stacks.ts +282 -0
- package/src/tools/tasks.ts +37 -0
- package/src/tools/timeseries.ts +65 -0
- package/src/tools/util.ts +20 -0
- package/src/tools/volumes.ts +88 -0
- package/src/types.ts +131 -0
- package/swagger.json +1 -0
- package/swarmpit-config.example.json +9 -0
- package/tsconfig.json +15 -0
package/swagger.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"swagger":"2.0","x-id":["reitit.swagger/default"],"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"info":{"title":"Swarmpit API","description":"Swarmpit backend API description","contact":{"name":"Swarmpit Team","email":"team@swarmpit.io","url":"https://swarmpit.io"},"license":{"name":"Eclipse Public License","url":"http://www.eclipse.org/legal/epl-v10.html"},"version":"1.10-9bd9124"},"paths":{"/api/me":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"username":{"type":"string"},"role":{"type":"string"},"api-token":{"type":"object","properties":{"jti":{"type":"string"},"mask":{"type":"string"}},"required":["jti","mask"]},"email":{"type":"string"},"node-dashboard":{"type":"array","items":{"type":"string"}},"service-dashboard":{"type":"array","items":{"type":"string"}}},"required":["username","role","api-token","email"]}}},"summary":"Logged user info","tags":["me"]}},"/api/stats":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"hosts":{"type":"number","format":"double"},"cpu":{"type":"object","properties":{"usage":{"type":"number","format":"double"}},"required":["usage"]},"memory":{"type":"object","properties":{"usage":{"type":"number","format":"double"},"used":{"type":"number","format":"double"},"total":{"type":"number","format":"double"}},"required":["usage","used","total"]},"disk":{"type":"object","properties":{"usage":{"type":"number","format":"double"},"used":{"type":"number","format":"double"},"total":{"type":"number","format":"double"}},"required":["usage","used","total"]}},"required":["hosts","cpu","memory","disk"]}}},"summary":"Cluster statistics","tags":["statistics"]}},"/api/tasks":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"desiredState":{"type":"string"},"createdAt":{"type":"string"},"logdriver":{"type":"string"},"repository":{"type":"object","properties":{"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["image","imageDigest"]},"id":{"type":"string"},"taskName":{"type":"string"},"nodeId":{"type":"string"},"nodeName":{"type":"string"},"status":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]},"serviceName":{"type":"string"},"state":{"type":"string"},"version":{"type":"number","format":"double"},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]}},"required":["updatedAt","repository","nodeId","createdAt","state","desiredState","logdriver","status","id","nodeName","serviceName","version","resources","taskName"]}}}},"summary":"Task list","tags":["task"]}},"/api/tasks/{id}":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"updatedAt":{"type":"string"},"desiredState":{"type":"string"},"createdAt":{"type":"string"},"logdriver":{"type":"string"},"repository":{"type":"object","properties":{"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["image","imageDigest"]},"id":{"type":"string"},"taskName":{"type":"string"},"nodeId":{"type":"string"},"nodeName":{"type":"string"},"status":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]},"serviceName":{"type":"string"},"state":{"type":"string"},"version":{"type":"number","format":"double"},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]}},"required":["updatedAt","repository","nodeId","createdAt","state","desiredState","logdriver","status","id","nodeName","serviceName","version","resources","taskName"]}}},"summary":"Task info","tags":["task"]}},"/api/tasks/{name}/ts":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"task":{"type":"string"},"service":{"type":"string"},"time":{"type":"array","items":{"type":"string"}},"cpu":{"type":"array","items":{"type":"number","format":"double"}},"memory":{"type":"array","items":{"type":"number","format":"double"}}},"required":["task","service","time","cpu","memory"]}}},"summary":"Task timeseries","tags":["task"]}},"/api/stacks":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"configName":{"type":"string"},"configTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","configName","configTarget","uid","gid","mode"]}},"secrets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"secretName":{"type":"string"},"secretTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","secretName","secretTarget","uid","gid","mode"]}},"networks":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}},"services":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"agent":{"type":"boolean"},"configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"configName":{"type":"string"},"configTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","configName","configTarget","uid","gid","mode"]}},"command":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"createdAt":{"type":"string"},"user":{"type":"string"},"containerLabels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"logdriver":{"type":"object","properties":{"name":{"type":"string"},"opts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name","opts"]},"tty":{"type":"boolean"},"repository":{"type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"},"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["name","tag","image","imageDigest"]},"id":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}},"mode":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"mounts":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"id":{"type":"string"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{}},"required":["name","options"]}},"required":["labels","driver"]},"readOnly":{"type":"boolean"},"stack":{"type":"string"}},"required":["containerPath","host","type","id","volumeOptions","readOnly","stack"]}},"status":{"type":"object","properties":{"tasks":{"type":"object","properties":{"running":{"type":"number","format":"double"},"total":{"type":"number","format":"double"}},"required":["running","total"]},"update":{"type":"string"},"message":{"type":"string"}},"required":["tasks","update","message"]},"serviceName":{"type":"string"},"deployment":{"type":"object","properties":{"update":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"forceUpdate":{"type":"number","format":"double"},"restartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"number","format":"double"},"window":{"type":"number","format":"double"},"attempts":{"type":"number","format":"double"}},"required":["condition","delay","window","attempts"]},"rollback":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"rollbackAllowed":{"type":"boolean"},"autoredeploy":{"type":"boolean"},"placement":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"}},"required":["rule"]}}},"required":["update","forceUpdate","restartPolicy","rollback","rollbackAllowed","autoredeploy","placement"]},"healthcheck":{"type":"object","properties":{"test":{"type":"array","items":{"type":"string"}},"interval":{"type":"number","format":"double"},"timeout":{"type":"number","format":"double"},"retries":{"type":"number","format":"double"}},"required":["test","interval","timeout","retries"]},"dir":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"state":{"type":"string"},"version":{"type":"number","format":"double"},"replicas":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"secretName":{"type":"string"},"secretTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","secretName","secretTarget","uid","gid","mode"]}},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]},"ports":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"mode":{"type":"string"},"protocol":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","mode","protocol","hostPort"]}},"stack":{"type":"string"}},"required":["labels","tty","updatedAt","repository","dir","hosts","mounts","secrets","mode","command","createdAt","state","agent","variables","networks","ports","logdriver","healthcheck","status","id","replicas","deployment","stack","containerLabels","serviceName","version","resources","user","links","configs"]}},"stackFile":{"type":"boolean"},"stackName":{"type":"string"},"volumes":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"id":{"type":"string"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{}},"required":["name","options"]}},"required":["labels","driver"]},"readOnly":{"type":"boolean"},"stack":{"type":"string"}},"required":["containerPath","host","type","id","volumeOptions","readOnly","stack"]}}},"required":["configs","secrets","networks","services","stackFile","stackName","volumes"]}}},"summary":"Stack list","tags":["stack"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"name":{"type":"string"},"spec":{"type":"object","properties":{"compose":{"type":"string"}},"required":["compose"]}},"required":["name","spec"]}}],"responses":{"201":{"description":"Success","schema":null}},"summary":"Create stack","tags":["stack"]}},"/api/stacks/{name}":{"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"name":{"type":"string"},"spec":{"type":"object","properties":{"compose":{"type":"string"}},"required":["compose"]}},"required":["name","spec"]}}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Edit stack","tags":["stack"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Delete stack","tags":["stack"]}},"/api/stacks/{name}/file":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"name":{"type":"string"},"previousSpec":{"type":"object","properties":{"compose":{"type":"string"}},"required":["compose"]},"spec":{"type":"object","properties":{"compose":{"type":"string"}},"required":["compose"]},"type":{"type":"string"},"_id":{"type":"string"},"_rev":{"type":"string"}},"required":["name","previousSpec","spec","type","_id","_rev"]}}},"summary":"Stack file","tags":["stack"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"name":{"type":"string"},"spec":{"type":"object","properties":{"compose":{"type":"string"}},"required":["compose"]}},"required":["name","spec"]}}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Create stack file","tags":["stack"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Delete stack file","tags":["stack"]}},"/api/stacks/{name}/compose":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"name":{"type":"string"},"spec":{"type":"object","properties":{"compose":{"type":"string"}},"required":["compose"]}},"required":["name","spec"]}}},"summary":"Stack compose","tags":["stack"]}},"/api/stacks/{name}/services":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"agent":{"type":"boolean"},"configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"configName":{"type":"string"},"configTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","configName","configTarget","uid","gid","mode"]}},"command":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"createdAt":{"type":"string"},"user":{"type":"string"},"containerLabels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"logdriver":{"type":"object","properties":{"name":{"type":"string"},"opts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name","opts"]},"tty":{"type":"boolean"},"repository":{"type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"},"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["name","tag","image","imageDigest"]},"id":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}},"mode":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"mounts":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"id":{"type":"string"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{}},"required":["name","options"]}},"required":["labels","driver"]},"readOnly":{"type":"boolean"},"stack":{"type":"string"}},"required":["containerPath","host","type","id","volumeOptions","readOnly","stack"]}},"status":{"type":"object","properties":{"tasks":{"type":"object","properties":{"running":{"type":"number","format":"double"},"total":{"type":"number","format":"double"}},"required":["running","total"]},"update":{"type":"string"},"message":{"type":"string"}},"required":["tasks","update","message"]},"serviceName":{"type":"string"},"deployment":{"type":"object","properties":{"update":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"forceUpdate":{"type":"number","format":"double"},"restartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"number","format":"double"},"window":{"type":"number","format":"double"},"attempts":{"type":"number","format":"double"}},"required":["condition","delay","window","attempts"]},"rollback":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"rollbackAllowed":{"type":"boolean"},"autoredeploy":{"type":"boolean"},"placement":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"}},"required":["rule"]}}},"required":["update","forceUpdate","restartPolicy","rollback","rollbackAllowed","autoredeploy","placement"]},"healthcheck":{"type":"object","properties":{"test":{"type":"array","items":{"type":"string"}},"interval":{"type":"number","format":"double"},"timeout":{"type":"number","format":"double"},"retries":{"type":"number","format":"double"}},"required":["test","interval","timeout","retries"]},"dir":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"state":{"type":"string"},"version":{"type":"number","format":"double"},"replicas":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"secretName":{"type":"string"},"secretTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","secretName","secretTarget","uid","gid","mode"]}},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]},"ports":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"mode":{"type":"string"},"protocol":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","mode","protocol","hostPort"]}},"stack":{"type":"string"}},"required":["labels","tty","updatedAt","repository","dir","hosts","mounts","secrets","mode","command","createdAt","state","agent","variables","networks","ports","logdriver","healthcheck","status","id","replicas","deployment","stack","containerLabels","serviceName","version","resources","user","links","configs"]}}}},"summary":"Stack services","tags":["stack"]}},"/api/stacks/{name}/tasks":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"desiredState":{"type":"string"},"createdAt":{"type":"string"},"logdriver":{"type":"string"},"repository":{"type":"object","properties":{"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["image","imageDigest"]},"id":{"type":"string"},"taskName":{"type":"string"},"nodeId":{"type":"string"},"nodeName":{"type":"string"},"status":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]},"serviceName":{"type":"string"},"state":{"type":"string"},"version":{"type":"number","format":"double"},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]}},"required":["updatedAt","repository","nodeId","createdAt","state","desiredState","logdriver","status","id","nodeName","serviceName","version","resources","taskName"]}}}},"summary":"Stack tasks","tags":["stack"]}},"/api/stacks/{name}/networks":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}}}},"summary":"Stack networks","tags":["stack"]}},"/api/stacks/{name}/volumes":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"driver":{"type":"string"},"host":{"type":"string"},"mountpoint":{"type":"string"},"id":{"type":"string"},"volumeName":{"type":"string"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{}},"required":["name","options"]}},"required":["labels","driver"]},"labels":{"type":"object"},"scope":{"type":"string"},"readOnly":{"type":"boolean"},"type":{"type":"string"},"size":{"type":"number","format":"double"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"stack":{"type":"string"},"containerPath":{"type":"string"}},"required":["containerPath","labels","volumeOptions","type","scope","size","host","readOnly","id","stack","options","driver","mountpoint","volumeName"]}}}},"summary":"Stack volumes","tags":["stack"]}},"/api/stacks/{name}/configs":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"configName":{"type":"string"},"createdAt":{"type":"string"},"id":{"type":"string"},"updatedAt":{"type":"string"},"version":{"type":"number","format":"double"}},"required":["configName","createdAt","id","updatedAt","version"]}}}},"summary":"Stack configs","tags":["stack"]}},"/api/stacks/{name}/secrets":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"secretName":{"type":"string"},"createdAt":{"type":"string"},"id":{"type":"string"},"updatedAt":{"type":"string"},"version":{"type":"number","format":"double"}},"required":["secretName","createdAt","id","updatedAt","version"]}}}},"summary":"Stack secrets","tags":["stack"]}},"/api/stacks/{name}/redeploy":{"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Redeploy stack","tags":["stack"]}},"/api/stacks/{name}/rollback":{"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Rollback stack","tags":["stack"]}},"/api/stacks/{name}/deactivate":{"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Deactivate stack","tags":["stack"]}},"/api/admin/users":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"node-dashboard":{"type":"array","items":{"type":"string"}},"username":{"type":"string"},"email":{"type":"string"},"_rev":{"type":"string"},"type":{"type":"string"},"_id":{"type":"string"},"api-token":{"type":"object","properties":{"jti":{"type":"string"},"mask":{"type":"string"}},"required":["jti","mask"],"x-nullable":true},"service-dashboard":{"type":"array","items":{"type":"string"}}},"required":["role","_id","_rev","username","type"]}}}},"summary":"User list","tags":["admin","user"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"password":{"type":"string"},"role":{"type":"string"},"username":{"type":"string"},"email":{"type":"string"}},"required":["password","role","username"]}}],"responses":{"201":{"description":"Success","schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}},"summary":"Create user","tags":["admin","user"]}},"/api/admin/users/{id}":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"role":{"type":"string"},"node-dashboard":{"type":"array","items":{"type":"string"}},"username":{"type":"string"},"email":{"type":"string"},"_rev":{"type":"string"},"type":{"type":"string"},"_id":{"type":"string"},"api-token":{"type":"object","properties":{"jti":{"type":"string"},"mask":{"type":"string"}},"required":["jti","mask"],"x-nullable":true},"service-dashboard":{"type":"array","items":{"type":"string"}}},"required":["role","_id","_rev","username","type"]}}},"summary":"User info","tags":["admin","user"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"role":{"type":"string"},"node-dashboard":{"type":"array","items":{"type":"string"}},"username":{"type":"string"},"email":{"type":"string"},"_rev":{"type":"string"},"type":{"type":"string"},"_id":{"type":"string"},"api-token":{"type":"object","properties":{"jti":{"type":"string"},"mask":{"type":"string"}},"required":["jti","mask"],"x-nullable":true},"service-dashboard":{"type":"array","items":{"type":"string"}}},"required":["role","_id","_rev","username","type"]}}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Edit user","tags":["admin","user"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Delete user","tags":["admin","user"]}},"/api/secrets":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"secretName":{"type":"string"},"createdAt":{"type":"string"},"id":{"type":"string"},"updatedAt":{"type":"string"},"version":{"type":"number","format":"double"}},"required":["secretName","createdAt","id","updatedAt","version"]}}}},"summary":"Secret list","tags":["secret"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"secretName":{"type":"string"},"data":{"type":"string"}},"required":["secretName","data"]}}],"responses":{"201":{"description":"Success","schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}},"summary":"Create secret","tags":["secret"]}},"/api/secrets/{id}":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"secretName":{"type":"string"},"createdAt":{"type":"string"},"id":{"type":"string"},"updatedAt":{"type":"string"},"version":{"type":"number","format":"double"}},"required":["secretName","createdAt","id","updatedAt","version"]}}},"summary":"Secret info","tags":["secret"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Delete secret","tags":["secret"]}},"/api/secrets/{id}/services":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"agent":{"type":"boolean"},"configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"configName":{"type":"string"},"configTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","configName","configTarget","uid","gid","mode"]}},"command":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"createdAt":{"type":"string"},"user":{"type":"string"},"containerLabels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"logdriver":{"type":"object","properties":{"name":{"type":"string"},"opts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name","opts"]},"tty":{"type":"boolean"},"repository":{"type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"},"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["name","tag","image","imageDigest"]},"id":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}},"mode":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"mounts":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"id":{"type":"string"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{}},"required":["name","options"]}},"required":["labels","driver"]},"readOnly":{"type":"boolean"},"stack":{"type":"string"}},"required":["containerPath","host","type","id","volumeOptions","readOnly","stack"]}},"status":{"type":"object","properties":{"tasks":{"type":"object","properties":{"running":{"type":"number","format":"double"},"total":{"type":"number","format":"double"}},"required":["running","total"]},"update":{"type":"string"},"message":{"type":"string"}},"required":["tasks","update","message"]},"serviceName":{"type":"string"},"deployment":{"type":"object","properties":{"update":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"forceUpdate":{"type":"number","format":"double"},"restartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"number","format":"double"},"window":{"type":"number","format":"double"},"attempts":{"type":"number","format":"double"}},"required":["condition","delay","window","attempts"]},"rollback":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"rollbackAllowed":{"type":"boolean"},"autoredeploy":{"type":"boolean"},"placement":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"}},"required":["rule"]}}},"required":["update","forceUpdate","restartPolicy","rollback","rollbackAllowed","autoredeploy","placement"]},"healthcheck":{"type":"object","properties":{"test":{"type":"array","items":{"type":"string"}},"interval":{"type":"number","format":"double"},"timeout":{"type":"number","format":"double"},"retries":{"type":"number","format":"double"}},"required":["test","interval","timeout","retries"]},"dir":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"state":{"type":"string"},"version":{"type":"number","format":"double"},"replicas":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"secretName":{"type":"string"},"secretTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","secretName","secretTarget","uid","gid","mode"]}},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]},"ports":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"mode":{"type":"string"},"protocol":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","mode","protocol","hostPort"]}},"stack":{"type":"string"}},"required":["labels","tty","updatedAt","repository","dir","hosts","mounts","secrets","mode","command","createdAt","state","agent","variables","networks","ports","logdriver","healthcheck","status","id","replicas","deployment","stack","containerLabels","serviceName","version","resources","user","links","configs"]}}}},"summary":"Secret services","tags":["secret"]}},"/api/configs":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"configName":{"type":"string"},"createdAt":{"type":"string"},"data":{"type":"string"},"id":{"type":"string"},"updatedAt":{"type":"string"},"version":{"type":"number","format":"double"}},"required":["configName","createdAt","data","id","updatedAt","version"]}}}},"summary":"Config list","tags":["config"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"configName":{"type":"string"},"data":{"type":"string"}},"required":["configName","data"]}}],"responses":{"201":{"description":"Success","schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}},"summary":"Create config","tags":["config"]}},"/api/configs/{id}":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"configName":{"type":"string"},"createdAt":{"type":"string"},"data":{"type":"string"},"id":{"type":"string"},"updatedAt":{"type":"string"},"version":{"type":"number","format":"double"}},"required":["configName","createdAt","data","id","updatedAt","version"]}}},"summary":"Config info","tags":["config"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Delete config","tags":["config"]}},"/api/configs/{id}/services":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"agent":{"type":"boolean"},"configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"configName":{"type":"string"},"configTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","configName","configTarget","uid","gid","mode"]}},"command":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"createdAt":{"type":"string"},"user":{"type":"string"},"containerLabels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"logdriver":{"type":"object","properties":{"name":{"type":"string"},"opts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name","opts"]},"tty":{"type":"boolean"},"repository":{"type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"},"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["name","tag","image","imageDigest"]},"id":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}},"mode":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"mounts":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"id":{"type":"string"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{}},"required":["name","options"]}},"required":["labels","driver"]},"readOnly":{"type":"boolean"},"stack":{"type":"string"}},"required":["containerPath","host","type","id","volumeOptions","readOnly","stack"]}},"status":{"type":"object","properties":{"tasks":{"type":"object","properties":{"running":{"type":"number","format":"double"},"total":{"type":"number","format":"double"}},"required":["running","total"]},"update":{"type":"string"},"message":{"type":"string"}},"required":["tasks","update","message"]},"serviceName":{"type":"string"},"deployment":{"type":"object","properties":{"update":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"forceUpdate":{"type":"number","format":"double"},"restartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"number","format":"double"},"window":{"type":"number","format":"double"},"attempts":{"type":"number","format":"double"}},"required":["condition","delay","window","attempts"]},"rollback":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"rollbackAllowed":{"type":"boolean"},"autoredeploy":{"type":"boolean"},"placement":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"}},"required":["rule"]}}},"required":["update","forceUpdate","restartPolicy","rollback","rollbackAllowed","autoredeploy","placement"]},"healthcheck":{"type":"object","properties":{"test":{"type":"array","items":{"type":"string"}},"interval":{"type":"number","format":"double"},"timeout":{"type":"number","format":"double"},"retries":{"type":"number","format":"double"}},"required":["test","interval","timeout","retries"]},"dir":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"state":{"type":"string"},"version":{"type":"number","format":"double"},"replicas":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"secretName":{"type":"string"},"secretTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","secretName","secretTarget","uid","gid","mode"]}},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]},"ports":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"mode":{"type":"string"},"protocol":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","mode","protocol","hostPort"]}},"stack":{"type":"string"}},"required":["labels","tty","updatedAt","repository","dir","hosts","mounts","secrets","mode","command","createdAt","state","agent","variables","networks","ports","logdriver","healthcheck","status","id","replicas","deployment","stack","containerLabels","serviceName","version","resources","user","links","configs"]}}}},"summary":"Config services","tags":["config"]}},"/api/public/repositories":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"query","name":"query","description":"","type":"string","required":true},{"in":"query","name":"page","description":"","type":"integer","required":true,"format":"int64"}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"query":{"type":"string"},"page":{"type":"number","format":"double"},"limit":{"type":"number","format":"double"},"total":{"type":"number","format":"double"},"results":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"id":{"type":"number","format":"double"},"official":{"type":"string"},"private":{"type":"boolean"},"pulls":{"type":"number","format":"double"},"stars":{"type":"number","format":"double"}},"required":["name"]}}},"required":["query","page","limit","total","results"]}}},"summary":"Public repositories","tags":["repository"]}},"/api/repository/tags":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"query","name":"repository","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"string"}}}},"summary":"Repository tags","tags":["repository"]}},"/api/repository/ports":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"query","name":"repository","description":"","type":"string","required":true},{"in":"query","name":"repositoryTag","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"protocol":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","protocol","hostPort"]}}}},"summary":"Repository ports","tags":["repository"]}},"/api/networks":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}}}},"summary":"Network list","tags":["network"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"ingress":{"type":"boolean"},"enableIPv6":{"type":"boolean"},"internal":{"type":"boolean"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"networkName":{"type":"string"},"driver":{"type":"string"},"attachable":{"type":"boolean"}},"required":["ingress","enableIPv6","internal","ipam","options","networkName","driver","attachable"]}}],"responses":{"201":{"description":"Success","schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}},"summary":"Create network","tags":["network"]}},"/api/networks/{id}":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}}},"summary":"Network info","tags":["network"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Delete network","tags":["network"]}},"/api/networks/{id}/services":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"agent":{"type":"boolean"},"configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"configName":{"type":"string"},"configTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","configName","configTarget","uid","gid","mode"]}},"command":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"createdAt":{"type":"string"},"user":{"type":"string"},"containerLabels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"logdriver":{"type":"object","properties":{"name":{"type":"string"},"opts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name","opts"]},"tty":{"type":"boolean"},"repository":{"type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"},"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["name","tag","image","imageDigest"]},"id":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}},"mode":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"mounts":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"id":{"type":"string"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{}},"required":["name","options"]}},"required":["labels","driver"]},"readOnly":{"type":"boolean"},"stack":{"type":"string"}},"required":["containerPath","host","type","id","volumeOptions","readOnly","stack"]}},"status":{"type":"object","properties":{"tasks":{"type":"object","properties":{"running":{"type":"number","format":"double"},"total":{"type":"number","format":"double"}},"required":["running","total"]},"update":{"type":"string"},"message":{"type":"string"}},"required":["tasks","update","message"]},"serviceName":{"type":"string"},"deployment":{"type":"object","properties":{"update":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"forceUpdate":{"type":"number","format":"double"},"restartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"number","format":"double"},"window":{"type":"number","format":"double"},"attempts":{"type":"number","format":"double"}},"required":["condition","delay","window","attempts"]},"rollback":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"rollbackAllowed":{"type":"boolean"},"autoredeploy":{"type":"boolean"},"placement":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"}},"required":["rule"]}}},"required":["update","forceUpdate","restartPolicy","rollback","rollbackAllowed","autoredeploy","placement"]},"healthcheck":{"type":"object","properties":{"test":{"type":"array","items":{"type":"string"}},"interval":{"type":"number","format":"double"},"timeout":{"type":"number","format":"double"},"retries":{"type":"number","format":"double"}},"required":["test","interval","timeout","retries"]},"dir":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"state":{"type":"string"},"version":{"type":"number","format":"double"},"replicas":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"secretName":{"type":"string"},"secretTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","secretName","secretTarget","uid","gid","mode"]}},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]},"ports":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"mode":{"type":"string"},"protocol":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","mode","protocol","hostPort"]}},"stack":{"type":"string"}},"required":["labels","tty","updatedAt","repository","dir","hosts","mounts","secrets","mode","command","createdAt","state","agent","variables","networks","ports","logdriver","healthcheck","status","id","replicas","deployment","stack","containerLabels","serviceName","version","resources","user","links","configs"]}}}},"summary":"Network services","tags":["network"]}},"/api/nodes":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"leader":{"type":"boolean"},"os":{"type":"string"},"availability":{"type":"string"},"id":{"type":"string"},"nodeName":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"address":{"type":"string"},"engine":{"type":"string"},"state":{"type":"string"},"version":{"type":"number","format":"double"},"arch":{"type":"string"},"plugins":{"type":"object","properties":{"networks":{"type":"array","items":{"type":"string"}},"volumes":{"type":"array","items":{"type":"string"}}},"required":["networks","volumes"]},"resources":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["role","labels","address","availability","arch","state","leader","id","nodeName","plugins","os","engine","version","resources"]}}}},"summary":"Node list","tags":["node"]}},"/api/nodes/ts":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"time":{"type":"array","items":{"type":"string"}},"cpu":{"type":"array","items":{"type":"number","format":"double"}},"memory":{"type":"array","items":{"type":"number","format":"double"}}},"required":["name","time","cpu","memory"]}}},"400":{"description":"Statistics disabled","schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}},"summary":"Nodes timeseries","tags":["node"]}},"/api/nodes/{id}":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"role":{"type":"string"},"leader":{"type":"boolean"},"os":{"type":"string"},"availability":{"type":"string"},"id":{"type":"string"},"nodeName":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"address":{"type":"string"},"engine":{"type":"string"},"state":{"type":"string"},"version":{"type":"number","format":"double"},"arch":{"type":"string"},"plugins":{"type":"object","properties":{"networks":{"type":"array","items":{"type":"string"}},"volumes":{"type":"array","items":{"type":"string"}}},"required":["networks","volumes"]},"resources":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["role","labels","address","availability","arch","state","leader","id","nodeName","plugins","os","engine","version","resources"]}}},"summary":"Node info","tags":["node"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"nodeName":{"type":"string"},"version":{"type":"number","format":"double"},"role":{"type":"string"},"availability":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["nodeName","version","role","availability","labels"]}}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Edit node","tags":["node"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Delete node","tags":["node"]}},"/api/nodes/{id}/tasks":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"desiredState":{"type":"string"},"createdAt":{"type":"string"},"logdriver":{"type":"string"},"repository":{"type":"object","properties":{"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["image","imageDigest"]},"id":{"type":"string"},"taskName":{"type":"string"},"nodeId":{"type":"string"},"nodeName":{"type":"string"},"status":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]},"serviceName":{"type":"string"},"state":{"type":"string"},"version":{"type":"number","format":"double"},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]}},"required":["updatedAt","repository","nodeId","createdAt","state","desiredState","logdriver","status","id","nodeName","serviceName","version","resources","taskName"]}}}},"summary":"Node tasks","tags":["node"]}},"/api/nodes/{id}/dashboard":{"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Pin node to dashboard","tags":["node"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Detache node from dashboard","tags":["node"]}},"/api/services":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"agent":{"type":"boolean"},"configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"configName":{"type":"string"},"configTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","configName","configTarget","uid","gid","mode"]}},"command":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"createdAt":{"type":"string"},"user":{"type":"string"},"containerLabels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"logdriver":{"type":"object","properties":{"name":{"type":"string"},"opts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name","opts"]},"tty":{"type":"boolean"},"repository":{"type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"},"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["name","tag","image","imageDigest"]},"id":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}},"mode":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"mounts":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"id":{"type":"string"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{}},"required":["name","options"]}},"required":["labels","driver"]},"readOnly":{"type":"boolean"},"stack":{"type":"string"}},"required":["containerPath","host","type","id","volumeOptions","readOnly","stack"]}},"status":{"type":"object","properties":{"tasks":{"type":"object","properties":{"running":{"type":"number","format":"double"},"total":{"type":"number","format":"double"}},"required":["running","total"]},"update":{"type":"string"},"message":{"type":"string"}},"required":["tasks","update","message"]},"serviceName":{"type":"string"},"deployment":{"type":"object","properties":{"update":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"forceUpdate":{"type":"number","format":"double"},"restartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"number","format":"double"},"window":{"type":"number","format":"double"},"attempts":{"type":"number","format":"double"}},"required":["condition","delay","window","attempts"]},"rollback":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"rollbackAllowed":{"type":"boolean"},"autoredeploy":{"type":"boolean"},"placement":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"}},"required":["rule"]}}},"required":["update","forceUpdate","restartPolicy","rollback","rollbackAllowed","autoredeploy","placement"]},"healthcheck":{"type":"object","properties":{"test":{"type":"array","items":{"type":"string"}},"interval":{"type":"number","format":"double"},"timeout":{"type":"number","format":"double"},"retries":{"type":"number","format":"double"}},"required":["test","interval","timeout","retries"]},"dir":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"state":{"type":"string"},"version":{"type":"number","format":"double"},"replicas":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"secretName":{"type":"string"},"secretTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","secretName","secretTarget","uid","gid","mode"]}},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]},"ports":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"mode":{"type":"string"},"protocol":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","mode","protocol","hostPort"]}},"stack":{"type":"string"}},"required":["labels","tty","updatedAt","repository","dir","hosts","mounts","secrets","mode","command","createdAt","state","agent","variables","networks","ports","logdriver","healthcheck","status","id","replicas","deployment","stack","containerLabels","serviceName","version","resources","user","links","configs"]}}}},"summary":"Service list","tags":["service"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"configs":{"type":"array","items":{"type":"object","properties":{"configName":{"type":"string"},"configTarget":{"type":"string"}},"required":["configName","configTarget"]}},"command":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"logdriver":{"type":"object","properties":{"name":{"type":"string"},"opts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name","opts"]},"repository":{"type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"}},"required":["name","tag"]},"networks":{"type":"array","items":{"type":"object","properties":{"networkName":{"type":"string"}},"required":["networkName"]}},"mode":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"mounts":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"readOnly":{"type":"boolean"}},"required":["containerPath","host","type","readOnly"]}},"serviceName":{"type":"string"},"deployment":{"type":"object","properties":{"update":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"restartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"number","format":"double"},"attempts":{"type":"number","format":"double"},"window":{"type":"number","format":"double"}},"required":["condition","delay","attempts"]},"rollback":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"autoredeploy":{"type":"boolean"},"placement":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"}},"required":["rule"]}}},"required":["update","restartPolicy","rollback","autoredeploy","placement"]},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"replicas":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"object","properties":{"secretName":{"type":"string"},"secretTarget":{"type":"string"}},"required":["secretName","secretTarget"]}},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]},"ports":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"protocol":{"type":"string"},"mode":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","protocol","mode","hostPort"]}}},"required":["labels","repository","hosts","mounts","secrets","mode","variables","networks","ports","logdriver","deployment","serviceName","resources","configs"]}}],"responses":{"201":{"description":"Success","schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}},"summary":"Create service","tags":["service"]}},"/api/services/ts/cpu":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"cpu":{"type":"object","properties":{"service":{"type":"string"},"time":{"type":"array","items":{"type":"string"}},"cpu":{"type":"array","items":{"type":"number","format":"double"}}},"required":["service","time","cpu"]},"memory":{"type":"object","properties":{"service":{"type":"string"},"time":{"type":"array","items":{"type":"string"}},"memory":{"type":"array","items":{"type":"number","format":"double"}}},"required":["service","time","memory"]}},"required":["cpu","memory"]}}},"400":{"description":"Statistics disabled","schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}},"summary":"Services cpu timeseries","tags":["service"]}},"/api/services/ts/memory":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"cpu":{"type":"object","properties":{"service":{"type":"string"},"time":{"type":"array","items":{"type":"string"}},"cpu":{"type":"array","items":{"type":"number","format":"double"}}},"required":["service","time","cpu"]},"memory":{"type":"object","properties":{"service":{"type":"string"},"time":{"type":"array","items":{"type":"string"}},"memory":{"type":"array","items":{"type":"number","format":"double"}}},"required":["service","time","memory"]}},"required":["cpu","memory"]}}},"400":{"description":"Statistics disabled","schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}},"summary":"Services ram timeseries","tags":["service"]}},"/api/services/{id}":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"updatedAt":{"type":"string"},"agent":{"type":"boolean"},"configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"configName":{"type":"string"},"configTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","configName","configTarget","uid","gid","mode"]}},"command":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"createdAt":{"type":"string"},"user":{"type":"string"},"containerLabels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"logdriver":{"type":"object","properties":{"name":{"type":"string"},"opts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name","opts"]},"tty":{"type":"boolean"},"repository":{"type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"},"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["name","tag","image","imageDigest"]},"id":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}},"mode":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"mounts":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"id":{"type":"string"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{}},"required":["name","options"]}},"required":["labels","driver"]},"readOnly":{"type":"boolean"},"stack":{"type":"string"}},"required":["containerPath","host","type","id","volumeOptions","readOnly","stack"]}},"status":{"type":"object","properties":{"tasks":{"type":"object","properties":{"running":{"type":"number","format":"double"},"total":{"type":"number","format":"double"}},"required":["running","total"]},"update":{"type":"string"},"message":{"type":"string"}},"required":["tasks","update","message"]},"serviceName":{"type":"string"},"deployment":{"type":"object","properties":{"update":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"forceUpdate":{"type":"number","format":"double"},"restartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"number","format":"double"},"window":{"type":"number","format":"double"},"attempts":{"type":"number","format":"double"}},"required":["condition","delay","window","attempts"]},"rollback":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"rollbackAllowed":{"type":"boolean"},"autoredeploy":{"type":"boolean"},"placement":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"}},"required":["rule"]}}},"required":["update","forceUpdate","restartPolicy","rollback","rollbackAllowed","autoredeploy","placement"]},"healthcheck":{"type":"object","properties":{"test":{"type":"array","items":{"type":"string"}},"interval":{"type":"number","format":"double"},"timeout":{"type":"number","format":"double"},"retries":{"type":"number","format":"double"}},"required":["test","interval","timeout","retries"]},"dir":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"state":{"type":"string"},"version":{"type":"number","format":"double"},"replicas":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"secretName":{"type":"string"},"secretTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","secretName","secretTarget","uid","gid","mode"]}},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]},"ports":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"mode":{"type":"string"},"protocol":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","mode","protocol","hostPort"]}},"stack":{"type":"string"}},"required":["labels","tty","updatedAt","repository","dir","hosts","mounts","secrets","mode","command","createdAt","state","agent","variables","networks","ports","logdriver","healthcheck","status","id","replicas","deployment","stack","containerLabels","serviceName","version","resources","user","links","configs"]}}},"summary":"Service info","tags":["service"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"agent":{"type":"boolean"},"configs":{"type":"array","items":{"type":"object","properties":{"configName":{"type":"string"},"configTarget":{"type":"string"}},"required":["configName","configTarget"]}},"command":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"immutable":{"type":"boolean"},"user":{"type":"string"},"containerLabels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"logdriver":{"type":"object","properties":{"name":{"type":"string"},"opts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name","opts"]},"tty":{"type":"boolean"},"repository":{"type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"}},"required":["name","tag"]},"networks":{"type":"array","items":{"type":"object","properties":{"networkName":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}}},"required":["networkName"]}},"mode":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"mounts":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"readOnly":{"type":"boolean"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name"]}}}},"required":["containerPath","host","type","readOnly"]}},"serviceName":{"type":"string"},"deployment":{"type":"object","properties":{"update":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"restartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"number","format":"double"},"attempts":{"type":"number","format":"double"},"window":{"type":"number","format":"double"}},"required":["condition","delay","attempts"]},"rollback":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"autoredeploy":{"type":"boolean"},"placement":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"}},"required":["rule"]}}},"required":["update","restartPolicy","rollback","autoredeploy","placement"]},"healthcheck":{"type":"object","properties":{"test":{"type":"array","items":{"type":"string"}},"interval":{"type":"number","format":"double"},"timeout":{"type":"number","format":"double"},"retries":{"type":"number","format":"double"}},"required":["test","interval","timeout","retries"]},"dir":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"version":{"type":"number","format":"double"},"replicas":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"object","properties":{"secretName":{"type":"string"},"secretTarget":{"type":"string"}},"required":["secretName","secretTarget"]}},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]},"ports":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"protocol":{"type":"string"},"mode":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","protocol","mode","hostPort"]}},"stack":{"type":"string"}},"required":["labels","repository","hosts","mounts","secrets","mode","variables","networks","ports","logdriver","deployment","serviceName","version","resources","configs"]}}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Edit service","tags":["service"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Delete service","tags":["service"]}},"/api/services/{id}/logs":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true},{"in":"query","name":"since","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"line":{"type":"string"},"timestamp":{"type":"string"},"task":{"type":"string"}},"required":["line","timestamp","task"]}}},"summary":"Service logs","tags":["service"]}},"/api/services/{id}/networks":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}}}},"summary":"Service networks","tags":["service"]}},"/api/services/{id}/tasks":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"desiredState":{"type":"string"},"createdAt":{"type":"string"},"logdriver":{"type":"string"},"repository":{"type":"object","properties":{"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["image","imageDigest"]},"id":{"type":"string"},"taskName":{"type":"string"},"nodeId":{"type":"string"},"nodeName":{"type":"string"},"status":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]},"serviceName":{"type":"string"},"state":{"type":"string"},"version":{"type":"number","format":"double"},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]}},"required":["updatedAt","repository","nodeId","createdAt","state","desiredState","logdriver","status","id","nodeName","serviceName","version","resources","taskName"]}}}},"summary":"Service tasks","tags":["service"]}},"/api/services/{id}/compose":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"name":{"type":"string"},"spec":{"type":"object","properties":{"compose":{"type":"string"}},"required":["compose"]}},"required":["name","spec"]}}},"summary":"Service compose","tags":["service"]}},"/api/services/{id}/redeploy":{"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true},{"in":"query","name":"tag","description":"","type":"string","required":false}],"responses":{"202":{"description":"Success","schema":null}},"summary":"Redeploy service","description":"Redeploy service with newest image version or different tag if specified","tags":["service"]}},"/api/services/{id}/rollback":{"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"202":{"description":"Success","schema":null}},"summary":"Rollback service","tags":["service"]}},"/api/services/{id}/stop":{"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Stop service","tags":["service"]}},"/api/services/{id}/dashboard":{"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Pin service to dashboard","tags":["service"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"id","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Detache service from dashboard","tags":["service"]}},"/api/volumes":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"driver":{"type":"string"},"mountpoint":{"type":"string"},"id":{"type":"string"},"volumeName":{"type":"string"},"labels":{"type":"object"},"scope":{"type":"string"},"size":{"type":"number","format":"double"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","scope","size","id","stack","options","driver","mountpoint","volumeName"]}}}},"summary":"Volume list","tags":["volume"]},"post":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"driver":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"volumeName":{"type":"string"}},"required":["driver","options","volumeName"]}}],"responses":{"201":{"description":"Success","schema":{"type":"object","properties":{"driver":{"type":"string"},"mountpoint":{"type":"string"},"id":{"type":"string"},"volumeName":{"type":"string"},"labels":{"type":"object"},"scope":{"type":"string"},"size":{"type":"number","format":"double"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","scope","size","id","stack","options","driver","mountpoint","volumeName"]}}},"summary":"Create volume","tags":["volume"]}},"/api/volumes/{name}":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"driver":{"type":"string"},"mountpoint":{"type":"string"},"id":{"type":"string"},"volumeName":{"type":"string"},"labels":{"type":"object"},"scope":{"type":"string"},"size":{"type":"number","format":"double"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","scope","size","id","stack","options","driver","mountpoint","volumeName"]}}},"summary":"Volume info","tags":["volume"]},"delete":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":null}},"summary":"Delete volume","tags":["volume"]}},"/api/volumes/{name}/services":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true},{"in":"path","name":"name","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"object","properties":{"updatedAt":{"type":"string"},"agent":{"type":"boolean"},"configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"configName":{"type":"string"},"configTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","configName","configTarget","uid","gid","mode"]}},"command":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"createdAt":{"type":"string"},"user":{"type":"string"},"containerLabels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"logdriver":{"type":"object","properties":{"name":{"type":"string"},"opts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["name","opts"]},"tty":{"type":"boolean"},"repository":{"type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"},"image":{"type":"string"},"imageDigest":{"type":"string"}},"required":["name","tag","image","imageDigest"]},"id":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"created":{"type":"string"},"serviceAliases":{"type":"array","items":{"type":"string"}},"internal":{"type":"boolean"},"attachable":{"type":"boolean"},"driver":{"type":"string"},"ingress":{"type":"boolean"},"id":{"type":"string"},"enableIPv6":{"type":"boolean"},"labels":{"type":"object"},"scope":{"type":"string"},"ipam":{"type":"object","properties":{"subnet":{"type":"string"},"gateway":{"type":"string"}},"required":["subnet","gateway"]},"networkName":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{}},"required":["name","value"]}},"stack":{"type":"string"}},"required":["labels","ingress","enableIPv6","created","scope","internal","id","ipam","stack","options","networkName","driver","attachable","serviceAliases"]}},"mode":{"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"mounts":{"type":"array","items":{"type":"object","properties":{"containerPath":{"type":"string"},"host":{"type":"string"},"type":{"type":"string"},"id":{"type":"string"},"volumeOptions":{"type":"object","properties":{"labels":{"type":"object"},"driver":{"type":"object","properties":{"name":{"type":"string"},"options":{}},"required":["name","options"]}},"required":["labels","driver"]},"readOnly":{"type":"boolean"},"stack":{"type":"string"}},"required":["containerPath","host","type","id","volumeOptions","readOnly","stack"]}},"status":{"type":"object","properties":{"tasks":{"type":"object","properties":{"running":{"type":"number","format":"double"},"total":{"type":"number","format":"double"}},"required":["running","total"]},"update":{"type":"string"},"message":{"type":"string"}},"required":["tasks","update","message"]},"serviceName":{"type":"string"},"deployment":{"type":"object","properties":{"update":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"forceUpdate":{"type":"number","format":"double"},"restartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"number","format":"double"},"window":{"type":"number","format":"double"},"attempts":{"type":"number","format":"double"}},"required":["condition","delay","window","attempts"]},"rollback":{"type":"object","properties":{"parallelism":{"type":"number","format":"double"},"delay":{"type":"number","format":"double"},"order":{"type":"string"},"failureAction":{"type":"string"}},"required":["parallelism","delay","order","failureAction"]},"rollbackAllowed":{"type":"boolean"},"autoredeploy":{"type":"boolean"},"placement":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"}},"required":["rule"]}}},"required":["update","forceUpdate","restartPolicy","rollback","rollbackAllowed","autoredeploy","placement"]},"healthcheck":{"type":"object","properties":{"test":{"type":"array","items":{"type":"string"}},"interval":{"type":"number","format":"double"},"timeout":{"type":"number","format":"double"},"retries":{"type":"number","format":"double"}},"required":["test","interval","timeout","retries"]},"dir":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"links":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"state":{"type":"string"},"version":{"type":"number","format":"double"},"replicas":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"secretName":{"type":"string"},"secretTarget":{"type":"string"},"uid":{"type":"number","format":"double"},"gid":{"type":"number","format":"double"},"mode":{"type":"number","format":"double"}},"required":["id","secretName","secretTarget","uid","gid","mode"]}},"resources":{"type":"object","properties":{"reservation":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]},"limit":{"type":"object","properties":{"cpu":{"type":"number","format":"double"},"memory":{"type":"number","format":"double"}},"required":["cpu","memory"]}},"required":["reservation","limit"]},"ports":{"type":"array","items":{"type":"object","properties":{"containerPort":{"type":"number","format":"double"},"mode":{"type":"string"},"protocol":{"type":"string"},"hostPort":{"type":"number","format":"double"}},"required":["containerPort","mode","protocol","hostPort"]}},"stack":{"type":"string"}},"required":["labels","tty","updatedAt","repository","dir","hosts","mounts","secrets","mode","command","createdAt","state","agent","variables","networks","ports","logdriver","healthcheck","status","id","replicas","deployment","stack","containerLabels","serviceName","version","resources","user","links","configs"]}}}},"summary":"Volume services","tags":["volume"]}},"/api/placement":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"string"}}}},"summary":"Placement constraints","tags":["placement"]}},"/api/labels/service":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"string"}}}},"summary":"Service labels","tags":["label"]}},"/api/plugin/network":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"string"}}}},"summary":"Network plugins","tags":["plugin"]}},"/api/plugin/log":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"string"}}}},"summary":"Logging plugins","tags":["plugin"]}},"/api/plugin/volume":{"get":{"produces":["application/json","application/transit+json","application/edn"],"consumes":["application/json","application/transit+json","application/edn"],"parameters":[{"in":"header","name":"authorization","description":"","type":"string","required":true}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"type":"string"}}}},"summary":"Volume plugins","tags":["plugin"]}}}}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "Node16",
|
|
5
|
+
"moduleResolution": "Node16",
|
|
6
|
+
"outDir": "dist",
|
|
7
|
+
"rootDir": "src",
|
|
8
|
+
"strict": true,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"declaration": true,
|
|
11
|
+
"sourceMap": true,
|
|
12
|
+
"skipLibCheck": true
|
|
13
|
+
},
|
|
14
|
+
"include": ["src"]
|
|
15
|
+
}
|