From d9f5d2047327f0d9b0a2dcdcdf7a5625cb9793e5 Mon Sep 17 00:00:00 2001
From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
Date: Sun, 1 Sep 2024 23:11:17 -0600
Subject: [PATCH] chore(docs): update api.json endpoints
---
apps/docs/api.json | 3116 +++++++++++++++--
apps/docs/content/docs/api/meta.json | 5 +
.../api/reference-api/reference-admin.mdx | 402 +--
.../reference-api/reference-application.mdx | 616 ++--
.../docs/api/reference-api/reference-auth.mdx | 24 +-
.../api/reference-api/reference-backup.mdx | 10 +-
.../api/reference-api/reference-bitbucket.mdx | 779 +++++
.../reference-api/reference-certificates.mdx | 10 +-
.../api/reference-api/reference-compose.mdx | 607 ++--
.../reference-api/reference-deployment.mdx | 4 +-
.../reference-api/reference-destination.mdx | 6 +-
.../api/reference-api/reference-docker.mdx | 14 +-
.../api/reference-api/reference-domain.mdx | 124 +-
.../reference-api/reference-gitProvider.mdx | 203 ++
.../api/reference-api/reference-github.mdx | 661 ++++
.../api/reference-api/reference-gitlab.mdx | 816 +++++
.../api/reference-api/reference-mariadb.mdx | 28 +-
.../api/reference-api/reference-mongo.mdx | 24 +-
.../api/reference-api/reference-mounts.mdx | 30 +-
.../api/reference-api/reference-mysql.mdx | 28 +-
.../reference-api/reference-notification.mdx | 1957 +++++++++++
.../docs/api/reference-api/reference-port.mdx | 16 +-
.../api/reference-api/reference-postgres.mdx | 22 +-
.../api/reference-api/reference-project.mdx | 10 +-
.../api/reference-api/reference-redirects.mdx | 14 +-
.../api/reference-api/reference-redis.mdx | 20 +-
.../api/reference-api/reference-registry.mdx | 40 +-
.../api/reference-api/reference-security.mdx | 14 +-
.../api/reference-api/reference-settings.mdx | 489 ++-
.../api/reference-api/reference-sshKey.mdx | 634 ++++
.../docs/api/reference-api/reference-user.mdx | 4 +-
.../general/generic/save-gitlab-provider.tsx | 2 +-
.../settings/web-server/edit-traefik-env.tsx | 4 +-
apps/dokploy/server/api/routers/settings.ts | 8 +-
apps/dokploy/server/db/schema/gitlab.ts | 2 +-
apps/dokploy/server/utils/providers/gitlab.ts | 4 +-
36 files changed, 9345 insertions(+), 1402 deletions(-)
create mode 100644 apps/docs/content/docs/api/reference-api/reference-bitbucket.mdx
create mode 100644 apps/docs/content/docs/api/reference-api/reference-gitProvider.mdx
create mode 100644 apps/docs/content/docs/api/reference-api/reference-github.mdx
create mode 100644 apps/docs/content/docs/api/reference-api/reference-gitlab.mdx
create mode 100644 apps/docs/content/docs/api/reference-api/reference-notification.mdx
create mode 100644 apps/docs/content/docs/api/reference-api/reference-sshKey.mdx
diff --git a/apps/docs/api.json b/apps/docs/api.json
index bce590de..07453802 100644
--- a/apps/docs/api.json
+++ b/apps/docs/api.json
@@ -3,7 +3,7 @@
"info": {
"title": "Dokploy API",
"description": "Endpoints for dokploy",
- "version": "v0.2.5"
+ "version": "v0.7.3"
},
"servers": [
{
@@ -201,6 +201,12 @@
},
"canAccessToAPI": {
"type": "boolean"
+ },
+ "canAccessToSSHKeys": {
+ "type": "boolean"
+ },
+ "canAccessToGitProviders": {
+ "type": "boolean"
}
},
"required": [
@@ -213,7 +219,9 @@
"accesedServices",
"canAccessToTraefikFiles",
"canAccessToDocker",
- "canAccessToAPI"
+ "canAccessToAPI",
+ "canAccessToSSHKeys",
+ "canAccessToGitProviders"
],
"additionalProperties": false
}
@@ -234,117 +242,6 @@
}
}
},
- "/admin.cleanGithubApp": {
- "post": {
- "operationId": "admin-cleanGithubApp",
- "tags": ["admin"],
- "security": [
- {
- "Authorization": []
- }
- ],
- "parameters": [],
- "responses": {
- "200": {
- "description": "Successful response",
- "content": {
- "application/json": {}
- }
- },
- "default": {
- "$ref": "#/components/responses/error"
- }
- }
- }
- },
- "/admin.getRepositories": {
- "get": {
- "operationId": "admin-getRepositories",
- "tags": ["admin"],
- "security": [
- {
- "Authorization": []
- }
- ],
- "parameters": [],
- "responses": {
- "200": {
- "description": "Successful response",
- "content": {
- "application/json": {}
- }
- },
- "default": {
- "$ref": "#/components/responses/error"
- }
- }
- }
- },
- "/admin.getBranches": {
- "get": {
- "operationId": "admin-getBranches",
- "tags": ["admin"],
- "security": [
- {
- "Authorization": []
- }
- ],
- "parameters": [
- {
- "name": "repo",
- "in": "query",
- "required": true,
- "schema": {
- "type": "string",
- "minLength": 1
- }
- },
- {
- "name": "owner",
- "in": "query",
- "required": true,
- "schema": {
- "type": "string",
- "minLength": 1
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Successful response",
- "content": {
- "application/json": {}
- }
- },
- "default": {
- "$ref": "#/components/responses/error"
- }
- }
- }
- },
- "/admin.haveGithubConfigured": {
- "get": {
- "operationId": "admin-haveGithubConfigured",
- "tags": ["admin"],
- "security": [
- {
- "Authorization": []
- }
- ],
- "parameters": [],
- "responses": {
- "200": {
- "description": "Successful response",
- "content": {
- "application/json": {}
- }
- },
- "default": {
- "$ref": "#/components/responses/error"
- }
- }
- }
- },
"/docker.getContainers": {
"get": {
"operationId": "docker-getContainers",
@@ -411,6 +308,23 @@
}
],
"parameters": [
+ {
+ "name": "appType",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "enum": ["stack"]
+ },
+ {
+ "type": "string",
+ "enum": ["docker-compose"]
+ }
+ ]
+ }
+ },
{
"name": "appName",
"in": "query",
@@ -1502,6 +1416,10 @@
"env": {
"type": "string",
"nullable": true
+ },
+ "buildArgs": {
+ "type": "string",
+ "nullable": true
}
},
"required": ["applicationId"],
@@ -1549,15 +1467,24 @@
"dockerfile",
"heroku_buildpacks",
"paketo_buildpacks",
- "nixpacks"
+ "nixpacks",
+ "static"
]
},
"dockerfile": {
"type": "string",
"nullable": true
+ },
+ "dockerContextPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "publishDirectory": {
+ "type": "string",
+ "nullable": true
}
},
- "required": ["applicationId", "buildType"],
+ "required": ["applicationId", "buildType", "dockerContextPath"],
"additionalProperties": false
}
}
@@ -1611,9 +1538,157 @@
"buildPath": {
"type": "string",
"nullable": true
+ },
+ "githubId": {
+ "type": "string",
+ "nullable": true
}
},
- "required": ["applicationId", "owner"],
+ "required": ["applicationId", "owner", "githubId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.saveGitlabProvider": {
+ "post": {
+ "operationId": "application-saveGitlabProvider",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string"
+ },
+ "gitlabBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabId": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabProjectId": {
+ "type": "number",
+ "nullable": true
+ },
+ "gitlabPathNamespace": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "applicationId",
+ "gitlabBranch",
+ "gitlabBuildPath",
+ "gitlabOwner",
+ "gitlabRepository",
+ "gitlabId",
+ "gitlabProjectId",
+ "gitlabPathNamespace"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/application.saveBitbucketProvider": {
+ "post": {
+ "operationId": "application-saveBitbucketProvider",
+ "tags": ["application"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "bitbucketBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketId": {
+ "type": "string",
+ "nullable": true
+ },
+ "applicationId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "bitbucketBranch",
+ "bitbucketBuildPath",
+ "bitbucketOwner",
+ "bitbucketRepository",
+ "bitbucketId",
+ "applicationId"
+ ],
"additionalProperties": false
}
}
@@ -1715,86 +1790,10 @@
"customGitUrl": {
"type": "string",
"nullable": true
- }
- },
- "required": ["applicationId"],
- "additionalProperties": false
- }
- }
- }
- },
- "parameters": [],
- "responses": {
- "200": {
- "description": "Successful response",
- "content": {
- "application/json": {}
- }
- },
- "default": {
- "$ref": "#/components/responses/error"
- }
- }
- }
- },
- "/application.generateSSHKey": {
- "post": {
- "operationId": "application-generateSSHKey",
- "tags": ["application"],
- "security": [
- {
- "Authorization": []
- }
- ],
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "properties": {
- "applicationId": {
- "type": "string"
- }
- },
- "required": ["applicationId"],
- "additionalProperties": false
- }
- }
- }
- },
- "parameters": [],
- "responses": {
- "200": {
- "description": "Successful response",
- "content": {
- "application/json": {}
- }
- },
- "default": {
- "$ref": "#/components/responses/error"
- }
- }
- }
- },
- "/application.removeSSHKey": {
- "post": {
- "operationId": "application-removeSSHKey",
- "tags": ["application"],
- "security": [
- {
- "Authorization": []
- }
- ],
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "properties": {
- "applicationId": {
- "type": "string"
+ },
+ "customGitSSHKeyId": {
+ "type": "string",
+ "nullable": true
}
},
"required": ["applicationId"],
@@ -1892,6 +1891,10 @@
"type": "string",
"nullable": true
},
+ "buildArgs": {
+ "type": "string",
+ "nullable": true
+ },
"memoryReservation": {
"type": "number",
"nullable": true
@@ -1952,6 +1955,46 @@
"type": "boolean",
"nullable": true
},
+ "gitlabProjectId": {
+ "type": "number",
+ "nullable": true
+ },
+ "gitlabRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabPathNamespace": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
"username": {
"type": "string",
"nullable": true
@@ -1976,7 +2019,7 @@
"type": "string",
"nullable": true
},
- "customGitSSHKey": {
+ "customGitSSHKeyId": {
"type": "string",
"nullable": true
},
@@ -1984,6 +2027,14 @@
"type": "string",
"nullable": true
},
+ "dockerContextPath": {
+ "type": "string",
+ "nullable": true
+ },
+ "dropBuildPath": {
+ "type": "string",
+ "nullable": true
+ },
"healthCheckSwarm": {
"type": "object",
"properties": {
@@ -2214,9 +2265,14 @@
"dockerfile",
"heroku_buildpacks",
"paketo_buildpacks",
- "nixpacks"
+ "nixpacks",
+ "static"
]
},
+ "publishDirectory": {
+ "type": "string",
+ "nullable": true
+ },
"createdAt": {
"type": "string"
},
@@ -2226,6 +2282,18 @@
},
"projectId": {
"type": "string"
+ },
+ "githubId": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabId": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketId": {
+ "type": "string",
+ "nullable": true
}
},
"required": ["applicationId"],
@@ -5330,7 +5398,7 @@
},
"sourceType": {
"type": "string",
- "enum": ["git", "github", "raw"]
+ "enum": ["git", "github", "gitlab", "bitbucket", "raw"]
},
"composeType": {
"type": "string",
@@ -5352,6 +5420,38 @@
"type": "boolean",
"nullable": true
},
+ "gitlabProjectId": {
+ "type": "number",
+ "nullable": true
+ },
+ "gitlabRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabBranch": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabPathNamespace": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketRepository": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketOwner": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketBranch": {
+ "type": "string",
+ "nullable": true
+ },
"customGitUrl": {
"type": "string",
"nullable": true
@@ -5360,7 +5460,7 @@
"type": "string",
"nullable": true
},
- "customGitSSHKey": {
+ "customGitSSHKeyId": {
"type": "string",
"nullable": true
},
@@ -5380,6 +5480,18 @@
},
"createdAt": {
"type": "string"
+ },
+ "githubId": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitlabId": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketId": {
+ "type": "string",
+ "nullable": true
}
},
"required": ["composeId"],
@@ -5484,9 +5596,9 @@
}
}
},
- "/compose.allServices": {
+ "/compose.loadServices": {
"get": {
- "operationId": "compose-allServices",
+ "operationId": "compose-loadServices",
"tags": ["compose"],
"security": [
{
@@ -5502,6 +5614,23 @@
"type": "string",
"minLength": 1
}
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "not": {}
+ },
+ {
+ "type": "string",
+ "enum": ["fetch", "cache"]
+ }
+ ],
+ "default": "cache"
+ }
}
],
"responses": {
@@ -5517,6 +5646,47 @@
}
}
},
+ "/compose.fetchSourceType": {
+ "post": {
+ "operationId": "compose-fetchSourceType",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "composeId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["composeId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
"/compose.randomizeCompose": {
"post": {
"operationId": "compose-randomizeCompose",
@@ -5561,6 +5731,39 @@
}
}
},
+ "/compose.getConvertedCompose": {
+ "get": {
+ "operationId": "compose-getConvertedCompose",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "composeId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
"/compose.deploy": {
"post": {
"operationId": "compose-deploy",
@@ -5717,47 +5920,6 @@
}
}
},
- "/compose.generateSSHKey": {
- "post": {
- "operationId": "compose-generateSSHKey",
- "tags": ["compose"],
- "security": [
- {
- "Authorization": []
- }
- ],
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "properties": {
- "composeId": {
- "type": "string",
- "minLength": 1
- }
- },
- "required": ["composeId"],
- "additionalProperties": false
- }
- }
- }
- },
- "parameters": [],
- "responses": {
- "200": {
- "description": "Successful response",
- "content": {
- "application/json": {}
- }
- },
- "default": {
- "$ref": "#/components/responses/error"
- }
- }
- }
- },
"/compose.refreshToken": {
"post": {
"operationId": "compose-refreshToken",
@@ -5799,47 +5961,6 @@
}
}
},
- "/compose.removeSSHKey": {
- "post": {
- "operationId": "compose-removeSSHKey",
- "tags": ["compose"],
- "security": [
- {
- "Authorization": []
- }
- ],
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "properties": {
- "composeId": {
- "type": "string",
- "minLength": 1
- }
- },
- "required": ["composeId"],
- "additionalProperties": false
- }
- }
- }
- },
- "parameters": [],
- "responses": {
- "200": {
- "description": "Successful response",
- "content": {
- "application/json": {}
- }
- },
- "default": {
- "$ref": "#/components/responses/error"
- }
- }
- }
- },
"/compose.deployTemplate": {
"post": {
"operationId": "compose-deployTemplate",
@@ -5907,6 +6028,29 @@
}
}
},
+ "/compose.getTags": {
+ "get": {
+ "operationId": "compose-getTags",
+ "tags": ["compose"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
"/user.all": {
"get": {
"operationId": "user-all",
@@ -6023,27 +6167,36 @@
},
"port": {
"type": "number",
+ "minimum": 1,
+ "maximum": 65535,
"nullable": true
},
"https": {
"type": "boolean"
},
"applicationId": {
- "type": "string"
+ "type": "string",
+ "nullable": true
},
"certificateType": {
"type": "string",
"enum": ["letsencrypt", "none"]
+ },
+ "composeId": {
+ "type": "string",
+ "nullable": true
+ },
+ "serviceName": {
+ "type": "string",
+ "nullable": true
+ },
+ "domainType": {
+ "type": "string",
+ "enum": ["compose", "application"],
+ "nullable": true
}
},
- "required": [
- "host",
- "path",
- "port",
- "https",
- "applicationId",
- "certificateType"
- ],
+ "required": ["host"],
"additionalProperties": false
}
}
@@ -6095,6 +6248,39 @@
}
}
},
+ "/domain.byComposeId": {
+ "get": {
+ "operationId": "domain-byComposeId",
+ "tags": ["domain"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "composeId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
"/domain.generateDomain": {
"post": {
"operationId": "domain-generateDomain",
@@ -6111,51 +6297,12 @@
"schema": {
"type": "object",
"properties": {
- "applicationId": {
- "type": "string"
+ "appName": {
+ "type": "string",
+ "minLength": 1
}
},
- "required": ["applicationId"],
- "additionalProperties": false
- }
- }
- }
- },
- "parameters": [],
- "responses": {
- "200": {
- "description": "Successful response",
- "content": {
- "application/json": {}
- }
- },
- "default": {
- "$ref": "#/components/responses/error"
- }
- }
- }
- },
- "/domain.generateWildcard": {
- "post": {
- "operationId": "domain-generateWildcard",
- "tags": ["domain"],
- "security": [
- {
- "Authorization": []
- }
- ],
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "properties": {
- "applicationId": {
- "type": "string"
- }
- },
- "required": ["applicationId"],
+ "required": ["appName"],
"additionalProperties": false
}
}
@@ -6191,10 +6338,6 @@
"schema": {
"type": "object",
"properties": {
- "domainId": {
- "type": "string",
- "minLength": 1
- },
"host": {
"type": "string",
"minLength": 1
@@ -6206,6 +6349,8 @@
},
"port": {
"type": "number",
+ "minimum": 1,
+ "maximum": 65535,
"nullable": true
},
"https": {
@@ -6214,16 +6359,21 @@
"certificateType": {
"type": "string",
"enum": ["letsencrypt", "none"]
+ },
+ "serviceName": {
+ "type": "string",
+ "nullable": true
+ },
+ "domainType": {
+ "type": "string",
+ "enum": ["compose", "application"],
+ "nullable": true
+ },
+ "domainId": {
+ "type": "string"
}
},
- "required": [
- "domainId",
- "host",
- "path",
- "port",
- "https",
- "certificateType"
- ],
+ "required": ["host", "domainId"],
"additionalProperties": false
}
}
@@ -6258,8 +6408,7 @@
"in": "query",
"required": true,
"schema": {
- "type": "string",
- "minLength": 1
+ "type": "string"
}
}
],
@@ -6293,8 +6442,7 @@
"type": "object",
"properties": {
"domainId": {
- "type": "string",
- "minLength": 1
+ "type": "string"
}
},
"required": ["domainId"],
@@ -7097,6 +7245,10 @@
],
"default": "application"
},
+ "filePath": {
+ "type": "string",
+ "nullable": true
+ },
"serviceId": {
"type": "string",
"minLength": 1
@@ -7226,6 +7378,10 @@
"type": "string",
"nullable": true
},
+ "filePath": {
+ "type": "string",
+ "nullable": true
+ },
"content": {
"type": "string",
"nullable": true
@@ -7498,6 +7654,45 @@
}
}
},
+ "/settings.toggleDashboard": {
+ "post": {
+ "operationId": "settings-toggleDashboard",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "enableDashboard": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
"/settings.cleanUnusedImages": {
"post": {
"operationId": "settings-cleanUnusedImages",
@@ -8174,6 +8369,29 @@
}
}
},
+ "/settings.getIp": {
+ "get": {
+ "operationId": "settings-getIp",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
"/settings.getOpenApiDocument": {
"get": {
"operationId": "settings-getOpenApiDocument",
@@ -8197,6 +8415,92 @@
}
}
},
+ "/settings.readTraefikEnv": {
+ "get": {
+ "operationId": "settings-readTraefikEnv",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.writeTraefikEnv": {
+ "post": {
+ "operationId": "settings-writeTraefikEnv",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "env": {
+ "type": "string"
+ }
+ },
+ "required": ["env"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/settings.haveTraefikDashboardPortEnabled": {
+ "get": {
+ "operationId": "settings-haveTraefikDashboardPortEnabled",
+ "tags": ["settings"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
"/security.create": {
"post": {
"operationId": "security-create",
@@ -9187,6 +9491,2099 @@
}
}
}
+ },
+ "/notification.createSlack": {
+ "post": {
+ "operationId": "notification-createSlack",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ },
+ "channel": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "appBuildError",
+ "databaseBackup",
+ "dokployRestart",
+ "name",
+ "appDeploy",
+ "dockerCleanup",
+ "webhookUrl",
+ "channel"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.updateSlack": {
+ "post": {
+ "operationId": "notification-updateSlack",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ },
+ "channel": {
+ "type": "string"
+ },
+ "notificationId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "slackId": {
+ "type": "string"
+ }
+ },
+ "required": ["notificationId", "slackId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.testSlackConnection": {
+ "post": {
+ "operationId": "notification-testSlackConnection",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ },
+ "channel": {
+ "type": "string"
+ }
+ },
+ "required": ["webhookUrl", "channel"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.createTelegram": {
+ "post": {
+ "operationId": "notification-createTelegram",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "botToken": {
+ "type": "string",
+ "minLength": 1
+ },
+ "chatId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "appBuildError",
+ "databaseBackup",
+ "dokployRestart",
+ "name",
+ "appDeploy",
+ "dockerCleanup",
+ "botToken",
+ "chatId"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.updateTelegram": {
+ "post": {
+ "operationId": "notification-updateTelegram",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "botToken": {
+ "type": "string",
+ "minLength": 1
+ },
+ "chatId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "notificationId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "telegramId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["notificationId", "telegramId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.testTelegramConnection": {
+ "post": {
+ "operationId": "notification-testTelegramConnection",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "botToken": {
+ "type": "string",
+ "minLength": 1
+ },
+ "chatId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["botToken", "chatId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.createDiscord": {
+ "post": {
+ "operationId": "notification-createDiscord",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "appBuildError",
+ "databaseBackup",
+ "dokployRestart",
+ "name",
+ "appDeploy",
+ "dockerCleanup",
+ "webhookUrl"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.updateDiscord": {
+ "post": {
+ "operationId": "notification-updateDiscord",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ },
+ "notificationId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "discordId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["notificationId", "discordId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.testDiscordConnection": {
+ "post": {
+ "operationId": "notification-testDiscordConnection",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookUrl": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["webhookUrl"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.createEmail": {
+ "post": {
+ "operationId": "notification-createEmail",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "smtpServer": {
+ "type": "string",
+ "minLength": 1
+ },
+ "smtpPort": {
+ "type": "number",
+ "minimum": 1
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ },
+ "fromAddress": {
+ "type": "string",
+ "minLength": 1
+ },
+ "toAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "appBuildError",
+ "databaseBackup",
+ "dokployRestart",
+ "name",
+ "appDeploy",
+ "dockerCleanup",
+ "smtpServer",
+ "smtpPort",
+ "username",
+ "password",
+ "fromAddress",
+ "toAddresses"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.updateEmail": {
+ "post": {
+ "operationId": "notification-updateEmail",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appBuildError": {
+ "type": "boolean"
+ },
+ "databaseBackup": {
+ "type": "boolean"
+ },
+ "dokployRestart": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "appDeploy": {
+ "type": "boolean"
+ },
+ "dockerCleanup": {
+ "type": "boolean"
+ },
+ "smtpServer": {
+ "type": "string",
+ "minLength": 1
+ },
+ "smtpPort": {
+ "type": "number",
+ "minimum": 1
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ },
+ "fromAddress": {
+ "type": "string",
+ "minLength": 1
+ },
+ "toAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ },
+ "notificationId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "emailId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["notificationId", "emailId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.testEmailConnection": {
+ "post": {
+ "operationId": "notification-testEmailConnection",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "smtpServer": {
+ "type": "string",
+ "minLength": 1
+ },
+ "smtpPort": {
+ "type": "number",
+ "minimum": 1
+ },
+ "username": {
+ "type": "string",
+ "minLength": 1
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ },
+ "toAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ },
+ "fromAddress": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "smtpServer",
+ "smtpPort",
+ "username",
+ "password",
+ "toAddresses",
+ "fromAddress"
+ ],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.remove": {
+ "post": {
+ "operationId": "notification-remove",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "notificationId": {
+ "type": "string"
+ }
+ },
+ "required": ["notificationId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.one": {
+ "get": {
+ "operationId": "notification-one",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "notificationId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/notification.all": {
+ "get": {
+ "operationId": "notification-all",
+ "tags": ["notification"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.create": {
+ "post": {
+ "operationId": "sshKey-create",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "publicKey": {
+ "type": "string"
+ },
+ "privateKey": {
+ "type": "string"
+ }
+ },
+ "required": ["name", "publicKey", "privateKey"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.remove": {
+ "post": {
+ "operationId": "sshKey-remove",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sshKeyId": {
+ "type": "string"
+ }
+ },
+ "required": ["sshKeyId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.one": {
+ "get": {
+ "operationId": "sshKey-one",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "sshKeyId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.all": {
+ "get": {
+ "operationId": "sshKey-all",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.generate": {
+ "post": {
+ "operationId": "sshKey-generate",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["rsa", "ed25519"]
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/sshKey.update": {
+ "post": {
+ "operationId": "sshKey-update",
+ "tags": ["sshKey"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "lastUsedAt": {
+ "type": "string",
+ "nullable": true
+ },
+ "sshKeyId": {
+ "type": "string"
+ }
+ },
+ "required": ["sshKeyId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitProvider.getAll": {
+ "get": {
+ "operationId": "gitProvider-getAll",
+ "tags": ["gitProvider"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitProvider.remove": {
+ "post": {
+ "operationId": "gitProvider-remove",
+ "tags": ["gitProvider"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "gitProviderId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["gitProviderId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.create": {
+ "post": {
+ "operationId": "bitbucket-create",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "bitbucketId": {
+ "type": "string"
+ },
+ "bitbucketUsername": {
+ "type": "string"
+ },
+ "appPassword": {
+ "type": "string"
+ },
+ "bitbucketWorkspaceName": {
+ "type": "string"
+ },
+ "gitProviderId": {
+ "type": "string"
+ },
+ "authId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["authId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.one": {
+ "get": {
+ "operationId": "bitbucket-one",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "bitbucketId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.bitbucketProviders": {
+ "get": {
+ "operationId": "bitbucket-bitbucketProviders",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.getBitbucketRepositories": {
+ "get": {
+ "operationId": "bitbucket-getBitbucketRepositories",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "bitbucketId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.getBitbucketBranches": {
+ "get": {
+ "operationId": "bitbucket-getBitbucketBranches",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "owner",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "repo",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "bitbucketId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.testConnection": {
+ "post": {
+ "operationId": "bitbucket-testConnection",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "bitbucketId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "bitbucketUsername": {
+ "type": "string"
+ },
+ "workspaceName": {
+ "type": "string"
+ }
+ },
+ "required": ["bitbucketId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/bitbucket.update": {
+ "post": {
+ "operationId": "bitbucket-update",
+ "tags": ["bitbucket"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "bitbucketId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "bitbucketUsername": {
+ "type": "string"
+ },
+ "appPassword": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitbucketWorkspaceName": {
+ "type": "string"
+ },
+ "gitProviderId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["bitbucketId", "gitProviderId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.create": {
+ "post": {
+ "operationId": "gitlab-create",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "gitlabId": {
+ "type": "string"
+ },
+ "applicationId": {
+ "type": "string"
+ },
+ "redirectUri": {
+ "type": "string"
+ },
+ "secret": {
+ "type": "string"
+ },
+ "accessToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "refreshToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "groupName": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "number",
+ "nullable": true
+ },
+ "gitProviderId": {
+ "type": "string"
+ },
+ "authId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["authId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.one": {
+ "get": {
+ "operationId": "gitlab-one",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "gitlabId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.gitlabProviders": {
+ "get": {
+ "operationId": "gitlab-gitlabProviders",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.getGitlabRepositories": {
+ "get": {
+ "operationId": "gitlab-getGitlabRepositories",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "gitlabId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.getGitlabBranches": {
+ "get": {
+ "operationId": "gitlab-getGitlabBranches",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "number"
+ }
+ },
+ {
+ "name": "owner",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "repo",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "gitlabId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.testConnection": {
+ "post": {
+ "operationId": "gitlab-testConnection",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "gitlabId": {
+ "type": "string"
+ },
+ "groupName": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/gitlab.update": {
+ "post": {
+ "operationId": "gitlab-update",
+ "tags": ["gitlab"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "gitlabId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "applicationId": {
+ "type": "string"
+ },
+ "redirectUri": {
+ "type": "string"
+ },
+ "secret": {
+ "type": "string"
+ },
+ "accessToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "refreshToken": {
+ "type": "string",
+ "nullable": true
+ },
+ "groupName": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "number",
+ "nullable": true
+ },
+ "gitProviderId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["gitlabId", "gitProviderId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.one": {
+ "get": {
+ "operationId": "github-one",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "githubId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.getGithubRepositories": {
+ "get": {
+ "operationId": "github-getGithubRepositories",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "githubId",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.getGithubBranches": {
+ "get": {
+ "operationId": "github-getGithubBranches",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "repo",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ {
+ "name": "owner",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ {
+ "name": "githubId",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.githubProviders": {
+ "get": {
+ "operationId": "github-githubProviders",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.testConnection": {
+ "post": {
+ "operationId": "github-testConnection",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "githubId": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["githubId"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
+ },
+ "/github.update": {
+ "post": {
+ "operationId": "github-update",
+ "tags": ["github"],
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "githubId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "githubAppName": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubAppId": {
+ "type": "number",
+ "nullable": true
+ },
+ "githubClientId": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubClientSecret": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubInstallationId": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubPrivateKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubWebhookSecret": {
+ "type": "string",
+ "nullable": true
+ },
+ "gitProviderId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": ["githubId", "gitProviderId", "name"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "default": {
+ "$ref": "#/components/responses/error"
+ }
+ }
+ }
}
},
"components": {
@@ -9301,6 +11698,21 @@
},
{
"name": "mariadb"
+ },
+ {
+ "name": "sshRouter"
+ },
+ {
+ "name": "gitProvider"
+ },
+ {
+ "name": "bitbucket"
+ },
+ {
+ "name": "github"
+ },
+ {
+ "name": "gitlab"
}
],
"externalDocs": {
diff --git a/apps/docs/content/docs/api/meta.json b/apps/docs/content/docs/api/meta.json
index 62ed8cbd..09421f25 100644
--- a/apps/docs/content/docs/api/meta.json
+++ b/apps/docs/content/docs/api/meta.json
@@ -28,6 +28,11 @@
"reference-api/reference-registry",
"reference-api/reference-security",
"reference-api/reference-settings",
+ "reference-api/reference-sshKey",
+ "reference-api/reference-gitProvider",
+ "reference-api/reference-bitbucket",
+ "reference-api/reference-github",
+ "reference-api/reference-gitlab",
"reference-api/reference-user"
]
}
diff --git a/apps/docs/content/docs/api/reference-api/reference-admin.mdx b/apps/docs/content/docs/api/reference-api/reference-admin.mdx
index 7c5bf301..a3514229 100644
--- a/apps/docs/content/docs/api/reference-api/reference-admin.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-admin.mdx
@@ -116,7 +116,7 @@ In: `header`
-Format: `"email"`
+Format: `"email"`
@@ -218,7 +218,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -320,7 +320,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -419,7 +419,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -439,11 +439,11 @@ In: `header`
-
+"} required={true} deprecated={undefined}>
-
+"} required={true} deprecated={undefined}>
@@ -459,6 +459,14 @@ In: `header`
+
+
+
+
+
+
+
+
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
@@ -488,7 +496,9 @@ curl -X POST "http://localhost:3000/api/admin.assignPermissions" \
],
"canAccessToTraefikFiles": true,
"canAccessToDocker": true,
- "canAccessToAPI": true
+ "canAccessToAPI": true,
+ "canAccessToSSHKeys": true,
+ "canAccessToGitProviders": true
}'
```
@@ -552,382 +562,4 @@ export interface Response {
-
-
-
-
-## admin-cleanGithubApp
-
-### Authorization
-
-"} required={true}>
-
-In: `header`
-
-
-
-| Status code | Description |
-| ----------- | ----------- |
-| `200` | Successful response |
-| `default` | Error response |
-
-
-
-
-
-
-
-
-
-```bash
-curl -X POST "http://localhost:3000/api/admin.cleanGithubApp"
-```
-
-
-
-
-
-```js
-fetch("http://localhost:3000/api/admin.cleanGithubApp", {
- method: "POST"
-});
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-```json
-{
- "message": "string",
- "code": "string",
- "issues": [
- {
- "message": "string"
- }
- ]
-}
-```
-
-
-
-
-
-```ts
-export interface Response {
- message: string;
- code: string;
- issues?: {
- message: string;
- }[];
-}
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## admin-getRepositories
-
-### Authorization
-
-"} required={true}>
-
-In: `header`
-
-
-
-| Status code | Description |
-| ----------- | ----------- |
-| `200` | Successful response |
-| `default` | Error response |
-
-
-
-
-
-
-
-
-
-```bash
-curl -X GET "http://localhost:3000/api/admin.getRepositories"
-```
-
-
-
-
-
-```js
-fetch("http://localhost:3000/api/admin.getRepositories", {
- method: "GET"
-});
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-```json
-{
- "message": "string",
- "code": "string",
- "issues": [
- {
- "message": "string"
- }
- ]
-}
-```
-
-
-
-
-
-```ts
-export interface Response {
- message: string;
- code: string;
- issues?: {
- message: string;
- }[];
-}
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## admin-getBranches
-
-### Authorization
-
-"} required={true}>
-
-In: `header`
-
-
-
-### Query Parameters
-
-
-
-Minimum length: `1`
-
-
-
-
-
-Minimum length: `1`
-
-
-
-| Status code | Description |
-| ----------- | ----------- |
-| `200` | Successful response |
-| `default` | Error response |
-
-
-
-
-
-
-
-
-
-```bash
-curl -X GET "http://localhost:3000/api/admin.getBranches?repo=string&owner=string"
-```
-
-
-
-
-
-```js
-fetch("http://localhost:3000/api/admin.getBranches?repo=string&owner=string", {
- method: "GET"
-});
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-```json
-{
- "message": "string",
- "code": "string",
- "issues": [
- {
- "message": "string"
- }
- ]
-}
-```
-
-
-
-
-
-```ts
-export interface Response {
- message: string;
- code: string;
- issues?: {
- message: string;
- }[];
-}
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## admin-haveGithubConfigured
-
-### Authorization
-
-"} required={true}>
-
-In: `header`
-
-
-
-| Status code | Description |
-| ----------- | ----------- |
-| `200` | Successful response |
-| `default` | Error response |
-
-
-
-
-
-
-
-
-
-```bash
-curl -X GET "http://localhost:3000/api/admin.haveGithubConfigured"
-```
-
-
-
-
-
-```js
-fetch("http://localhost:3000/api/admin.haveGithubConfigured", {
- method: "GET"
-});
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-```json
-{
- "message": "string",
- "code": "string",
- "issues": [
- {
- "message": "string"
- }
- ]
-}
-```
-
-
-
-
-
-```ts
-export interface Response {
- message: string;
- code: string;
- issues?: {
- message: string;
- }[];
-}
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-api/reference-application.mdx b/apps/docs/content/docs/api/reference-api/reference-application.mdx
index 6a67b0cd..f4836ec0 100644
--- a/apps/docs/content/docs/api/reference-api/reference-application.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-application.mdx
@@ -25,7 +25,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -750,6 +750,10 @@ In: `header`
+
+
+
+
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
@@ -767,7 +771,8 @@ In: `header`
curl -X POST "http://localhost:3000/api/application.saveEnvironment" \
-d '{
"applicationId": "string",
- "env": "string"
+ "env": "string",
+ "buildArgs": "string"
}'
```
@@ -853,7 +858,7 @@ In: `header`
-Value in: `"dockerfile" | "heroku_buildpacks" | "paketo_buildpacks" | "nixpacks"`
+Value in: `"dockerfile" | "heroku_buildpacks" | "paketo_buildpacks" | "nixpacks" | "static"`
@@ -861,6 +866,14 @@ In: `header`
+
+
+
+
+
+
+
+
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
@@ -879,7 +892,9 @@ curl -X POST "http://localhost:3000/api/application.saveBuildType" \
-d '{
"applicationId": "string",
"buildType": "dockerfile",
- "dockerfile": "string"
+ "dockerfile": "string",
+ "dockerContextPath": "string",
+ "publishDirectory": "string"
}'
```
@@ -979,6 +994,10 @@ In: `header`
+
+
+
+
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
@@ -999,7 +1018,8 @@ curl -X POST "http://localhost:3000/api/application.saveGithubProvider" \
"repository": "string",
"branch": "string",
"owner": "string",
- "buildPath": "string"
+ "buildPath": "string",
+ "githubId": "string"
}'
```
@@ -1065,6 +1085,266 @@ export interface Response {
+
+
+## application-saveGitlabProvider
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/application.saveGitlabProvider" \
+ -d '{
+ "applicationId": "string",
+ "gitlabBranch": "string",
+ "gitlabBuildPath": "string",
+ "gitlabOwner": "string",
+ "gitlabRepository": "string",
+ "gitlabId": "string",
+ "gitlabProjectId": 0,
+ "gitlabPathNamespace": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/application.saveGitlabProvider", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## application-saveBitbucketProvider
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/application.saveBitbucketProvider" \
+ -d '{
+ "bitbucketBranch": "string",
+ "bitbucketBuildPath": "string",
+ "bitbucketOwner": "string",
+ "bitbucketRepository": "string",
+ "bitbucketId": "string",
+ "applicationId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/application.saveBitbucketProvider", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## application-saveDockerProvider
@@ -1210,6 +1490,10 @@ In: `header`
+
+
+
+
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
@@ -1229,7 +1513,8 @@ curl -X POST "http://localhost:3000/api/application.saveGitProdiver" \
"customGitBranch": "string",
"applicationId": "string",
"customGitBuildPath": "string",
- "customGitUrl": "string"
+ "customGitUrl": "string",
+ "customGitSSHKeyId": "string"
}'
```
@@ -1295,206 +1580,6 @@ export interface Response {
-
-
-## application-generateSSHKey
-
-### Authorization
-
-"} required={true}>
-
-In: `header`
-
-
-
-### Request Body
-
-
-
-
-
-| Status code | Description |
-| ----------- | ----------- |
-| `200` | Successful response |
-| `default` | Error response |
-
-
-
-
-
-
-
-
-
-```bash
-curl -X POST "http://localhost:3000/api/application.generateSSHKey" \
- -d '{
- "applicationId": "string"
-}'
-```
-
-
-
-
-
-```js
-fetch("http://localhost:3000/api/application.generateSSHKey", {
- method: "POST"
-});
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-```json
-{
- "message": "string",
- "code": "string",
- "issues": [
- {
- "message": "string"
- }
- ]
-}
-```
-
-
-
-
-
-```ts
-export interface Response {
- message: string;
- code: string;
- issues?: {
- message: string;
- }[];
-}
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## application-removeSSHKey
-
-### Authorization
-
-"} required={true}>
-
-In: `header`
-
-
-
-### Request Body
-
-
-
-
-
-| Status code | Description |
-| ----------- | ----------- |
-| `200` | Successful response |
-| `default` | Error response |
-
-
-
-
-
-
-
-
-
-```bash
-curl -X POST "http://localhost:3000/api/application.removeSSHKey" \
- -d '{
- "applicationId": "string"
-}'
-```
-
-
-
-
-
-```js
-fetch("http://localhost:3000/api/application.removeSSHKey", {
- method: "POST"
-});
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-```json
-{
- "message": "string",
- "code": "string",
- "issues": [
- {
- "message": "string"
- }
- ]
-}
-```
-
-
-
-
-
-```ts
-export interface Response {
- message: string;
- code: string;
- issues?: {
- message: string;
- }[];
-}
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
## application-markRunning
@@ -1611,13 +1696,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -1633,6 +1718,10 @@ In: `header`
+
+
+
+
@@ -1671,7 +1760,7 @@ In: `header`
-Value in: `"github" | "docker" | "git"`
+Value in: `"github" | "docker" | "git"`
@@ -1695,6 +1784,46 @@ In: `header`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1719,7 +1848,7 @@ In: `header`
-
+
@@ -1727,11 +1856,19 @@ In: `header`
+
+
+
+
+
+
+
+
-
+"} required={false} deprecated={undefined}>
@@ -1783,13 +1920,13 @@ In: `header`
-
+"} required={false} deprecated={undefined}>
-
+"} required={false} deprecated={undefined}>
-
+
@@ -1811,9 +1948,9 @@ In: `header`
-
+"} required={false} deprecated={undefined}>
-
+
@@ -1959,15 +2096,15 @@ In: `header`
-
+ | null"} required={false} deprecated={undefined}>
-
+
-
+"} required={false} deprecated={undefined}>
@@ -1989,13 +2126,17 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
-Value in: `"dockerfile" | "heroku_buildpacks" | "paketo_buildpacks" | "nixpacks"`
+Value in: `"dockerfile" | "heroku_buildpacks" | "paketo_buildpacks" | "nixpacks" | "static"`
+
+
+
+
@@ -2011,6 +2152,18 @@ In: `header`
+
+
+
+
+
+
+
+
+
+
+
+
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
@@ -2032,6 +2185,7 @@ curl -X POST "http://localhost:3000/api/application.update" \
"appName": "string",
"description": "string",
"env": "string",
+ "buildArgs": "string",
"memoryReservation": 0,
"memoryLimit": 0,
"cpuReservation": 0,
@@ -2047,14 +2201,26 @@ curl -X POST "http://localhost:3000/api/application.update" \
"branch": "string",
"buildPath": "string",
"autoDeploy": true,
+ "gitlabProjectId": 0,
+ "gitlabRepository": "string",
+ "gitlabOwner": "string",
+ "gitlabBranch": "string",
+ "gitlabBuildPath": "string",
+ "gitlabPathNamespace": "string",
+ "bitbucketRepository": "string",
+ "bitbucketOwner": "string",
+ "bitbucketBranch": "string",
+ "bitbucketBuildPath": "string",
"username": "string",
"password": "string",
"dockerImage": "string",
"customGitUrl": "string",
"customGitBranch": "string",
"customGitBuildPath": "string",
- "customGitSSHKey": "string",
+ "customGitSSHKeyId": "string",
"dockerfile": "string",
+ "dockerContextPath": "string",
+ "dropBuildPath": "string",
"healthCheckSwarm": {
"Test": [
"string"
@@ -2132,9 +2298,13 @@ curl -X POST "http://localhost:3000/api/application.update" \
"replicas": 0,
"applicationStatus": "idle",
"buildType": "dockerfile",
+ "publishDirectory": "string",
"createdAt": "string",
"registryId": "string",
- "projectId": "string"
+ "projectId": "string",
+ "githubId": "string",
+ "gitlabId": "string",
+ "bitbucketId": "string"
}'
```
diff --git a/apps/docs/content/docs/api/reference-api/reference-auth.mdx b/apps/docs/content/docs/api/reference-api/reference-auth.mdx
index 2fb4e2a8..8523aca2 100644
--- a/apps/docs/content/docs/api/reference-api/reference-auth.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-auth.mdx
@@ -25,13 +25,13 @@ In: `header`
-Format: `"email"`
+Format: `"email"`
-Minimum length: `8`
+Minimum length: `8`
@@ -134,7 +134,7 @@ In: `header`
-Minimum length: `8`
+Minimum length: `8`
@@ -144,7 +144,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -248,13 +248,13 @@ In: `header`
-Format: `"email"`
+Format: `"email"`
-Minimum length: `8`
+Minimum length: `8`
@@ -551,7 +551,7 @@ In: `header`
-Value in: `"admin" | "user"`
+Value in: `"admin" | "user"`
@@ -869,7 +869,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -883,7 +883,7 @@ In: `header`
-Value in: `"admin" | "user"`
+Value in: `"admin" | "user"`
@@ -1104,13 +1104,13 @@ In: `header`
-Minimum length: `6`
+Minimum length: `6`
-Minimum length: `1`
+Minimum length: `1`
@@ -1213,7 +1213,7 @@ In: `header`
-Minimum length: `6`
+Minimum length: `6`
diff --git a/apps/docs/content/docs/api/reference-api/reference-backup.mdx b/apps/docs/content/docs/api/reference-api/reference-backup.mdx
index 33f64a4c..58f432ac 100644
--- a/apps/docs/content/docs/api/reference-api/reference-backup.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-backup.mdx
@@ -33,7 +33,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -43,7 +43,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -65,7 +65,7 @@ In: `header`
-Value in: `"postgres" | "mariadb" | "mysql" | "mongo"`
+Value in: `"postgres" | "mariadb" | "mysql" | "mongo"`
@@ -281,7 +281,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -295,7 +295,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
diff --git a/apps/docs/content/docs/api/reference-api/reference-bitbucket.mdx b/apps/docs/content/docs/api/reference-api/reference-bitbucket.mdx
new file mode 100644
index 00000000..6b9680c1
--- /dev/null
+++ b/apps/docs/content/docs/api/reference-api/reference-bitbucket.mdx
@@ -0,0 +1,779 @@
+---
+title: bitbucket
+full: true
+---
+
+import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
+
+
+
+
+
+
+
+## bitbucket-create
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/bitbucket.create" \
+ -d '{
+ "bitbucketId": "string",
+ "bitbucketUsername": "string",
+ "appPassword": "string",
+ "bitbucketWorkspaceName": "string",
+ "gitProviderId": "string",
+ "authId": "string",
+ "name": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/bitbucket.create", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## bitbucket-one
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/bitbucket.one?bitbucketId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/bitbucket.one?bitbucketId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## bitbucket-bitbucketProviders
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/bitbucket.bitbucketProviders"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/bitbucket.bitbucketProviders", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## bitbucket-getBitbucketRepositories
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/bitbucket.getBitbucketRepositories?bitbucketId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/bitbucket.getBitbucketRepositories?bitbucketId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## bitbucket-getBitbucketBranches
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/bitbucket.getBitbucketBranches?owner=string&repo=string&bitbucketId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/bitbucket.getBitbucketBranches?owner=string&repo=string&bitbucketId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## bitbucket-testConnection
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/bitbucket.testConnection" \
+ -d '{
+ "bitbucketId": "string",
+ "bitbucketUsername": "string",
+ "workspaceName": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/bitbucket.testConnection", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## bitbucket-update
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/bitbucket.update" \
+ -d '{
+ "bitbucketId": "string",
+ "bitbucketUsername": "string",
+ "appPassword": "string",
+ "bitbucketWorkspaceName": "string",
+ "gitProviderId": "string",
+ "name": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/bitbucket.update", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-api/reference-certificates.mdx b/apps/docs/content/docs/api/reference-api/reference-certificates.mdx
index 14e14995..348c891b 100644
--- a/apps/docs/content/docs/api/reference-api/reference-certificates.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-certificates.mdx
@@ -29,19 +29,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -156,7 +156,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -255,7 +255,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
diff --git a/apps/docs/content/docs/api/reference-api/reference-compose.mdx b/apps/docs/content/docs/api/reference-api/reference-compose.mdx
index dcd9a231..7959c190 100644
--- a/apps/docs/content/docs/api/reference-api/reference-compose.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-compose.mdx
@@ -25,7 +25,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -39,7 +39,7 @@ In: `header`
-Value in: `"docker-compose" | "stack"`
+Value in: `"docker-compose" | "stack"`
@@ -149,7 +149,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -252,7 +252,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -278,13 +278,13 @@ In: `header`
-Value in: `"git" | "github" | "raw"`
+Value in: `"git" | "github" | "gitlab" | "bitbucket" | "raw"`
-Value in: `"docker-compose" | "stack"`
+Value in: `"docker-compose" | "stack"`
@@ -304,6 +304,38 @@ In: `header`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -312,7 +344,7 @@ In: `header`
-
+
@@ -322,13 +354,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
@@ -340,6 +372,18 @@ In: `header`
+
+
+
+
+
+
+
+
+
+
+
+
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
@@ -369,14 +413,25 @@ curl -X POST "http://localhost:3000/api/compose.update" \
"owner": "string",
"branch": "string",
"autoDeploy": true,
+ "gitlabProjectId": 0,
+ "gitlabRepository": "string",
+ "gitlabOwner": "string",
+ "gitlabBranch": "string",
+ "gitlabPathNamespace": "string",
+ "bitbucketRepository": "string",
+ "bitbucketOwner": "string",
+ "bitbucketBranch": "string",
"customGitUrl": "string",
"customGitBranch": "string",
- "customGitSSHKey": "string",
+ "customGitSSHKeyId": "string",
"command": "string",
"composePath": "string",
"composeStatus": "idle",
"projectId": "string",
- "createdAt": "string"
+ "createdAt": "string",
+ "githubId": "string",
+ "gitlabId": "string",
+ "bitbucketId": "string"
}'
```
@@ -458,7 +513,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -560,7 +615,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -646,9 +701,9 @@ export interface Response {
-
+
-## compose-allServices
+## compose-loadServices
### Authorization
@@ -662,7 +717,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
+
+
+
+
+
+Default: `"cache"`
@@ -680,7 +741,7 @@ In: `header`
```bash
-curl -X GET "http://localhost:3000/api/compose.allServices?composeId=string"
+curl -X GET "http://localhost:3000/api/compose.loadServices?composeId=string&type=cache"
```
@@ -688,7 +749,7 @@ curl -X GET "http://localhost:3000/api/compose.allServices?composeId=string"
```js
-fetch("http://localhost:3000/api/compose.allServices?composeId=string", {
+fetch("http://localhost:3000/api/compose.loadServices?composeId=string&type=cache", {
method: "GET"
});
```
@@ -745,6 +806,108 @@ export interface Response {
+
+
+## compose-fetchSourceType
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/compose.fetchSourceType" \
+ -d '{
+ "composeId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/compose.fetchSourceType", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## compose-randomizeCompose
@@ -761,7 +924,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -852,6 +1015,105 @@ export interface Response {
+
+
+## compose-getConvertedCompose
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/compose.getConvertedCompose?composeId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/compose.getConvertedCompose?composeId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## compose-deploy
@@ -868,7 +1130,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -970,7 +1232,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1072,7 +1334,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1174,7 +1436,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1257,108 +1519,6 @@ export interface Response {
-
-
-## compose-generateSSHKey
-
-### Authorization
-
-"} required={true}>
-
-In: `header`
-
-
-
-### Request Body
-
-
-
-Minimum length: `1`
-
-
-
-| Status code | Description |
-| ----------- | ----------- |
-| `200` | Successful response |
-| `default` | Error response |
-
-
-
-
-
-
-
-
-
-```bash
-curl -X POST "http://localhost:3000/api/compose.generateSSHKey" \
- -d '{
- "composeId": "string"
-}'
-```
-
-
-
-
-
-```js
-fetch("http://localhost:3000/api/compose.generateSSHKey", {
- method: "POST"
-});
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-```json
-{
- "message": "string",
- "code": "string",
- "issues": [
- {
- "message": "string"
- }
- ]
-}
-```
-
-
-
-
-
-```ts
-export interface Response {
- message: string;
- code: string;
- issues?: {
- message: string;
- }[];
-}
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
## compose-refreshToken
@@ -1375,7 +1535,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1461,108 +1621,6 @@ export interface Response {
-
-
-## compose-removeSSHKey
-
-### Authorization
-
-"} required={true}>
-
-In: `header`
-
-
-
-### Request Body
-
-
-
-Minimum length: `1`
-
-
-
-| Status code | Description |
-| ----------- | ----------- |
-| `200` | Successful response |
-| `default` | Error response |
-
-
-
-
-
-
-
-
-
-```bash
-curl -X POST "http://localhost:3000/api/compose.removeSSHKey" \
- -d '{
- "composeId": "string"
-}'
-```
-
-
-
-
-
-```js
-fetch("http://localhost:3000/api/compose.removeSSHKey", {
- method: "POST"
-});
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-```json
-{
- "message": "string",
- "code": "string",
- "issues": [
- {
- "message": "string"
- }
- ]
-}
-```
-
-
-
-
-
-```ts
-export interface Response {
- message: string;
- code: string;
- issues?: {
- message: string;
- }[];
-}
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
## compose-deployTemplate
@@ -1583,7 +1641,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1759,4 +1817,95 @@ export interface Response {
+
+
+
+
+## compose-getTags
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/compose.getTags"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/compose.getTags", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-api/reference-deployment.mdx b/apps/docs/content/docs/api/reference-api/reference-deployment.mdx
index a19ef11a..621397e6 100644
--- a/apps/docs/content/docs/api/reference-api/reference-deployment.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-deployment.mdx
@@ -25,7 +25,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -124,7 +124,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
diff --git a/apps/docs/content/docs/api/reference-api/reference-destination.mdx b/apps/docs/content/docs/api/reference-api/reference-destination.mdx
index f0feccd0..30531a64 100644
--- a/apps/docs/content/docs/api/reference-api/reference-destination.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-destination.mdx
@@ -25,7 +25,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -152,7 +152,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -567,7 +567,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
diff --git a/apps/docs/content/docs/api/reference-api/reference-docker.mdx b/apps/docs/content/docs/api/reference-api/reference-docker.mdx
index 8b94454e..f658ec63 100644
--- a/apps/docs/content/docs/api/reference-api/reference-docker.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-docker.mdx
@@ -116,7 +116,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -213,9 +213,13 @@ In: `header`
### Query Parameters
+
+
+
+
-Minimum length: `1`
+Minimum length: `1`
@@ -233,7 +237,7 @@ In: `header`
```bash
-curl -X GET "http://localhost:3000/api/docker.getContainersByAppNameMatch?appName=string"
+curl -X GET "http://localhost:3000/api/docker.getContainersByAppNameMatch?appType=stack&appName=string"
```
@@ -241,7 +245,7 @@ curl -X GET "http://localhost:3000/api/docker.getContainersByAppNameMatch?appNam
```js
-fetch("http://localhost:3000/api/docker.getContainersByAppNameMatch?appName=string", {
+fetch("http://localhost:3000/api/docker.getContainersByAppNameMatch?appType=stack&appName=string", {
method: "GET"
});
```
@@ -314,7 +318,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
diff --git a/apps/docs/content/docs/api/reference-api/reference-domain.mdx b/apps/docs/content/docs/api/reference-api/reference-domain.mdx
index 3da95fc3..3dcac705 100644
--- a/apps/docs/content/docs/api/reference-api/reference-domain.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-domain.mdx
@@ -25,31 +25,49 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-
+
-Minimum length: `1`
+Minimum length: `1`
-
+
+
+Minimum: `1`
+
+Maximum: `65535`
-
+
-
+
-
+
-Value in: `"letsencrypt" | "none"`
+Value in: `"letsencrypt" | "none"`
+
+
+
+
+
+
+
+
+
+
+
+
+
+Value in: `"compose" | "application"`
@@ -71,10 +89,13 @@ curl -X POST "http://localhost:3000/api/domain.create" \
-d '{
"host": "string",
"path": "string",
- "port": 0,
+ "port": 1,
"https": true,
"applicationId": "string",
- "certificateType": "letsencrypt"
+ "certificateType": "letsencrypt",
+ "composeId": "string",
+ "serviceName": "string",
+ "domainType": "compose"
}'
```
@@ -237,9 +258,9 @@ export interface Response {
-
+
-## domain-generateDomain
+## domain-byComposeId
### Authorization
@@ -249,9 +270,11 @@ In: `header`
-### Request Body
+### Query Parameters
-
+
+
+Minimum length: `1`
@@ -269,10 +292,7 @@ In: `header`
```bash
-curl -X POST "http://localhost:3000/api/domain.generateDomain" \
- -d '{
- "applicationId": "string"
-}'
+curl -X GET "http://localhost:3000/api/domain.byComposeId?composeId=string"
```
@@ -280,8 +300,8 @@ curl -X POST "http://localhost:3000/api/domain.generateDomain" \
```js
-fetch("http://localhost:3000/api/domain.generateDomain", {
- method: "POST"
+fetch("http://localhost:3000/api/domain.byComposeId?composeId=string", {
+ method: "GET"
});
```
@@ -337,9 +357,9 @@ export interface Response {
-
+
-## domain-generateWildcard
+## domain-generateDomain
### Authorization
@@ -351,7 +371,9 @@ In: `header`
### Request Body
-
+
+
+Minimum length: `1`
@@ -369,9 +391,9 @@ In: `header`
```bash
-curl -X POST "http://localhost:3000/api/domain.generateWildcard" \
+curl -X POST "http://localhost:3000/api/domain.generateDomain" \
-d '{
- "applicationId": "string"
+ "appName": "string"
}'
```
@@ -380,7 +402,7 @@ curl -X POST "http://localhost:3000/api/domain.generateWildcard" \
```js
-fetch("http://localhost:3000/api/domain.generateWildcard", {
+fetch("http://localhost:3000/api/domain.generateDomain", {
method: "POST"
});
```
@@ -451,35 +473,47 @@ In: `header`
### Request Body
-
-
-Minimum length: `1`
-
-
-
-Minimum length: `1`
+Minimum length: `1`
-
+
-Minimum length: `1`
+Minimum length: `1`
-
+
+
+Minimum: `1`
+
+Maximum: `65535`
-
+
-
+
-Value in: `"letsencrypt" | "none"`
+Value in: `"letsencrypt" | "none"`
+
+
+
+
+
+
+
+
+
+Value in: `"compose" | "application"`
+
+
+
+
@@ -499,12 +533,14 @@ In: `header`
```bash
curl -X POST "http://localhost:3000/api/domain.update" \
-d '{
- "domainId": "string",
"host": "string",
"path": "string",
- "port": 0,
+ "port": 1,
"https": true,
- "certificateType": "letsencrypt"
+ "certificateType": "letsencrypt",
+ "serviceName": "string",
+ "domainType": "compose",
+ "domainId": "string"
}'
```
@@ -586,8 +622,6 @@ In: `header`
-Minimum length: `1`
-
| Status code | Description |
@@ -685,8 +719,6 @@ In: `header`
-Minimum length: `1`
-
| Status code | Description |
diff --git a/apps/docs/content/docs/api/reference-api/reference-gitProvider.mdx b/apps/docs/content/docs/api/reference-api/reference-gitProvider.mdx
new file mode 100644
index 00000000..de455418
--- /dev/null
+++ b/apps/docs/content/docs/api/reference-api/reference-gitProvider.mdx
@@ -0,0 +1,203 @@
+---
+title: gitProvider
+full: true
+---
+
+import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
+
+
+
+
+
+
+
+## gitProvider-getAll
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/gitProvider.getAll"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/gitProvider.getAll", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## gitProvider-remove
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/gitProvider.remove" \
+ -d '{
+ "gitProviderId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/gitProvider.remove", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-api/reference-github.mdx b/apps/docs/content/docs/api/reference-api/reference-github.mdx
new file mode 100644
index 00000000..4ef42bd2
--- /dev/null
+++ b/apps/docs/content/docs/api/reference-api/reference-github.mdx
@@ -0,0 +1,661 @@
+---
+title: github
+full: true
+---
+
+import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
+
+
+
+
+
+
+
+## github-one
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/github.one?githubId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/github.one?githubId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## github-getGithubRepositories
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/github.getGithubRepositories?githubId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/github.getGithubRepositories?githubId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## github-getGithubBranches
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/github.getGithubBranches?repo=string&owner=string&githubId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/github.getGithubBranches?repo=string&owner=string&githubId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## github-githubProviders
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/github.githubProviders"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/github.githubProviders", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## github-testConnection
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/github.testConnection" \
+ -d '{
+ "githubId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/github.testConnection", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## github-update
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/github.update" \
+ -d '{
+ "githubId": "string",
+ "githubAppName": "string",
+ "githubAppId": 0,
+ "githubClientId": "string",
+ "githubClientSecret": "string",
+ "githubInstallationId": "string",
+ "githubPrivateKey": "string",
+ "githubWebhookSecret": "string",
+ "gitProviderId": "string",
+ "name": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/github.update", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-api/reference-gitlab.mdx b/apps/docs/content/docs/api/reference-api/reference-gitlab.mdx
new file mode 100644
index 00000000..fa2ef5f6
--- /dev/null
+++ b/apps/docs/content/docs/api/reference-api/reference-gitlab.mdx
@@ -0,0 +1,816 @@
+---
+title: gitlab
+full: true
+---
+
+import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
+
+
+
+
+
+
+
+## gitlab-create
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/gitlab.create" \
+ -d '{
+ "gitlabId": "string",
+ "applicationId": "string",
+ "redirectUri": "string",
+ "secret": "string",
+ "accessToken": "string",
+ "refreshToken": "string",
+ "groupName": "string",
+ "expiresAt": 0,
+ "gitProviderId": "string",
+ "authId": "string",
+ "name": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/gitlab.create", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## gitlab-one
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/gitlab.one?gitlabId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/gitlab.one?gitlabId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## gitlab-gitlabProviders
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/gitlab.gitlabProviders"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/gitlab.gitlabProviders", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## gitlab-getGitlabRepositories
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/gitlab.getGitlabRepositories?gitlabId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/gitlab.getGitlabRepositories?gitlabId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## gitlab-getGitlabBranches
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/gitlab.getGitlabBranches?id=0&owner=string&repo=string&gitlabId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/gitlab.getGitlabBranches?id=0&owner=string&repo=string&gitlabId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## gitlab-testConnection
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/gitlab.testConnection" \
+ -d '{
+ "gitlabId": "string",
+ "groupName": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/gitlab.testConnection", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## gitlab-update
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/gitlab.update" \
+ -d '{
+ "gitlabId": "string",
+ "applicationId": "string",
+ "redirectUri": "string",
+ "secret": "string",
+ "accessToken": "string",
+ "refreshToken": "string",
+ "groupName": "string",
+ "expiresAt": 0,
+ "gitProviderId": "string",
+ "name": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/gitlab.update", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-api/reference-mariadb.mdx b/apps/docs/content/docs/api/reference-api/reference-mariadb.mdx
index 8a9ef12b..6915a65c 100644
--- a/apps/docs/content/docs/api/reference-api/reference-mariadb.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-mariadb.mdx
@@ -25,19 +25,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Default: `"mariadb:6"`
+Default: `"mariadb:6"`
@@ -55,13 +55,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -681,7 +681,7 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
@@ -993,7 +993,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1096,19 +1096,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -1118,13 +1118,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -1138,7 +1138,7 @@ In: `header`
-Default: `"mariadb:6"`
+Default: `"mariadb:6"`
@@ -1172,7 +1172,7 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
diff --git a/apps/docs/content/docs/api/reference-api/reference-mongo.mdx b/apps/docs/content/docs/api/reference-api/reference-mongo.mdx
index 70b0b52f..b4d21f12 100644
--- a/apps/docs/content/docs/api/reference-api/reference-mongo.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-mongo.mdx
@@ -25,19 +25,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Default: `"mongo:15"`
+Default: `"mongo:15"`
@@ -51,7 +51,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -669,7 +669,7 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
@@ -776,7 +776,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1084,19 +1084,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -1106,7 +1106,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1116,7 +1116,7 @@ In: `header`
-Default: `"mongo:15"`
+Default: `"mongo:15"`
@@ -1150,7 +1150,7 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
diff --git a/apps/docs/content/docs/api/reference-api/reference-mounts.mdx b/apps/docs/content/docs/api/reference-api/reference-mounts.mdx
index b2fe1ef8..8c435e43 100644
--- a/apps/docs/content/docs/api/reference-api/reference-mounts.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-mounts.mdx
@@ -25,7 +25,7 @@ In: `header`
-Value in: `"bind" | "volume" | "file"`
+Value in: `"bind" | "volume" | "file"`
@@ -43,21 +43,25 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Default: `"application"`
+Default: `"application"`
-Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`
+Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`
+
+
+
+
-Minimum length: `1`
+Minimum length: `1`
@@ -83,6 +87,7 @@ curl -X POST "http://localhost:3000/api/mounts.create" \
"content": "string",
"mountPath": "string",
"serviceType": "application",
+ "filePath": "string",
"serviceId": "string"
}'
```
@@ -362,13 +367,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Value in: `"bind" | "volume" | "file"`
+Value in: `"bind" | "volume" | "file"`
@@ -380,21 +385,25 @@ In: `header`
+
+
+
+
-Default: `"application"`
+Default: `"application"`
-Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`
+Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`
-Minimum length: `1`
+Minimum length: `1`
@@ -446,6 +455,7 @@ curl -X POST "http://localhost:3000/api/mounts.update" \
"type": "bind",
"hostPath": "string",
"volumeName": "string",
+ "filePath": "string",
"content": "string",
"serviceType": "application",
"mountPath": "string",
diff --git a/apps/docs/content/docs/api/reference-api/reference-mysql.mdx b/apps/docs/content/docs/api/reference-api/reference-mysql.mdx
index ae88fc19..7b897e0d 100644
--- a/apps/docs/content/docs/api/reference-api/reference-mysql.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-mysql.mdx
@@ -25,19 +25,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Default: `"mysql:8"`
+Default: `"mysql:8"`
@@ -51,13 +51,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -681,7 +681,7 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
@@ -788,7 +788,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1096,19 +1096,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -1118,13 +1118,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -1138,7 +1138,7 @@ In: `header`
-Default: `"mysql:8"`
+Default: `"mysql:8"`
@@ -1172,7 +1172,7 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
diff --git a/apps/docs/content/docs/api/reference-api/reference-notification.mdx b/apps/docs/content/docs/api/reference-api/reference-notification.mdx
new file mode 100644
index 00000000..22f231cf
--- /dev/null
+++ b/apps/docs/content/docs/api/reference-api/reference-notification.mdx
@@ -0,0 +1,1957 @@
+---
+title: notification
+full: true
+---
+
+import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
+
+
+
+
+
+
+
+## notification-createSlack
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.createSlack" \
+ -d '{
+ "appBuildError": true,
+ "databaseBackup": true,
+ "dokployRestart": true,
+ "name": "string",
+ "appDeploy": true,
+ "dockerCleanup": true,
+ "webhookUrl": "string",
+ "channel": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.createSlack", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-updateSlack
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.updateSlack" \
+ -d '{
+ "appBuildError": true,
+ "databaseBackup": true,
+ "dokployRestart": true,
+ "name": "string",
+ "appDeploy": true,
+ "dockerCleanup": true,
+ "webhookUrl": "string",
+ "channel": "string",
+ "notificationId": "string",
+ "slackId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.updateSlack", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-testSlackConnection
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.testSlackConnection" \
+ -d '{
+ "webhookUrl": "string",
+ "channel": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.testSlackConnection", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-createTelegram
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.createTelegram" \
+ -d '{
+ "appBuildError": true,
+ "databaseBackup": true,
+ "dokployRestart": true,
+ "name": "string",
+ "appDeploy": true,
+ "dockerCleanup": true,
+ "botToken": "string",
+ "chatId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.createTelegram", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-updateTelegram
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.updateTelegram" \
+ -d '{
+ "appBuildError": true,
+ "databaseBackup": true,
+ "dokployRestart": true,
+ "name": "string",
+ "appDeploy": true,
+ "dockerCleanup": true,
+ "botToken": "string",
+ "chatId": "string",
+ "notificationId": "string",
+ "telegramId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.updateTelegram", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-testTelegramConnection
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.testTelegramConnection" \
+ -d '{
+ "botToken": "string",
+ "chatId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.testTelegramConnection", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-createDiscord
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.createDiscord" \
+ -d '{
+ "appBuildError": true,
+ "databaseBackup": true,
+ "dokployRestart": true,
+ "name": "string",
+ "appDeploy": true,
+ "dockerCleanup": true,
+ "webhookUrl": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.createDiscord", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-updateDiscord
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.updateDiscord" \
+ -d '{
+ "appBuildError": true,
+ "databaseBackup": true,
+ "dokployRestart": true,
+ "name": "string",
+ "appDeploy": true,
+ "dockerCleanup": true,
+ "webhookUrl": "string",
+ "notificationId": "string",
+ "discordId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.updateDiscord", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-testDiscordConnection
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.testDiscordConnection" \
+ -d '{
+ "webhookUrl": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.testDiscordConnection", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-createEmail
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+"} required={true} deprecated={undefined}>
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.createEmail" \
+ -d '{
+ "appBuildError": true,
+ "databaseBackup": true,
+ "dokployRestart": true,
+ "name": "string",
+ "appDeploy": true,
+ "dockerCleanup": true,
+ "smtpServer": "string",
+ "smtpPort": 1,
+ "username": "string",
+ "password": "string",
+ "fromAddress": "string",
+ "toAddresses": [
+ "string"
+ ]
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.createEmail", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-updateEmail
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+"} required={false} deprecated={undefined}>
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.updateEmail" \
+ -d '{
+ "appBuildError": true,
+ "databaseBackup": true,
+ "dokployRestart": true,
+ "name": "string",
+ "appDeploy": true,
+ "dockerCleanup": true,
+ "smtpServer": "string",
+ "smtpPort": 1,
+ "username": "string",
+ "password": "string",
+ "fromAddress": "string",
+ "toAddresses": [
+ "string"
+ ],
+ "notificationId": "string",
+ "emailId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.updateEmail", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-testEmailConnection
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+
+
+Minimum length: `1`
+
+
+
+"} required={true} deprecated={undefined}>
+
+
+
+
+
+Minimum length: `1`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.testEmailConnection" \
+ -d '{
+ "smtpServer": "string",
+ "smtpPort": 1,
+ "username": "string",
+ "password": "string",
+ "toAddresses": [
+ "string"
+ ],
+ "fromAddress": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.testEmailConnection", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-remove
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/notification.remove" \
+ -d '{
+ "notificationId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.remove", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-one
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/notification.one?notificationId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.one?notificationId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## notification-all
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/notification.all"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/notification.all", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-api/reference-port.mdx b/apps/docs/content/docs/api/reference-api/reference-port.mdx
index 3e065d4a..bc4f7c55 100644
--- a/apps/docs/content/docs/api/reference-api/reference-port.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-port.mdx
@@ -33,15 +33,15 @@ In: `header`
-Default: `"tcp"`
+Default: `"tcp"`
-Value in: `"tcp" | "udp"`
+Value in: `"tcp" | "udp"`
-Minimum length: `1`
+Minimum length: `1`
@@ -146,7 +146,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -245,7 +245,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -347,7 +347,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -361,9 +361,9 @@ In: `header`
-Default: `"tcp"`
+Default: `"tcp"`
-Value in: `"tcp" | "udp"`
+Value in: `"tcp" | "udp"`
diff --git a/apps/docs/content/docs/api/reference-api/reference-postgres.mdx b/apps/docs/content/docs/api/reference-api/reference-postgres.mdx
index 5ed611a0..243cfbaa 100644
--- a/apps/docs/content/docs/api/reference-api/reference-postgres.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-postgres.mdx
@@ -25,7 +25,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -35,13 +35,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -51,7 +51,7 @@ In: `header`
-Default: `"postgres:15"`
+Default: `"postgres:15"`
@@ -674,7 +674,7 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
@@ -1087,13 +1087,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -1103,13 +1103,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -1123,7 +1123,7 @@ In: `header`
-Default: `"postgres:15"`
+Default: `"postgres:15"`
@@ -1157,7 +1157,7 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
diff --git a/apps/docs/content/docs/api/reference-api/reference-project.mdx b/apps/docs/content/docs/api/reference-api/reference-project.mdx
index 7e5e3b73..15c8e01f 100644
--- a/apps/docs/content/docs/api/reference-api/reference-project.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-project.mdx
@@ -25,7 +25,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -132,7 +132,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -322,7 +322,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -424,7 +424,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -434,7 +434,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
diff --git a/apps/docs/content/docs/api/reference-api/reference-redirects.mdx b/apps/docs/content/docs/api/reference-api/reference-redirects.mdx
index bb657d0f..699ec2e5 100644
--- a/apps/docs/content/docs/api/reference-api/reference-redirects.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-redirects.mdx
@@ -25,13 +25,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -144,7 +144,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -243,7 +243,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -345,19 +345,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
diff --git a/apps/docs/content/docs/api/reference-api/reference-redis.mdx b/apps/docs/content/docs/api/reference-api/reference-redis.mdx
index 43ba4963..9c5b7c11 100644
--- a/apps/docs/content/docs/api/reference-api/reference-redis.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-redis.mdx
@@ -25,13 +25,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -41,7 +41,7 @@ In: `header`
-Default: `"redis:8"`
+Default: `"redis:8"`
@@ -357,7 +357,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -769,7 +769,7 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
@@ -1077,19 +1077,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -1103,7 +1103,7 @@ In: `header`
-Default: `"redis:8"`
+Default: `"redis:8"`
@@ -1141,7 +1141,7 @@ In: `header`
-Value in: `"idle" | "running" | "done" | "error"`
+Value in: `"idle" | "running" | "done" | "error"`
diff --git a/apps/docs/content/docs/api/reference-api/reference-registry.mdx b/apps/docs/content/docs/api/reference-api/reference-registry.mdx
index 7465423b..e9b7040d 100644
--- a/apps/docs/content/docs/api/reference-api/reference-registry.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-registry.mdx
@@ -25,19 +25,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -47,7 +47,7 @@ In: `header`
-Value in: `"selfHosted" | "cloud"`
+Value in: `"selfHosted" | "cloud"`
@@ -158,7 +158,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -260,13 +260,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -276,19 +276,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -298,13 +298,13 @@ In: `header`
-Value in: `"selfHosted" | "cloud"`
+Value in: `"selfHosted" | "cloud"`
-Minimum length: `1`
+Minimum length: `1`
@@ -505,7 +505,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -604,19 +604,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -626,7 +626,7 @@ In: `header`
-Value in: `"selfHosted" | "cloud"`
+Value in: `"selfHosted" | "cloud"`
@@ -737,19 +737,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
diff --git a/apps/docs/content/docs/api/reference-api/reference-security.mdx b/apps/docs/content/docs/api/reference-api/reference-security.mdx
index ccbdb350..f4a385d6 100644
--- a/apps/docs/content/docs/api/reference-api/reference-security.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-security.mdx
@@ -29,13 +29,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -139,7 +139,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -238,7 +238,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -340,19 +340,19 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
diff --git a/apps/docs/content/docs/api/reference-api/reference-settings.mdx b/apps/docs/content/docs/api/reference-api/reference-settings.mdx
index d24e61bf..bf04b800 100644
--- a/apps/docs/content/docs/api/reference-api/reference-settings.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-settings.mdx
@@ -191,6 +191,106 @@ export interface Response {
+
+
+## settings-toggleDashboard
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/settings.toggleDashboard" \
+ -d '{
+ "enableDashboard": true
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/settings.toggleDashboard", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## settings-cleanUnusedImages
@@ -952,9 +1052,9 @@ In: `header`
-Default: `"none"`
+Default: `"none"`
-Value in: `"letsencrypt" | "none"`
+Value in: `"letsencrypt" | "none"`
@@ -1340,7 +1440,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1533,7 +1633,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -1726,7 +1826,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -2192,13 +2292,13 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
-Minimum length: `1`
+Minimum length: `1`
@@ -2301,7 +2401,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -2384,6 +2484,97 @@ export interface Response {
+
+
+## settings-getIp
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/settings.getIp"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/settings.getIp", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## settings-getOpenApiDocument
@@ -2473,4 +2664,286 @@ export interface Response {
+
+
+
+
+## settings-readTraefikEnv
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/settings.readTraefikEnv"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/settings.readTraefikEnv", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## settings-writeTraefikEnv
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/settings.writeTraefikEnv" \
+ -d '{
+ "env": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/settings.writeTraefikEnv", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## settings-haveTraefikDashboardPortEnabled
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/settings.haveTraefikDashboardPortEnabled"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/settings.haveTraefikDashboardPortEnabled", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-api/reference-sshKey.mdx b/apps/docs/content/docs/api/reference-api/reference-sshKey.mdx
new file mode 100644
index 00000000..751ac5c0
--- /dev/null
+++ b/apps/docs/content/docs/api/reference-api/reference-sshKey.mdx
@@ -0,0 +1,634 @@
+---
+title: sshKey
+full: true
+---
+
+import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
+
+
+
+
+
+
+
+## sshKey-create
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/sshKey.create" \
+ -d '{
+ "name": "string",
+ "description": "string",
+ "publicKey": "string",
+ "privateKey": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/sshKey.create", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## sshKey-remove
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/sshKey.remove" \
+ -d '{
+ "sshKeyId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/sshKey.remove", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## sshKey-one
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Query Parameters
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/sshKey.one?sshKeyId=string"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/sshKey.one?sshKeyId=string", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## sshKey-all
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X GET "http://localhost:3000/api/sshKey.all"
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/sshKey.all", {
+ method: "GET"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## sshKey-generate
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Value in: `"rsa" | "ed25519"`
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/sshKey.generate" \
+ -d '{
+ "type": "rsa"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/sshKey.generate", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## sshKey-update
+
+### Authorization
+
+"} required={true}>
+
+In: `header`
+
+
+
+### Request Body
+
+
+
+Minimum length: `1`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+| Status code | Description |
+| ----------- | ----------- |
+| `200` | Successful response |
+| `default` | Error response |
+
+
+
+
+
+
+
+
+
+```bash
+curl -X POST "http://localhost:3000/api/sshKey.update" \
+ -d '{
+ "name": "string",
+ "description": "string",
+ "lastUsedAt": "string",
+ "sshKeyId": "string"
+}'
+```
+
+
+
+
+
+```js
+fetch("http://localhost:3000/api/sshKey.update", {
+ method: "POST"
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+```json
+{
+ "message": "string",
+ "code": "string",
+ "issues": [
+ {
+ "message": "string"
+ }
+ ]
+}
+```
+
+
+
+
+
+```ts
+export interface Response {
+ message: string;
+ code: string;
+ issues?: {
+ message: string;
+ }[];
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/docs/content/docs/api/reference-api/reference-user.mdx b/apps/docs/content/docs/api/reference-api/reference-user.mdx
index 12ff3b66..d690718b 100644
--- a/apps/docs/content/docs/api/reference-api/reference-user.mdx
+++ b/apps/docs/content/docs/api/reference-api/reference-user.mdx
@@ -116,7 +116,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
@@ -215,7 +215,7 @@ In: `header`
-Minimum length: `1`
+Minimum length: `1`
diff --git a/apps/dokploy/components/dashboard/application/general/generic/save-gitlab-provider.tsx b/apps/dokploy/components/dashboard/application/general/generic/save-gitlab-provider.tsx
index 89e92e4e..c76e7124 100644
--- a/apps/dokploy/components/dashboard/application/general/generic/save-gitlab-provider.tsx
+++ b/apps/dokploy/components/dashboard/application/general/generic/save-gitlab-provider.tsx
@@ -104,7 +104,7 @@ export const SaveGitlabProvider = ({ applicationId }: Props) => {
{
owner: repository?.owner,
repo: repository?.repo,
- id: repository?.id,
+ id: repository?.id || 0,
gitlabId: gitlabId,
},
{
diff --git a/apps/dokploy/components/dashboard/settings/web-server/edit-traefik-env.tsx b/apps/dokploy/components/dashboard/settings/web-server/edit-traefik-env.tsx
index fb9a3aeb..2e6eede6 100644
--- a/apps/dokploy/components/dashboard/settings/web-server/edit-traefik-env.tsx
+++ b/apps/dokploy/components/dashboard/settings/web-server/edit-traefik-env.tsx
@@ -60,7 +60,9 @@ export const EditTraefikEnv = ({ children }: Props) => {
}, [form, form.reset, data]);
const onSubmit = async (data: Schema) => {
- await mutateAsync(data.env)
+ await mutateAsync({
+ env: data.env,
+ })
.then(async () => {
toast.success("Traefik Env Updated");
})
diff --git a/apps/dokploy/server/api/routers/settings.ts b/apps/dokploy/server/api/routers/settings.ts
index 5c3a4f01..e3e3c481 100644
--- a/apps/dokploy/server/api/routers/settings.ts
+++ b/apps/dokploy/server/api/routers/settings.ts
@@ -301,6 +301,10 @@ export const settingsRouter = createTRPCRouter({
"mongo",
"mariadb",
"sshRouter",
+ "gitProvider",
+ "bitbucket",
+ "github",
+ "gitlab",
],
});
@@ -322,9 +326,9 @@ export const settingsRouter = createTRPCRouter({
}),
writeTraefikEnv: adminProcedure
- .input(z.string())
+ .input(z.object({ env: z.string() }))
.mutation(async ({ input }) => {
- const envs = prepareEnvironmentVariables(input);
+ const envs = prepareEnvironmentVariables(input.env);
await initializeTraefik({
env: envs,
});
diff --git a/apps/dokploy/server/db/schema/gitlab.ts b/apps/dokploy/server/db/schema/gitlab.ts
index 040d29b6..18f83ada 100644
--- a/apps/dokploy/server/db/schema/gitlab.ts
+++ b/apps/dokploy/server/db/schema/gitlab.ts
@@ -54,7 +54,7 @@ export const apiGitlabTestConnection = createSchema
.pick({ gitlabId: true, groupName: true });
export const apiFindGitlabBranches = z.object({
- id: z.number().nullable(),
+ id: z.number().optional(),
owner: z.string(),
repo: z.string(),
gitlabId: z.string().optional(),
diff --git a/apps/dokploy/server/utils/providers/gitlab.ts b/apps/dokploy/server/utils/providers/gitlab.ts
index c039adde..04babc51 100644
--- a/apps/dokploy/server/utils/providers/gitlab.ts
+++ b/apps/dokploy/server/utils/providers/gitlab.ts
@@ -208,12 +208,12 @@ export const getGitlabRepositories = async (gitlabId?: string) => {
};
export const getGitlabBranches = async (input: {
- id: number | null;
+ id?: number;
gitlabId?: string;
owner: string;
repo: string;
}) => {
- if (!input.gitlabId || !input.id) {
+ if (!input.gitlabId || !input.id || input.id === 0) {
return [];
}