x/api/swagger.yaml
2023-11-19 16:59:22 +08:00

2079 lines
62 KiB
YAML

basePath: /
consumes:
- application/json
definitions:
APIConfig:
properties:
accesslog:
type: boolean
x-go-name: AccessLog
addr:
type: string
x-go-name: Addr
auth:
$ref: '#/definitions/AuthConfig'
auther:
type: string
x-go-name: Auther
pathPrefix:
type: string
x-go-name: PathPrefix
type: object
x-go-package: github.com/go-gost/x/config
AdmissionConfig:
properties:
file:
$ref: '#/definitions/FileLoader'
http:
$ref: '#/definitions/HTTPLoader'
matchers:
items:
type: string
type: array
x-go-name: Matchers
name:
type: string
x-go-name: Name
plugin:
$ref: '#/definitions/PluginConfig'
redis:
$ref: '#/definitions/RedisLoader'
reload:
$ref: '#/definitions/Duration'
reverse:
description: DEPRECATED by whitelist since beta.4
type: boolean
x-go-name: Reverse
whitelist:
type: boolean
x-go-name: Whitelist
type: object
x-go-package: github.com/go-gost/x/config
AuthConfig:
properties:
password:
type: string
x-go-name: Password
username:
type: string
x-go-name: Username
type: object
x-go-package: github.com/go-gost/x/config
AutherConfig:
properties:
auths:
items:
$ref: '#/definitions/AuthConfig'
type: array
x-go-name: Auths
file:
$ref: '#/definitions/FileLoader'
http:
$ref: '#/definitions/HTTPLoader'
name:
type: string
x-go-name: Name
plugin:
$ref: '#/definitions/PluginConfig'
redis:
$ref: '#/definitions/RedisLoader'
reload:
$ref: '#/definitions/Duration'
type: object
x-go-package: github.com/go-gost/x/config
BypassConfig:
properties:
file:
$ref: '#/definitions/FileLoader'
http:
$ref: '#/definitions/HTTPLoader'
matchers:
items:
type: string
type: array
x-go-name: Matchers
name:
type: string
x-go-name: Name
plugin:
$ref: '#/definitions/PluginConfig'
redis:
$ref: '#/definitions/RedisLoader'
reload:
$ref: '#/definitions/Duration'
reverse:
description: DEPRECATED by whitelist since beta.4
type: boolean
x-go-name: Reverse
whitelist:
type: boolean
x-go-name: Whitelist
type: object
x-go-package: github.com/go-gost/x/config
ChainConfig:
properties:
hops:
items:
$ref: '#/definitions/HopConfig'
type: array
x-go-name: Hops
metadata:
additionalProperties: {}
type: object
x-go-name: Metadata
name:
type: string
x-go-name: Name
type: object
x-go-package: github.com/go-gost/x/config
ChainGroupConfig:
properties:
chains:
items:
type: string
type: array
x-go-name: Chains
selector:
$ref: '#/definitions/SelectorConfig'
type: object
x-go-package: github.com/go-gost/x/config
Config:
properties:
admissions:
items:
$ref: '#/definitions/AdmissionConfig'
type: array
x-go-name: Admissions
api:
$ref: '#/definitions/APIConfig'
authers:
items:
$ref: '#/definitions/AutherConfig'
type: array
x-go-name: Authers
bypasses:
items:
$ref: '#/definitions/BypassConfig'
type: array
x-go-name: Bypasses
chains:
items:
$ref: '#/definitions/ChainConfig'
type: array
x-go-name: Chains
climiters:
items:
$ref: '#/definitions/LimiterConfig'
type: array
x-go-name: CLimiters
hops:
items:
$ref: '#/definitions/HopConfig'
type: array
x-go-name: Hops
hosts:
items:
$ref: '#/definitions/HostsConfig'
type: array
x-go-name: Hosts
ingresses:
items:
$ref: '#/definitions/IngressConfig'
type: array
x-go-name: Ingresses
limiters:
items:
$ref: '#/definitions/LimiterConfig'
type: array
x-go-name: Limiters
log:
$ref: '#/definitions/LogConfig'
metrics:
$ref: '#/definitions/MetricsConfig'
profiling:
$ref: '#/definitions/ProfilingConfig'
recorders:
items:
$ref: '#/definitions/RecorderConfig'
type: array
x-go-name: Recorders
resolvers:
items:
$ref: '#/definitions/ResolverConfig'
type: array
x-go-name: Resolvers
rlimiters:
items:
$ref: '#/definitions/LimiterConfig'
type: array
x-go-name: RLimiters
routers:
items:
$ref: '#/definitions/RouterConfig'
type: array
x-go-name: Routers
sds:
items:
$ref: '#/definitions/SDConfig'
type: array
x-go-name: SDs
services:
items:
$ref: '#/definitions/ServiceConfig'
type: array
x-go-name: Services
tls:
$ref: '#/definitions/TLSConfig'
type: object
x-go-package: github.com/go-gost/x/config
ConnectorConfig:
properties:
auth:
$ref: '#/definitions/AuthConfig'
metadata:
additionalProperties: {}
type: object
x-go-name: Metadata
tls:
$ref: '#/definitions/TLSConfig'
type:
type: string
x-go-name: Type
type: object
x-go-package: github.com/go-gost/x/config
DialerConfig:
properties:
auth:
$ref: '#/definitions/AuthConfig'
metadata:
additionalProperties: {}
type: object
x-go-name: Metadata
tls:
$ref: '#/definitions/TLSConfig'
type:
type: string
x-go-name: Type
type: object
x-go-package: github.com/go-gost/x/config
Duration:
description: |-
A Duration represents the elapsed time between two instants
as an int64 nanosecond count. The representation limits the
largest representable duration to approximately 290 years.
format: int64
type: integer
x-go-package: time
FileLoader:
properties:
path:
type: string
x-go-name: Path
type: object
x-go-package: github.com/go-gost/x/config
FileRecorder:
properties:
path:
type: string
x-go-name: Path
sep:
type: string
x-go-name: Sep
type: object
x-go-package: github.com/go-gost/x/config
ForwardNodeConfig:
properties:
addr:
type: string
x-go-name: Addr
auth:
$ref: '#/definitions/AuthConfig'
bypass:
type: string
x-go-name: Bypass
bypasses:
items:
type: string
type: array
x-go-name: Bypasses
host:
type: string
x-go-name: Host
http:
$ref: '#/definitions/HTTPNodeConfig'
name:
type: string
x-go-name: Name
network:
type: string
x-go-name: Network
path:
type: string
x-go-name: Path
protocol:
type: string
x-go-name: Protocol
tls:
$ref: '#/definitions/TLSNodeConfig'
type: object
x-go-package: github.com/go-gost/x/config
ForwarderConfig:
properties:
name:
type: string
x-go-name: Name
nodes:
items:
$ref: '#/definitions/ForwardNodeConfig'
type: array
x-go-name: Nodes
selector:
$ref: '#/definitions/SelectorConfig'
type: object
x-go-package: github.com/go-gost/x/config
HTTPLoader:
properties:
timeout:
$ref: '#/definitions/Duration'
url:
type: string
x-go-name: URL
type: object
x-go-package: github.com/go-gost/x/config
HTTPNodeConfig:
properties:
header:
additionalProperties:
type: string
type: object
x-go-name: Header
host:
type: string
x-go-name: Host
type: object
x-go-package: github.com/go-gost/x/config
HTTPRecorder:
properties:
timeout:
$ref: '#/definitions/Duration'
url:
type: string
x-go-name: URL
type: object
x-go-package: github.com/go-gost/x/config
HandlerConfig:
properties:
auth:
$ref: '#/definitions/AuthConfig'
auther:
type: string
x-go-name: Auther
authers:
items:
type: string
type: array
x-go-name: Authers
chain:
type: string
x-go-name: Chain
chainGroup:
$ref: '#/definitions/ChainGroupConfig'
limiter:
type: string
x-go-name: Limiter
metadata:
additionalProperties: {}
type: object
x-go-name: Metadata
retries:
format: int64
type: integer
x-go-name: Retries
tls:
$ref: '#/definitions/TLSConfig'
type:
type: string
x-go-name: Type
type: object
x-go-package: github.com/go-gost/x/config
HopConfig:
properties:
bypass:
type: string
x-go-name: Bypass
bypasses:
items:
type: string
type: array
x-go-name: Bypasses
file:
$ref: '#/definitions/FileLoader'
hosts:
type: string
x-go-name: Hosts
http:
$ref: '#/definitions/HTTPLoader'
interface:
type: string
x-go-name: Interface
name:
type: string
x-go-name: Name
nodes:
items:
$ref: '#/definitions/NodeConfig'
type: array
x-go-name: Nodes
plugin:
$ref: '#/definitions/PluginConfig'
redis:
$ref: '#/definitions/RedisLoader'
reload:
$ref: '#/definitions/Duration'
resolver:
type: string
x-go-name: Resolver
selector:
$ref: '#/definitions/SelectorConfig'
sockopts:
$ref: '#/definitions/SockOptsConfig'
type: object
x-go-package: github.com/go-gost/x/config
HostMappingConfig:
properties:
aliases:
items:
type: string
type: array
x-go-name: Aliases
hostname:
type: string
x-go-name: Hostname
ip:
type: string
x-go-name: IP
type: object
x-go-package: github.com/go-gost/x/config
HostsConfig:
properties:
file:
$ref: '#/definitions/FileLoader'
http:
$ref: '#/definitions/HTTPLoader'
mappings:
items:
$ref: '#/definitions/HostMappingConfig'
type: array
x-go-name: Mappings
name:
type: string
x-go-name: Name
plugin:
$ref: '#/definitions/PluginConfig'
redis:
$ref: '#/definitions/RedisLoader'
reload:
$ref: '#/definitions/Duration'
type: object
x-go-package: github.com/go-gost/x/config
IngressConfig:
properties:
file:
$ref: '#/definitions/FileLoader'
http:
$ref: '#/definitions/HTTPLoader'
name:
type: string
x-go-name: Name
plugin:
$ref: '#/definitions/PluginConfig'
redis:
$ref: '#/definitions/RedisLoader'
reload:
$ref: '#/definitions/Duration'
rules:
items:
$ref: '#/definitions/IngressRuleConfig'
type: array
x-go-name: Rules
type: object
x-go-package: github.com/go-gost/x/config
IngressRuleConfig:
properties:
endpoint:
type: string
x-go-name: Endpoint
hostname:
type: string
x-go-name: Hostname
type: object
x-go-package: github.com/go-gost/x/config
LimiterConfig:
properties:
file:
$ref: '#/definitions/FileLoader'
http:
$ref: '#/definitions/HTTPLoader'
limits:
items:
type: string
type: array
x-go-name: Limits
name:
type: string
x-go-name: Name
plugin:
$ref: '#/definitions/PluginConfig'
redis:
$ref: '#/definitions/RedisLoader'
reload:
$ref: '#/definitions/Duration'
type: object
x-go-package: github.com/go-gost/x/config
ListenerConfig:
properties:
auth:
$ref: '#/definitions/AuthConfig'
auther:
type: string
x-go-name: Auther
authers:
items:
type: string
type: array
x-go-name: Authers
chain:
type: string
x-go-name: Chain
chainGroup:
$ref: '#/definitions/ChainGroupConfig'
metadata:
additionalProperties: {}
type: object
x-go-name: Metadata
tls:
$ref: '#/definitions/TLSConfig'
type:
type: string
x-go-name: Type
type: object
x-go-package: github.com/go-gost/x/config
LogConfig:
properties:
format:
type: string
x-go-name: Format
level:
type: string
x-go-name: Level
output:
type: string
x-go-name: Output
rotation:
$ref: '#/definitions/LogRotationConfig'
type: object
x-go-package: github.com/go-gost/x/config
LogRotationConfig:
properties:
compress:
description: |-
Compress determines if the rotated log files should be compressed
using gzip. The default is not to perform compression.
type: boolean
x-go-name: Compress
localTime:
description: |-
LocalTime determines if the time used for formatting the timestamps in
backup files is the computer's local time. The default is to use UTC
time.
type: boolean
x-go-name: LocalTime
maxAge:
description: |-
MaxAge is the maximum number of days to retain old log files based on the
timestamp encoded in their filename. Note that a day is defined as 24
hours and may not exactly correspond to calendar days due to daylight
savings, leap seconds, etc. The default is not to remove old log files
based on age.
format: int64
type: integer
x-go-name: MaxAge
maxBackups:
description: |-
MaxBackups is the maximum number of old log files to retain. The default
is to retain all old log files (though MaxAge may still cause them to get
deleted.)
format: int64
type: integer
x-go-name: MaxBackups
maxSize:
description: |-
MaxSize is the maximum size in megabytes of the log file before it gets
rotated. It defaults to 100 megabytes.
format: int64
type: integer
x-go-name: MaxSize
type: object
x-go-package: github.com/go-gost/x/config
MetricsConfig:
properties:
addr:
type: string
x-go-name: Addr
auth:
$ref: '#/definitions/AuthConfig'
auther:
type: string
x-go-name: Auther
path:
type: string
x-go-name: Path
type: object
x-go-package: github.com/go-gost/x/config
NameserverConfig:
properties:
addr:
type: string
x-go-name: Addr
async:
type: boolean
x-go-name: Async
chain:
type: string
x-go-name: Chain
clientIP:
type: string
x-go-name: ClientIP
hostname:
type: string
x-go-name: Hostname
only:
type: string
x-go-name: Only
prefer:
type: string
x-go-name: Prefer
timeout:
$ref: '#/definitions/Duration'
ttl:
$ref: '#/definitions/Duration'
type: object
x-go-package: github.com/go-gost/x/config
NodeConfig:
properties:
addr:
type: string
x-go-name: Addr
auth:
$ref: '#/definitions/AuthConfig'
bypass:
type: string
x-go-name: Bypass
bypasses:
items:
type: string
type: array
x-go-name: Bypasses
connector:
$ref: '#/definitions/ConnectorConfig'
dialer:
$ref: '#/definitions/DialerConfig'
host:
type: string
x-go-name: Host
hosts:
type: string
x-go-name: Hosts
http:
$ref: '#/definitions/HTTPNodeConfig'
interface:
type: string
x-go-name: Interface
metadata:
additionalProperties: {}
type: object
x-go-name: Metadata
name:
type: string
x-go-name: Name
network:
type: string
x-go-name: Network
path:
type: string
x-go-name: Path
protocol:
type: string
x-go-name: Protocol
resolver:
type: string
x-go-name: Resolver
sockopts:
$ref: '#/definitions/SockOptsConfig'
tls:
$ref: '#/definitions/TLSNodeConfig'
type: object
x-go-package: github.com/go-gost/x/config
PluginConfig:
properties:
addr:
type: string
x-go-name: Addr
timeout:
$ref: '#/definitions/Duration'
tls:
$ref: '#/definitions/TLSConfig'
token:
type: string
x-go-name: Token
type:
type: string
x-go-name: Type
type: object
x-go-package: github.com/go-gost/x/config
ProfilingConfig:
properties:
addr:
type: string
x-go-name: Addr
type: object
x-go-package: github.com/go-gost/x/config
RecorderConfig:
properties:
file:
$ref: '#/definitions/FileRecorder'
http:
$ref: '#/definitions/HTTPRecorder'
name:
type: string
x-go-name: Name
plugin:
$ref: '#/definitions/PluginConfig'
redis:
$ref: '#/definitions/RedisRecorder'
tcp:
$ref: '#/definitions/TCPRecorder'
type: object
x-go-package: github.com/go-gost/x/config
RecorderObject:
properties:
Metadata:
additionalProperties: {}
type: object
name:
type: string
x-go-name: Name
record:
type: string
x-go-name: Record
type: object
x-go-package: github.com/go-gost/x/config
RedisLoader:
properties:
addr:
type: string
x-go-name: Addr
db:
format: int64
type: integer
x-go-name: DB
key:
type: string
x-go-name: Key
password:
type: string
x-go-name: Password
type:
type: string
x-go-name: Type
type: object
x-go-package: github.com/go-gost/x/config
RedisRecorder:
properties:
addr:
type: string
x-go-name: Addr
db:
format: int64
type: integer
x-go-name: DB
key:
type: string
x-go-name: Key
password:
type: string
x-go-name: Password
type:
type: string
x-go-name: Type
type: object
x-go-package: github.com/go-gost/x/config
ResolverConfig:
properties:
name:
type: string
x-go-name: Name
nameservers:
items:
$ref: '#/definitions/NameserverConfig'
type: array
x-go-name: Nameservers
plugin:
$ref: '#/definitions/PluginConfig'
type: object
x-go-package: github.com/go-gost/x/config
Response:
properties:
code:
format: int64
type: integer
x-go-name: Code
msg:
type: string
x-go-name: Msg
type: object
x-go-package: github.com/go-gost/x/api
RouterConfig:
properties:
file:
$ref: '#/definitions/FileLoader'
http:
$ref: '#/definitions/HTTPLoader'
name:
type: string
x-go-name: Name
plugin:
$ref: '#/definitions/PluginConfig'
redis:
$ref: '#/definitions/RedisLoader'
reload:
$ref: '#/definitions/Duration'
routes:
items:
$ref: '#/definitions/RouterRouteConfig'
type: array
x-go-name: Routes
type: object
x-go-package: github.com/go-gost/x/config
RouterRouteConfig:
properties:
gateway:
type: string
x-go-name: Gateway
net:
type: string
x-go-name: Net
type: object
x-go-package: github.com/go-gost/x/config
SDConfig:
properties:
name:
type: string
x-go-name: Name
plugin:
$ref: '#/definitions/PluginConfig'
type: object
x-go-package: github.com/go-gost/x/config
SelectorConfig:
properties:
failTimeout:
$ref: '#/definitions/Duration'
maxFails:
format: int64
type: integer
x-go-name: MaxFails
strategy:
type: string
x-go-name: Strategy
type: object
x-go-package: github.com/go-gost/x/config
ServiceConfig:
properties:
addr:
type: string
x-go-name: Addr
admission:
type: string
x-go-name: Admission
admissions:
items:
type: string
type: array
x-go-name: Admissions
bypass:
type: string
x-go-name: Bypass
bypasses:
items:
type: string
type: array
x-go-name: Bypasses
climiter:
type: string
x-go-name: CLimiter
forwarder:
$ref: '#/definitions/ForwarderConfig'
handler:
$ref: '#/definitions/HandlerConfig'
hosts:
type: string
x-go-name: Hosts
interface:
description: DEPRECATED by metadata.interface since beta.5
type: string
x-go-name: Interface
limiter:
type: string
x-go-name: Limiter
listener:
$ref: '#/definitions/ListenerConfig'
metadata:
additionalProperties: {}
type: object
x-go-name: Metadata
name:
type: string
x-go-name: Name
recorders:
items:
$ref: '#/definitions/RecorderObject'
type: array
x-go-name: Recorders
resolver:
type: string
x-go-name: Resolver
rlimiter:
type: string
x-go-name: RLimiter
sockopts:
$ref: '#/definitions/SockOptsConfig'
type: object
x-go-package: github.com/go-gost/x/config
SockOptsConfig:
properties:
mark:
format: int64
type: integer
x-go-name: Mark
type: object
x-go-package: github.com/go-gost/x/config
TCPRecorder:
properties:
addr:
type: string
x-go-name: Addr
timeout:
$ref: '#/definitions/Duration'
type: object
x-go-package: github.com/go-gost/x/config
TLSConfig:
properties:
caFile:
type: string
x-go-name: CAFile
certFile:
type: string
x-go-name: CertFile
commonName:
type: string
x-go-name: CommonName
keyFile:
type: string
x-go-name: KeyFile
options:
$ref: '#/definitions/TLSOptions'
organization:
type: string
x-go-name: Organization
secure:
type: boolean
x-go-name: Secure
serverName:
type: string
x-go-name: ServerName
validity:
$ref: '#/definitions/Duration'
type: object
x-go-package: github.com/go-gost/x/config
TLSNodeConfig:
properties:
options:
$ref: '#/definitions/TLSOptions'
secure:
type: boolean
x-go-name: Secure
serverName:
type: string
x-go-name: ServerName
type: object
x-go-package: github.com/go-gost/x/config
TLSOptions:
properties:
cipherSuites:
items:
type: string
type: array
x-go-name: CipherSuites
maxVersion:
type: string
x-go-name: MaxVersion
minVersion:
type: string
x-go-name: MinVersion
type: object
x-go-package: github.com/go-gost/x/config
info:
title: Documentation of Web API.
version: 1.0.0
paths:
/config:
get:
operationId: getConfigRequest
parameters:
- description: output format, one of yaml|json, default is json.
in: query
name: format
type: string
x-go-name: Format
responses:
"200":
$ref: '#/responses/getConfigResponse'
security:
- basicAuth:
- '[]'
summary: Get current config.
tags:
- Config
post:
operationId: saveConfigRequest
parameters:
- description: output format, one of yaml|json, default is yaml.
in: query
name: format
type: string
x-go-name: Format
- description: file path, default is gost.yaml|gost.json in current working directory.
in: query
name: path
type: string
x-go-name: Path
responses:
"200":
$ref: '#/responses/saveConfigResponse'
security:
- basicAuth:
- '[]'
summary: Save current config to file (gost.yaml or gost.json).
tags:
- Config
/config/admissions:
post:
operationId: createAdmissionRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/AdmissionConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createAdmissionResponse'
security:
- basicAuth:
- '[]'
summary: Create a new admission, the name of admission must be unique in admission list.
tags:
- Admission
/config/admissions/{admission}:
delete:
operationId: deleteAdmissionRequest
parameters:
- in: path
name: admission
required: true
type: string
x-go-name: Admission
responses:
"200":
$ref: '#/responses/deleteAdmissionResponse'
security:
- basicAuth:
- '[]'
summary: Delete admission by name.
tags:
- Admission
put:
operationId: updateAdmissionRequest
parameters:
- in: path
name: admission
required: true
type: string
x-go-name: Admission
- in: body
name: data
schema:
$ref: '#/definitions/AdmissionConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateAdmissionResponse'
security:
- basicAuth:
- '[]'
summary: Update admission by name, the admission must already exist.
tags:
- Admission
/config/authers:
post:
operationId: createAutherRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/AutherConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createAutherResponse'
security:
- basicAuth:
- '[]'
summary: Create a new auther, the name of the auther must be unique in auther list.
tags:
- Auther
/config/authers/{auther}:
delete:
operationId: deleteAutherRequest
parameters:
- in: path
name: auther
required: true
type: string
x-go-name: Auther
responses:
"200":
$ref: '#/responses/deleteAutherResponse'
security:
- basicAuth:
- '[]'
summary: Delete auther by name.
tags:
- Auther
put:
operationId: updateAutherRequest
parameters:
- in: path
name: auther
required: true
type: string
x-go-name: Auther
- in: body
name: data
schema:
$ref: '#/definitions/AutherConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateAutherResponse'
security:
- basicAuth:
- '[]'
summary: Update auther by name, the auther must already exist.
tags:
- Auther
/config/bypasses:
post:
operationId: createBypassRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/BypassConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createBypassResponse'
security:
- basicAuth:
- '[]'
summary: Create a new bypass, the name of bypass must be unique in bypass list.
tags:
- Bypass
/config/bypasses/{bypass}:
delete:
operationId: deleteBypassRequest
parameters:
- in: path
name: bypass
required: true
type: string
x-go-name: Bypass
responses:
"200":
$ref: '#/responses/deleteBypassResponse'
security:
- basicAuth:
- '[]'
summary: Delete bypass by name.
tags:
- Bypass
put:
operationId: updateBypassRequest
parameters:
- in: path
name: bypass
required: true
type: string
x-go-name: Bypass
- in: body
name: data
schema:
$ref: '#/definitions/BypassConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateBypassResponse'
security:
- basicAuth:
- '[]'
summary: Update bypass by name, the bypass must already exist.
tags:
- Bypass
/config/chains:
post:
operationId: createChainRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/ChainConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createChainResponse'
security:
- basicAuth:
- '[]'
summary: Create a new chain, the name of chain must be unique in chain list.
tags:
- Chain
/config/chains/{chain}:
delete:
operationId: deleteChainRequest
parameters:
- in: path
name: chain
required: true
type: string
x-go-name: Chain
responses:
"200":
$ref: '#/responses/deleteChainResponse'
security:
- basicAuth:
- '[]'
summary: Delete chain by name.
tags:
- Chain
put:
operationId: updateChainRequest
parameters:
- in: path
name: chain
required: true
type: string
x-go-name: Chain
- in: body
name: data
schema:
$ref: '#/definitions/ChainConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateChainResponse'
security:
- basicAuth:
- '[]'
summary: Update chain by name, the chain must already exist.
tags:
- Chain
/config/climiters:
post:
operationId: createConnLimiterRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/LimiterConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createConnLimiterResponse'
security:
- basicAuth:
- '[]'
summary: Create a new conn limiter, the name of limiter must be unique in limiter list.
tags:
- Limiter
/config/climiters/{limiter}:
delete:
operationId: deleteConnLimiterRequest
parameters:
- in: path
name: limiter
required: true
type: string
x-go-name: Limiter
responses:
"200":
$ref: '#/responses/deleteConnLimiterResponse'
security:
- basicAuth:
- '[]'
summary: Delete conn limiter by name.
tags:
- Limiter
put:
operationId: updateConnLimiterRequest
parameters:
- in: path
name: limiter
required: true
type: string
x-go-name: Limiter
- in: body
name: data
schema:
$ref: '#/definitions/LimiterConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateConnLimiterResponse'
security:
- basicAuth:
- '[]'
summary: Update conn limiter by name, the limiter must already exist.
tags:
- Limiter
/config/hops:
post:
operationId: createHopRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/HopConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createHopResponse'
security:
- basicAuth:
- '[]'
summary: Create a new hop, the name of hop must be unique in hop list.
tags:
- Hop
/config/hops/{hop}:
delete:
operationId: deleteHopRequest
parameters:
- in: path
name: hop
required: true
type: string
x-go-name: Hop
responses:
"200":
$ref: '#/responses/deleteHopResponse'
security:
- basicAuth:
- '[]'
summary: Delete hop by name.
tags:
- Hop
put:
operationId: updateHopRequest
parameters:
- in: path
name: hop
required: true
type: string
x-go-name: Hop
- in: body
name: data
schema:
$ref: '#/definitions/HopConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateHopResponse'
security:
- basicAuth:
- '[]'
summary: Update hop by name, the hop must already exist.
tags:
- Hop
/config/hosts:
post:
operationId: createHostsRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/HostsConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createHostsResponse'
security:
- basicAuth:
- '[]'
summary: Create a new hosts, the name of the hosts must be unique in hosts list.
tags:
- Hosts
/config/hosts/{hosts}:
delete:
operationId: deleteHostsRequest
parameters:
- in: path
name: hosts
required: true
type: string
x-go-name: Hosts
responses:
"200":
$ref: '#/responses/deleteHostsResponse'
security:
- basicAuth:
- '[]'
summary: Delete hosts by name.
tags:
- Hosts
put:
operationId: updateHostsRequest
parameters:
- in: path
name: hosts
required: true
type: string
x-go-name: Hosts
- in: body
name: data
schema:
$ref: '#/definitions/HostsConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateHostsResponse'
security:
- basicAuth:
- '[]'
summary: Update hosts by name, the hosts must already exist.
tags:
- Hosts
/config/ingresses:
post:
operationId: createIngressRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/IngressConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createIngressResponse'
security:
- basicAuth:
- '[]'
summary: Create a new ingress, the name of the ingress must be unique in ingress list.
tags:
- Ingress
/config/ingresses/{ingress}:
delete:
operationId: deleteIngressRequest
parameters:
- in: path
name: ingress
required: true
type: string
x-go-name: Ingress
responses:
"200":
$ref: '#/responses/deleteIngressResponse'
security:
- basicAuth:
- '[]'
summary: Delete ingress by name.
tags:
- Ingress
put:
operationId: updateIngressRequest
parameters:
- in: path
name: ingress
required: true
type: string
x-go-name: Ingress
- in: body
name: data
schema:
$ref: '#/definitions/IngressConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateIngressResponse'
security:
- basicAuth:
- '[]'
summary: Update ingress by name, the ingress must already exist.
tags:
- Ingress
/config/limiters:
post:
operationId: createLimiterRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/LimiterConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createLimiterResponse'
security:
- basicAuth:
- '[]'
summary: Create a new limiter, the name of limiter must be unique in limiter list.
tags:
- Limiter
/config/limiters/{limiter}:
delete:
operationId: deleteLimiterRequest
parameters:
- in: path
name: limiter
required: true
type: string
x-go-name: Limiter
responses:
"200":
$ref: '#/responses/deleteLimiterResponse'
security:
- basicAuth:
- '[]'
summary: Delete limiter by name.
tags:
- Limiter
put:
operationId: updateLimiterRequest
parameters:
- in: path
name: limiter
required: true
type: string
x-go-name: Limiter
- in: body
name: data
schema:
$ref: '#/definitions/LimiterConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateLimiterResponse'
security:
- basicAuth:
- '[]'
summary: Update limiter by name, the limiter must already exist.
tags:
- Limiter
/config/resolvers:
post:
operationId: createResolverRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/ResolverConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createResolverResponse'
security:
- basicAuth:
- '[]'
summary: Create a new resolver, the name of the resolver must be unique in resolver list.
tags:
- Resolver
/config/resolvers/{resolver}:
delete:
operationId: deleteResolverRequest
parameters:
- in: path
name: resolver
required: true
type: string
x-go-name: Resolver
responses:
"200":
$ref: '#/responses/deleteResolverResponse'
security:
- basicAuth:
- '[]'
summary: Delete resolver by name.
tags:
- Resolver
put:
operationId: updateResolverRequest
parameters:
- in: path
name: resolver
required: true
type: string
x-go-name: Resolver
- in: body
name: data
schema:
$ref: '#/definitions/ResolverConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateResolverResponse'
security:
- basicAuth:
- '[]'
summary: Update resolver by name, the resolver must already exist.
tags:
- Resolver
/config/rlimiters:
post:
operationId: createRateLimiterRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/LimiterConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createRateLimiterResponse'
security:
- basicAuth:
- '[]'
summary: Create a new rate limiter, the name of limiter must be unique in limiter list.
tags:
- Limiter
/config/rlimiters/{limiter}:
delete:
operationId: deleteRateLimiterRequest
parameters:
- in: path
name: limiter
required: true
type: string
x-go-name: Limiter
responses:
"200":
$ref: '#/responses/deleteRateLimiterResponse'
security:
- basicAuth:
- '[]'
summary: Delete rate limiter by name.
tags:
- Limiter
put:
operationId: updateRateLimiterRequest
parameters:
- in: path
name: limiter
required: true
type: string
x-go-name: Limiter
- in: body
name: data
schema:
$ref: '#/definitions/LimiterConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateRateLimiterResponse'
security:
- basicAuth:
- '[]'
summary: Update rate limiter by name, the limiter must already exist.
tags:
- Limiter
/config/routers:
post:
operationId: createRouterRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/RouterConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createRouterResponse'
security:
- basicAuth:
- '[]'
summary: Create a new router, the name of the router must be unique in router list.
tags:
- Router
/config/routers/{router}:
delete:
operationId: deleteRouterRequest
parameters:
- in: path
name: router
required: true
type: string
x-go-name: Router
responses:
"200":
$ref: '#/responses/deleteRouterResponse'
security:
- basicAuth:
- '[]'
summary: Delete router by name.
tags:
- Router
put:
operationId: updateRouterRequest
parameters:
- in: path
name: router
required: true
type: string
x-go-name: Router
- in: body
name: data
schema:
$ref: '#/definitions/RouterConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateRouterResponse'
security:
- basicAuth:
- '[]'
summary: Update router by name, the router must already exist.
tags:
- Router
/config/services:
post:
operationId: createServiceRequest
parameters:
- in: body
name: data
schema:
$ref: '#/definitions/ServiceConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/createServiceResponse'
security:
- basicAuth:
- '[]'
summary: Create a new service, the name of the service must be unique in service list.
tags:
- Service
/config/services/{service}:
delete:
operationId: deleteServiceRequest
parameters:
- in: path
name: service
required: true
type: string
x-go-name: Service
responses:
"200":
$ref: '#/responses/deleteServiceResponse'
security:
- basicAuth:
- '[]'
summary: Delete service by name.
tags:
- Service
put:
operationId: updateServiceRequest
parameters:
- in: path
name: service
required: true
type: string
x-go-name: Service
- in: body
name: data
schema:
$ref: '#/definitions/ServiceConfig'
x-go-name: Data
responses:
"200":
$ref: '#/responses/updateServiceResponse'
security:
- basicAuth:
- '[]'
summary: Update service by name, the service must already exist.
tags:
- Service
produces:
- application/json
responses:
createAdmissionResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createAutherResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createBypassResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createChainResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createConnLimiterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createHopResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createHostsResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createIngressResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createLimiterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createRateLimiterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createResolverResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createRouterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
createServiceResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteAdmissionResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteAutherResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteBypassResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteChainResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteConnLimiterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteHopResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteHostsResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteIngressResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteLimiterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteRateLimiterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteResolverResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteRouterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
deleteServiceResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
getConfigResponse:
description: successful operation.
headers:
Config: {}
schema:
$ref: '#/definitions/Config'
saveConfigResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateAdmissionResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateAutherResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateBypassResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateChainResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateConnLimiterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateHopResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateHostsResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateIngressResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateLimiterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateRateLimiterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateResolverResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateRouterResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
updateServiceResponse:
description: successful operation.
headers:
Data: {}
schema:
$ref: '#/definitions/Response'
schemes:
- https
- http
securityDefinitions:
basicAuth:
type: basic
swagger: "2.0"