[新增] 添加转换上传的 TLS 证书为 ACME 管理证书的功能

This commit is contained in:
ryan
2026-05-26 21:06:50 +08:00
parent 112694f860
commit e3c84c017a
14 changed files with 2821 additions and 572 deletions
+623
View File
@@ -326,6 +326,31 @@ const docTemplate = `{
}
}
},
"/api/acme-accounts/default": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"AcmeAccounts"
],
"summary": "Get default ACME account",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/agent/apply-logs": {
"post": {
"security": [
@@ -600,6 +625,49 @@ const docTemplate = `{
}
}
},
"/api/config-versions/cleanup": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"ConfigVersions"
],
"summary": "Cleanup old config versions",
"parameters": [
{
"description": "Cleanup request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controller.CleanupConfigVersionRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/config-versions/diff": {
"get": {
"security": [
@@ -789,6 +857,148 @@ const docTemplate = `{
}
}
},
"/api/dns-accounts/": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"DnsAccounts"
],
"summary": "List DNS accounts",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"DnsAccounts"
],
"summary": "Create DNS account",
"parameters": [
{
"description": "DNS account payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controller.DnsAccountInput"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/dns-accounts/{id}/delete": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"DnsAccounts"
],
"summary": "Delete DNS account",
"parameters": [
{
"type": "integer",
"description": "DNS Account ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/dns-accounts/{id}/update": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"DnsAccounts"
],
"summary": "Update DNS account",
"parameters": [
{
"type": "integer",
"description": "DNS Account ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "DNS account payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controller.DnsAccountInput"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/managed-domains/": {
"get": {
"security": [
@@ -1552,6 +1762,47 @@ const docTemplate = `{
}
}
},
"/api/option/update-batch": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Options"
],
"summary": "Batch update options",
"parameters": [
{
"description": "Batch option payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controller.optionBatchPayload"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/proxy-routes/": {
"get": {
"security": [
@@ -1621,6 +1872,47 @@ const docTemplate = `{
}
}
},
"/api/proxy-routes/{id}": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"ProxyRoutes"
],
"summary": "Get proxy route detail",
"parameters": [
{
"type": "integer",
"description": "Route ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/proxy-routes/{id}/delete": {
"post": {
"security": [
@@ -1804,6 +2096,52 @@ const docTemplate = `{
}
}
},
"/api/tls-certificates/apply": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"TLSCertificates"
],
"summary": "Apply TLS certificate via ACME",
"parameters": [
{
"description": "TLS apply payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/service.TLSApplyInput"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/tls-certificates/import-file": {
"post": {
"security": [
@@ -1950,6 +2288,59 @@ const docTemplate = `{
}
}
},
"/api/tls-certificates/{id}/convert-acme": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"TLSCertificates"
],
"summary": "Convert uploaded TLS certificate to ACME managed certificate",
"parameters": [
{
"type": "integer",
"description": "Certificate ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "TLS apply payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/service.TLSApplyInput"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/tls-certificates/{id}/delete": {
"post": {
"security": [
@@ -1991,6 +2382,47 @@ const docTemplate = `{
}
}
},
"/api/tls-certificates/{id}/renew": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"TLSCertificates"
],
"summary": "Renew TLS certificate",
"parameters": [
{
"type": "integer",
"description": "Certificate ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/tls-certificates/{id}/update": {
"post": {
"security": [
@@ -2044,6 +2476,59 @@ const docTemplate = `{
}
}
},
"/api/tls-certificates/{id}/update-acme": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"TLSCertificates"
],
"summary": "Update ACME TLS certificate",
"parameters": [
{
"type": "integer",
"description": "Certificate ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "TLS apply payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/service.TLSApplyInput"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/update/latest-release": {
"get": {
"produces": [
@@ -2141,6 +2626,32 @@ const docTemplate = `{
}
},
"definitions": {
"controller.CleanupConfigVersionRequest": {
"type": "object",
"required": [
"keep_count"
],
"properties": {
"keep_count": {
"type": "integer",
"minimum": 3
}
}
},
"controller.DnsAccountInput": {
"type": "object",
"properties": {
"authorization": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"controller.geoIPLookupRequest": {
"type": "object",
"properties": {
@@ -2152,6 +2663,17 @@ const docTemplate = `{
}
}
},
"controller.optionBatchPayload": {
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"$ref": "#/definitions/model.Option"
}
}
}
},
"model.Option": {
"type": "object",
"properties": {
@@ -2491,6 +3013,15 @@ const docTemplate = `{
"service.ProxyRouteInput": {
"type": "object",
"properties": {
"basic_auth_enabled": {
"type": "boolean"
},
"basic_auth_password": {
"type": "string"
},
"basic_auth_username": {
"type": "string"
},
"cache_enabled": {
"type": "boolean"
},
@@ -2506,6 +3037,12 @@ const docTemplate = `{
"cert_id": {
"type": "integer"
},
"cert_ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"custom_headers": {
"type": "array",
"items": {
@@ -2515,24 +3052,69 @@ const docTemplate = `{
"domain": {
"type": "string"
},
"domain_cert_ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"domains": {
"type": "array",
"items": {
"type": "string"
}
},
"enable_https": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
},
"limit_conn_per_ip": {
"type": "integer"
},
"limit_conn_per_server": {
"type": "integer"
},
"limit_rate": {
"type": "string"
},
"origin_address": {
"type": "string"
},
"origin_host": {
"type": "string"
},
"origin_id": {
"type": "integer"
},
"origin_port": {
"type": "string"
},
"origin_scheme": {
"type": "string"
},
"origin_uri": {
"type": "string"
},
"origin_url": {
"type": "string"
},
"pow_config": {
"type": "string"
},
"pow_enabled": {
"type": "boolean"
},
"redirect_http": {
"type": "boolean"
},
"remark": {
"type": "string"
},
"site_name": {
"type": "string"
},
"upstreams": {
"type": "array",
"items": {
@@ -2541,6 +3123,47 @@ const docTemplate = `{
}
}
},
"service.TLSApplyInput": {
"type": "object",
"properties": {
"acme_account_id": {
"type": "integer"
},
"auto_renew": {
"type": "boolean"
},
"disable_cname": {
"type": "boolean"
},
"dns1": {
"type": "string"
},
"dns2": {
"type": "string"
},
"dns_account_id": {
"type": "integer"
},
"key_algorithm": {
"type": "string"
},
"name": {
"type": "string"
},
"other_domains": {
"type": "string"
},
"primary_domain": {
"type": "string"
},
"remark": {
"type": "string"
},
"skip_dns": {
"type": "boolean"
}
}
},
"service.TLSCertificateInput": {
"type": "object",
"properties": {
+623
View File
@@ -323,6 +323,31 @@
}
}
},
"/api/acme-accounts/default": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"AcmeAccounts"
],
"summary": "Get default ACME account",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/agent/apply-logs": {
"post": {
"security": [
@@ -597,6 +622,49 @@
}
}
},
"/api/config-versions/cleanup": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"ConfigVersions"
],
"summary": "Cleanup old config versions",
"parameters": [
{
"description": "Cleanup request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controller.CleanupConfigVersionRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/config-versions/diff": {
"get": {
"security": [
@@ -786,6 +854,148 @@
}
}
},
"/api/dns-accounts/": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"DnsAccounts"
],
"summary": "List DNS accounts",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"DnsAccounts"
],
"summary": "Create DNS account",
"parameters": [
{
"description": "DNS account payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controller.DnsAccountInput"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/dns-accounts/{id}/delete": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"DnsAccounts"
],
"summary": "Delete DNS account",
"parameters": [
{
"type": "integer",
"description": "DNS Account ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/dns-accounts/{id}/update": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"DnsAccounts"
],
"summary": "Update DNS account",
"parameters": [
{
"type": "integer",
"description": "DNS Account ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "DNS account payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controller.DnsAccountInput"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/managed-domains/": {
"get": {
"security": [
@@ -1549,6 +1759,47 @@
}
}
},
"/api/option/update-batch": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Options"
],
"summary": "Batch update options",
"parameters": [
{
"description": "Batch option payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controller.optionBatchPayload"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/proxy-routes/": {
"get": {
"security": [
@@ -1618,6 +1869,47 @@
}
}
},
"/api/proxy-routes/{id}": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"ProxyRoutes"
],
"summary": "Get proxy route detail",
"parameters": [
{
"type": "integer",
"description": "Route ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/proxy-routes/{id}/delete": {
"post": {
"security": [
@@ -1801,6 +2093,52 @@
}
}
},
"/api/tls-certificates/apply": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"TLSCertificates"
],
"summary": "Apply TLS certificate via ACME",
"parameters": [
{
"description": "TLS apply payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/service.TLSApplyInput"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/tls-certificates/import-file": {
"post": {
"security": [
@@ -1947,6 +2285,59 @@
}
}
},
"/api/tls-certificates/{id}/convert-acme": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"TLSCertificates"
],
"summary": "Convert uploaded TLS certificate to ACME managed certificate",
"parameters": [
{
"type": "integer",
"description": "Certificate ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "TLS apply payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/service.TLSApplyInput"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/tls-certificates/{id}/delete": {
"post": {
"security": [
@@ -1988,6 +2379,47 @@
}
}
},
"/api/tls-certificates/{id}/renew": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"TLSCertificates"
],
"summary": "Renew TLS certificate",
"parameters": [
{
"type": "integer",
"description": "Certificate ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/tls-certificates/{id}/update": {
"post": {
"security": [
@@ -2041,6 +2473,59 @@
}
}
},
"/api/tls-certificates/{id}/update-acme": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"TLSCertificates"
],
"summary": "Update ACME TLS certificate",
"parameters": [
{
"type": "integer",
"description": "Certificate ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "TLS apply payload",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/service.TLSApplyInput"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/api/update/latest-release": {
"get": {
"produces": [
@@ -2138,6 +2623,32 @@
}
},
"definitions": {
"controller.CleanupConfigVersionRequest": {
"type": "object",
"required": [
"keep_count"
],
"properties": {
"keep_count": {
"type": "integer",
"minimum": 3
}
}
},
"controller.DnsAccountInput": {
"type": "object",
"properties": {
"authorization": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"controller.geoIPLookupRequest": {
"type": "object",
"properties": {
@@ -2149,6 +2660,17 @@
}
}
},
"controller.optionBatchPayload": {
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"$ref": "#/definitions/model.Option"
}
}
}
},
"model.Option": {
"type": "object",
"properties": {
@@ -2488,6 +3010,15 @@
"service.ProxyRouteInput": {
"type": "object",
"properties": {
"basic_auth_enabled": {
"type": "boolean"
},
"basic_auth_password": {
"type": "string"
},
"basic_auth_username": {
"type": "string"
},
"cache_enabled": {
"type": "boolean"
},
@@ -2503,6 +3034,12 @@
"cert_id": {
"type": "integer"
},
"cert_ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"custom_headers": {
"type": "array",
"items": {
@@ -2512,24 +3049,69 @@
"domain": {
"type": "string"
},
"domain_cert_ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"domains": {
"type": "array",
"items": {
"type": "string"
}
},
"enable_https": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
},
"limit_conn_per_ip": {
"type": "integer"
},
"limit_conn_per_server": {
"type": "integer"
},
"limit_rate": {
"type": "string"
},
"origin_address": {
"type": "string"
},
"origin_host": {
"type": "string"
},
"origin_id": {
"type": "integer"
},
"origin_port": {
"type": "string"
},
"origin_scheme": {
"type": "string"
},
"origin_uri": {
"type": "string"
},
"origin_url": {
"type": "string"
},
"pow_config": {
"type": "string"
},
"pow_enabled": {
"type": "boolean"
},
"redirect_http": {
"type": "boolean"
},
"remark": {
"type": "string"
},
"site_name": {
"type": "string"
},
"upstreams": {
"type": "array",
"items": {
@@ -2538,6 +3120,47 @@
}
}
},
"service.TLSApplyInput": {
"type": "object",
"properties": {
"acme_account_id": {
"type": "integer"
},
"auto_renew": {
"type": "boolean"
},
"disable_cname": {
"type": "boolean"
},
"dns1": {
"type": "string"
},
"dns2": {
"type": "string"
},
"dns_account_id": {
"type": "integer"
},
"key_algorithm": {
"type": "string"
},
"name": {
"type": "string"
},
"other_domains": {
"type": "string"
},
"primary_domain": {
"type": "string"
},
"remark": {
"type": "string"
},
"skip_dns": {
"type": "boolean"
}
}
},
"service.TLSCertificateInput": {
"type": "object",
"properties": {
+397
View File
@@ -1,5 +1,22 @@
basePath: /
definitions:
controller.CleanupConfigVersionRequest:
properties:
keep_count:
minimum: 3
type: integer
required:
- keep_count
type: object
controller.DnsAccountInput:
properties:
authorization:
type: string
name:
type: string
type:
type: string
type: object
controller.geoIPLookupRequest:
properties:
ip:
@@ -7,6 +24,13 @@ definitions:
provider:
type: string
type: object
controller.optionBatchPayload:
properties:
options:
items:
$ref: '#/definitions/model.Option'
type: array
type: object
model.Option:
properties:
key:
@@ -229,6 +253,12 @@ definitions:
type: object
service.ProxyRouteInput:
properties:
basic_auth_enabled:
type: boolean
basic_auth_password:
type: string
basic_auth_username:
type: string
cache_enabled:
type: boolean
cache_policy:
@@ -239,29 +269,90 @@ definitions:
type: array
cert_id:
type: integer
cert_ids:
items:
type: integer
type: array
custom_headers:
items:
$ref: '#/definitions/service.ProxyRouteCustomHeaderInput'
type: array
domain:
type: string
domain_cert_ids:
items:
type: integer
type: array
domains:
items:
type: string
type: array
enable_https:
type: boolean
enabled:
type: boolean
limit_conn_per_ip:
type: integer
limit_conn_per_server:
type: integer
limit_rate:
type: string
origin_address:
type: string
origin_host:
type: string
origin_id:
type: integer
origin_port:
type: string
origin_scheme:
type: string
origin_uri:
type: string
origin_url:
type: string
pow_config:
type: string
pow_enabled:
type: boolean
redirect_http:
type: boolean
remark:
type: string
site_name:
type: string
upstreams:
items:
type: string
type: array
type: object
service.TLSApplyInput:
properties:
acme_account_id:
type: integer
auto_renew:
type: boolean
disable_cname:
type: boolean
dns_account_id:
type: integer
dns1:
type: string
dns2:
type: string
key_algorithm:
type: string
name:
type: string
other_domains:
type: string
primary_domain:
type: string
remark:
type: string
skip_dns:
type: boolean
type: object
service.TLSCertificateInput:
properties:
cert_pem:
@@ -477,6 +568,21 @@ paths:
summary: Get access log IP trend
tags:
- AccessLogs
/api/acme-accounts/default:
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: Get default ACME account
tags:
- AcmeAccounts
/api/agent/apply-logs:
post:
consumes:
@@ -698,6 +804,33 @@ paths:
summary: Get active config version
tags:
- ConfigVersions
/api/config-versions/cleanup:
post:
parameters:
- description: Cleanup request
in: body
name: request
required: true
schema:
$ref: '#/definitions/controller.CleanupConfigVersionRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"400":
description: Bad Request
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: Cleanup old config versions
tags:
- ConfigVersions
/api/config-versions/diff:
get:
produces:
@@ -763,6 +896,94 @@ paths:
summary: Get dashboard overview
tags:
- Dashboard
/api/dns-accounts/:
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: List DNS accounts
tags:
- DnsAccounts
post:
consumes:
- application/json
parameters:
- description: DNS account payload
in: body
name: payload
required: true
schema:
$ref: '#/definitions/controller.DnsAccountInput'
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: Create DNS account
tags:
- DnsAccounts
/api/dns-accounts/{id}/delete:
post:
parameters:
- description: DNS Account ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: Delete DNS account
tags:
- DnsAccounts
/api/dns-accounts/{id}/update:
post:
consumes:
- application/json
parameters:
- description: DNS Account ID
in: path
name: id
required: true
type: integer
- description: DNS account payload
in: body
name: payload
required: true
schema:
$ref: '#/definitions/controller.DnsAccountInput'
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: Update DNS account
tags:
- DnsAccounts
/api/managed-domains/:
get:
produces:
@@ -1246,6 +1467,33 @@ paths:
summary: Update option
tags:
- Options
/api/option/update-batch:
post:
consumes:
- application/json
parameters:
- description: Batch option payload
in: body
name: payload
required: true
schema:
$ref: '#/definitions/controller.optionBatchPayload'
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"400":
description: Bad Request
schema:
additionalProperties: true
type: object
summary: Batch update options
tags:
- Options
/api/proxy-routes/:
get:
produces:
@@ -1289,6 +1537,32 @@ paths:
summary: Create proxy route
tags:
- ProxyRoutes
/api/proxy-routes/{id}:
get:
parameters:
- description: Route ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"400":
description: Bad Request
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: Get proxy route detail
tags:
- ProxyRoutes
/api/proxy-routes/{id}/delete:
post:
parameters:
@@ -1457,6 +1731,40 @@ paths:
summary: Get TLS certificate PEM content
tags:
- TLSCertificates
/api/tls-certificates/{id}/convert-acme:
post:
consumes:
- application/json
parameters:
- description: Certificate ID
in: path
name: id
required: true
type: integer
- description: TLS apply payload
in: body
name: payload
required: true
schema:
$ref: '#/definitions/service.TLSApplyInput'
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"400":
description: Bad Request
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: Convert uploaded TLS certificate to ACME managed certificate
tags:
- TLSCertificates
/api/tls-certificates/{id}/delete:
post:
parameters:
@@ -1483,6 +1791,32 @@ paths:
summary: Delete TLS certificate
tags:
- TLSCertificates
/api/tls-certificates/{id}/renew:
post:
parameters:
- description: Certificate ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"400":
description: Bad Request
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: Renew TLS certificate
tags:
- TLSCertificates
/api/tls-certificates/{id}/update:
post:
consumes:
@@ -1517,6 +1851,69 @@ paths:
summary: Update TLS certificate from PEM
tags:
- TLSCertificates
/api/tls-certificates/{id}/update-acme:
post:
consumes:
- application/json
parameters:
- description: Certificate ID
in: path
name: id
required: true
type: integer
- description: TLS apply payload
in: body
name: payload
required: true
schema:
$ref: '#/definitions/service.TLSApplyInput'
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"400":
description: Bad Request
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: Update ACME TLS certificate
tags:
- TLSCertificates
/api/tls-certificates/apply:
post:
consumes:
- application/json
parameters:
- description: TLS apply payload
in: body
name: payload
required: true
schema:
$ref: '#/definitions/service.TLSApplyInput'
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"400":
description: Bad Request
schema:
additionalProperties: true
type: object
security:
- BearerAuth: []
summary: Apply TLS certificate via ACME
tags:
- TLSCertificates
/api/tls-certificates/import-file:
post:
consumes: