@daocloud-proto/skoala 0.39.2 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/general/v1alpha2/ratelimit.pb.ts +40 -0
- package/api/general/v1alpha2/skoala.pb.ts +2 -4
- package/api/hosted/v1alpha1/api.pb.ts +8 -3
- package/api/hosted/v1alpha1/gateway.pb.ts +12 -0
- package/api/hosted/v1alpha1/gateway_overview.pb.ts +16 -0
- package/api/hosted/v1alpha1/nacos.pb.ts +18 -0
- package/api/hosted/v1alpha1/skoala_plugins.pb.ts +7 -5
- package/api/hosted/v1alpha1/virtualhost.pb.ts +18 -2
- package/api/hosted/v1alpha2/gateway_api.pb.ts +2 -0
- package/api/hosted/v1alpha2/ratelimit_rule.pb.ts +52 -0
- package/api/hosted/v1alpha2/skoala_plugin_template.pb.ts +11 -57
- package/api/skoala/v1alpha1/skoala.pb.ts +3 -0
- package/api/skoala/v1alpha2/skoala.pb.ts +6 -3
- package/package.json +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
type Absent<T, K extends keyof T> = { [k in Exclude<keyof T, K>]?: undefined };
|
|
8
|
+
type OneOf<T> =
|
|
9
|
+
| { [k in keyof T]?: undefined }
|
|
10
|
+
| (
|
|
11
|
+
keyof T extends infer K ?
|
|
12
|
+
(K extends string & keyof T ? { [k in K]: T[K] } & Absent<T, K>
|
|
13
|
+
: never)
|
|
14
|
+
: never);
|
|
15
|
+
|
|
16
|
+
export enum RLSRuleType {
|
|
17
|
+
ALLRLSTYPE = "ALLRLSTYPE",
|
|
18
|
+
GENERICKV = "GENERICKV",
|
|
19
|
+
REQUESTHEADER = "REQUESTHEADER",
|
|
20
|
+
IP = "IP",
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
type BaseGlobalRatelimitPolicy = {
|
|
25
|
+
rlsRuleType?: RLSRuleType
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type GlobalRatelimitPolicy = BaseGlobalRatelimitPolicy
|
|
29
|
+
& OneOf<{ genericKvRule: GenericKVRule; requestHeaderRule: RequestHeaderRule; ipRule: IPRule }>
|
|
30
|
+
|
|
31
|
+
export type GenericKVRule = {
|
|
32
|
+
rlsRuleName?: string
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export type RequestHeaderRule = {
|
|
36
|
+
headerName?: string
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export type IPRule = {
|
|
40
|
+
}
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import * as SkoalaApiHostedV1alpha1Nacos from "../../hosted/v1alpha1/nacos.pb"
|
|
8
|
-
import * as SkoalaApiIntegratedV1alpha1Instance from "../../integrated/v1alpha1/instance.pb"
|
|
9
7
|
import * as SkoalaApiGeneralV1alpha1Common from "../v1alpha1/common.pb"
|
|
10
8
|
import * as SkoalaApiGeneralV1alpha1Service from "../v1alpha1/service.pb"
|
|
11
9
|
|
|
@@ -152,7 +150,7 @@ export type ListHostedRegistryServiceInstanceReq = {
|
|
|
152
150
|
}
|
|
153
151
|
|
|
154
152
|
export type ListHostedRegistryServiceInstanceRes = {
|
|
155
|
-
|
|
153
|
+
hosts?: string[]
|
|
156
154
|
port?: number[]
|
|
157
155
|
}
|
|
158
156
|
|
|
@@ -168,7 +166,7 @@ export type ListRegistryServiceInstanceReq = {
|
|
|
168
166
|
}
|
|
169
167
|
|
|
170
168
|
export type ListRegistryServiceInstanceRes = {
|
|
171
|
-
|
|
169
|
+
hosts?: string[]
|
|
172
170
|
port?: number[]
|
|
173
171
|
}
|
|
174
172
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import * as SkoalaApiGeneralV1alpha1Common from "../../general/v1alpha1/common.pb"
|
|
8
|
+
import * as SkoalaApiGeneralV1alpha2Ratelimit from "../../general/v1alpha2/ratelimit.pb"
|
|
8
9
|
import * as SkoalaApiHostedV1alpha1Gateway from "./gateway.pb"
|
|
9
10
|
import * as SkoalaApiHostedV1alpha1Http from "./http.pb"
|
|
10
11
|
import * as SkoalaApiHostedV1alpha1Virtualhost from "./virtualhost.pb"
|
|
@@ -106,6 +107,9 @@ export type ImportAPIReq = {
|
|
|
106
107
|
}
|
|
107
108
|
|
|
108
109
|
export type ImportAPIRes = {
|
|
110
|
+
result?: boolean
|
|
111
|
+
successApi?: string[]
|
|
112
|
+
failApi?: OperationFailReason[]
|
|
109
113
|
}
|
|
110
114
|
|
|
111
115
|
export type ImportAPICheckReq = {
|
|
@@ -175,13 +179,14 @@ export type AdvancedAPIConfig = {
|
|
|
175
179
|
globalRateLimitPolicy?: GlobalRateLimitPreRoutePolicy
|
|
176
180
|
}
|
|
177
181
|
|
|
178
|
-
export type
|
|
179
|
-
|
|
182
|
+
export type GlobalRateLimitPreRoutePolicyGlobalRatelimitConfig = {
|
|
183
|
+
disabled?: boolean
|
|
184
|
+
globalRateLimitConfig?: SkoalaApiGeneralV1alpha2Ratelimit.GlobalRatelimitPolicy
|
|
180
185
|
}
|
|
181
186
|
|
|
182
187
|
export type GlobalRateLimitPreRoutePolicy = {
|
|
183
188
|
default?: boolean
|
|
184
|
-
globalRateLimitConfig?:
|
|
189
|
+
globalRateLimitConfig?: GlobalRateLimitPreRoutePolicyGlobalRatelimitConfig
|
|
185
190
|
}
|
|
186
191
|
|
|
187
192
|
export type ExtProcPreRoutePolicyExtProcConfig = {
|
|
@@ -33,6 +33,14 @@ export enum SesameGatewayResourceType {
|
|
|
33
33
|
SESAME_RESOURCE_API = "SESAME_RESOURCE_API",
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
export enum DnsLookupFamily {
|
|
37
|
+
DNS_LOOKUP_FAMILY_UNSPECIFIED = "DNS_LOOKUP_FAMILY_UNSPECIFIED",
|
|
38
|
+
Auto = "Auto",
|
|
39
|
+
V4Only = "V4Only",
|
|
40
|
+
V6Only = "V6Only",
|
|
41
|
+
All = "All",
|
|
42
|
+
}
|
|
43
|
+
|
|
36
44
|
export enum MemoryUnit {
|
|
37
45
|
MEMORY_UNIT_UNSPECIFIED = "MEMORY_UNIT_UNSPECIFIED",
|
|
38
46
|
Ki = "Ki",
|
|
@@ -218,6 +226,7 @@ export type EnvoyService = {
|
|
|
218
226
|
lbType?: SkoalaApiGeneralV1alpha1Common.LBType
|
|
219
227
|
addrPoolName?: string
|
|
220
228
|
lbAddr?: string
|
|
229
|
+
allowSharedIp?: boolean
|
|
221
230
|
}
|
|
222
231
|
|
|
223
232
|
export type ContourService = {
|
|
@@ -288,6 +297,7 @@ export type DeleteGatewayReq = {
|
|
|
288
297
|
clusterName?: string
|
|
289
298
|
namespaceName?: string
|
|
290
299
|
gatewayName?: string
|
|
300
|
+
force?: boolean
|
|
291
301
|
}
|
|
292
302
|
|
|
293
303
|
export type NormalConfig = {
|
|
@@ -356,6 +366,7 @@ type BaseEnvoyAdvancedConfig = {
|
|
|
356
366
|
allowSidecarInject?: boolean
|
|
357
367
|
enableStatsPrefix?: boolean
|
|
358
368
|
annotations?: {[key: string]: string}
|
|
369
|
+
dnsLookupFamily?: DnsLookupFamily
|
|
359
370
|
}
|
|
360
371
|
|
|
361
372
|
export type EnvoyAdvancedConfig = BaseEnvoyAdvancedConfig
|
|
@@ -471,6 +482,7 @@ export type PodContainers = {
|
|
|
471
482
|
export type PodSummary = {
|
|
472
483
|
podName?: string
|
|
473
484
|
namespaceName?: string
|
|
485
|
+
workloadName?: string
|
|
474
486
|
phase?: SkoalaApiGeneralV1alpha1Common.PodPhase
|
|
475
487
|
podIp?: string
|
|
476
488
|
podIps?: string[]
|
|
@@ -35,6 +35,22 @@ export type GatewayOverviewBasicReq = {
|
|
|
35
35
|
unit?: SkoalaApiGeneralV1alpha1Common.TimeUnit
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
export type GatewayOverviewRequestCountReq = {
|
|
39
|
+
workspaceId?: string
|
|
40
|
+
clusterName?: string
|
|
41
|
+
namespaceName?: string
|
|
42
|
+
gatewayName?: string
|
|
43
|
+
startTime?: string
|
|
44
|
+
endTime?: string
|
|
45
|
+
interval?: string
|
|
46
|
+
unit?: SkoalaApiGeneralV1alpha1Common.TimeUnit
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export type GatewayOverviewRequestCountRes = {
|
|
50
|
+
total?: string
|
|
51
|
+
forward?: string
|
|
52
|
+
}
|
|
53
|
+
|
|
38
54
|
export type GatewayOverviewBasicRes = {
|
|
39
55
|
avgRespTime?: number
|
|
40
56
|
apiCount?: string
|
|
@@ -54,6 +54,12 @@ export enum NacosServiceInstancePluginsHealthy {
|
|
|
54
54
|
UNHEALTHY = "UNHEALTHY",
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
+
export enum CheckNacosNamespaceReqOpType {
|
|
58
|
+
Create = "Create",
|
|
59
|
+
Delete = "Delete",
|
|
60
|
+
All = "All",
|
|
61
|
+
}
|
|
62
|
+
|
|
57
63
|
export enum NacosConfigHistoryBriefOpType {
|
|
58
64
|
OP_TYPE_UNSPECIFIED = "OP_TYPE_UNSPECIFIED",
|
|
59
65
|
CREATE = "CREATE",
|
|
@@ -621,10 +627,22 @@ export type CheckNacosNamespaceReq = {
|
|
|
621
627
|
namespaceName?: string
|
|
622
628
|
nacosName?: string
|
|
623
629
|
nacosNamespace?: string
|
|
630
|
+
op?: CheckNacosNamespaceReqOpType
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
export type CheckNacosNamespaceResConfig = {
|
|
634
|
+
dataIds?: string[]
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
export type CheckNacosNamespaceResService = {
|
|
638
|
+
names?: string[]
|
|
624
639
|
}
|
|
625
640
|
|
|
626
641
|
export type CheckNacosNamespaceRes = {
|
|
627
642
|
duplicate?: boolean
|
|
643
|
+
canDelete?: boolean
|
|
644
|
+
config?: CheckNacosNamespaceResConfig
|
|
645
|
+
service?: CheckNacosNamespaceResService
|
|
628
646
|
}
|
|
629
647
|
|
|
630
648
|
export type NacosConfigBrief = {
|
|
@@ -15,6 +15,12 @@ type OneOf<T> =
|
|
|
15
15
|
: never)
|
|
16
16
|
: never);
|
|
17
17
|
|
|
18
|
+
export enum PluginStatusType {
|
|
19
|
+
PLUGIN_STATUS_TYPE_ALL = "PLUGIN_STATUS_TYPE_ALL",
|
|
20
|
+
PLUGIN_STATUS_TYPE_DISABLED = "PLUGIN_STATUS_TYPE_DISABLED",
|
|
21
|
+
PLUGIN_STATUS_TYPE_ENABLED = "PLUGIN_STATUS_TYPE_ENABLED",
|
|
22
|
+
}
|
|
23
|
+
|
|
18
24
|
export enum PluginType {
|
|
19
25
|
JWT = "JWT",
|
|
20
26
|
AUTH = "AUTH",
|
|
@@ -123,15 +129,11 @@ export type ListSkoalaPluginReq = {
|
|
|
123
129
|
workspaceId?: string
|
|
124
130
|
pluginName?: string
|
|
125
131
|
pluginType?: PluginType
|
|
126
|
-
disabled?:
|
|
132
|
+
disabled?: PluginStatusType
|
|
127
133
|
page?: number
|
|
128
134
|
pageSize?: number
|
|
129
135
|
}
|
|
130
136
|
|
|
131
|
-
export type Disabled = {
|
|
132
|
-
disabled?: boolean
|
|
133
|
-
}
|
|
134
|
-
|
|
135
137
|
export type ListSkoalaPluginRes = {
|
|
136
138
|
items?: SkoalaPluginInfo[]
|
|
137
139
|
pagination?: SkoalaApiGeneralV1alpha1Common.Pagination
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import * as SkoalaApiGeneralV1alpha1Common from "../../general/v1alpha1/common.pb"
|
|
8
|
+
import * as SkoalaApiGeneralV1alpha2Ratelimit from "../../general/v1alpha2/ratelimit.pb"
|
|
8
9
|
import * as SkoalaApiHostedV1alpha1Gateway from "./gateway.pb"
|
|
9
10
|
import * as SkoalaApiHostedV1alpha1Http from "./http.pb"
|
|
10
11
|
|
|
@@ -59,11 +60,21 @@ export type VirtualhostConfig = {
|
|
|
59
60
|
authPolicy?: AuthorizationPolicy
|
|
60
61
|
virtualhostAuthPolicy?: VirtualhostAuthorizationPolicy
|
|
61
62
|
localRateLimitPolicy?: LocalRateLimitPolicy
|
|
62
|
-
globalRateLimitPolicy?:
|
|
63
|
+
globalRateLimitPolicy?: GlobalRateLimitVirtualhostPolicy
|
|
63
64
|
ipPolicy?: SkoalaApiHostedV1alpha1Gateway.IPPolicy
|
|
64
65
|
extProcPolicy?: ExtProcPolicy
|
|
65
66
|
}
|
|
66
67
|
|
|
68
|
+
export type GlobalRateLimitVirtualhostPolicyGlobalRatelimitConfig = {
|
|
69
|
+
disabled?: boolean
|
|
70
|
+
globalRateLimitConfig?: SkoalaApiGeneralV1alpha2Ratelimit.GlobalRatelimitPolicy
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export type GlobalRateLimitVirtualhostPolicy = {
|
|
74
|
+
default?: boolean
|
|
75
|
+
globalRateLimitConfig?: GlobalRateLimitVirtualhostPolicyGlobalRatelimitConfig
|
|
76
|
+
}
|
|
77
|
+
|
|
67
78
|
export type ExtProcPolicyExtProcConfig = {
|
|
68
79
|
extProcPluginName?: string
|
|
69
80
|
disabled?: boolean
|
|
@@ -179,7 +190,7 @@ export type GetVirtualhostRes = {
|
|
|
179
190
|
extProcPolicy?: ExtProcPolicy
|
|
180
191
|
virtualhostAuthPolicy?: VirtualhostAuthorizationPolicy
|
|
181
192
|
localRateLimitPolicy?: LocalRateLimitPolicy
|
|
182
|
-
globalRateLimitPolicy?:
|
|
193
|
+
globalRateLimitPolicy?: GlobalRateLimitVirtualhostPolicy
|
|
183
194
|
}
|
|
184
195
|
|
|
185
196
|
export type UpdateVirtualhostReq = {
|
|
@@ -217,6 +228,11 @@ export type GlobalRateLimitPolicy = {
|
|
|
217
228
|
rlsRuleName?: string
|
|
218
229
|
}
|
|
219
230
|
|
|
231
|
+
export type NewGlobalRatelimitPolicy = {
|
|
232
|
+
rlsRuleType?: SkoalaApiGeneralV1alpha2Ratelimit.RLSRuleType
|
|
233
|
+
rlsRuleName?: string
|
|
234
|
+
}
|
|
235
|
+
|
|
220
236
|
export type RateLimitDescriptor = {
|
|
221
237
|
entries?: RateLimitDescriptorEntry[]
|
|
222
238
|
}
|
|
@@ -63,6 +63,7 @@ export type GetAPIRes = {
|
|
|
63
63
|
status?: SkoalaApiHostedV1alpha1Http.APIStatusEnum
|
|
64
64
|
statusDescription?: string
|
|
65
65
|
apiCreateType?: SkoalaApiHostedV1alpha1Http.APICreateType
|
|
66
|
+
permitInsecure?: boolean
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
export type GetAPIDocReq = {
|
|
@@ -85,6 +86,7 @@ export type APIConfig = {
|
|
|
85
86
|
routeRules?: RouteRule[]
|
|
86
87
|
enabled?: boolean
|
|
87
88
|
apiGroup?: string
|
|
89
|
+
permitInsecure?: boolean
|
|
88
90
|
}
|
|
89
91
|
|
|
90
92
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import * as SkoalaApiGeneralV1alpha1Common from "../../general/v1alpha1/common.pb"
|
|
8
|
+
import * as SkoalaApiGeneralV1alpha2Ratelimit from "../../general/v1alpha2/ratelimit.pb"
|
|
9
|
+
export type ListRLSDomainRulesReq = {
|
|
10
|
+
workspaceId?: string
|
|
11
|
+
pluginName?: string
|
|
12
|
+
domain?: string
|
|
13
|
+
rlsRuleType?: SkoalaApiGeneralV1alpha2Ratelimit.RLSRuleType
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type ListRLSDomainRulesRes = {
|
|
17
|
+
rules?: PluginRLSRule[]
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type PluginRLSRule = {
|
|
21
|
+
rlsRuleType?: SkoalaApiGeneralV1alpha2Ratelimit.RLSRuleType
|
|
22
|
+
name?: string
|
|
23
|
+
genericKvRlsRule?: GenericKVRLSRule
|
|
24
|
+
ipRlsRule?: IPRLSRule[]
|
|
25
|
+
requestHeaderRlsRule?: RequestHeaderRLSRule
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type GenericKVRLSRule = {
|
|
29
|
+
aliasName?: string
|
|
30
|
+
ratelimit?: RLSRatelimit
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export type IPRLSRule = {
|
|
34
|
+
ip?: string
|
|
35
|
+
ratelimit?: RLSRatelimit
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export type RequestHeaderRLSRuleHeaderValueRatelimit = {
|
|
39
|
+
value?: string
|
|
40
|
+
ratelimit?: RLSRatelimit
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export type RequestHeaderRLSRule = {
|
|
44
|
+
header?: string
|
|
45
|
+
valueRatelimit?: RequestHeaderRLSRuleHeaderValueRatelimit[]
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type RLSRatelimit = {
|
|
49
|
+
unlimited?: boolean
|
|
50
|
+
unit?: SkoalaApiGeneralV1alpha1Common.TimeUnit
|
|
51
|
+
requestsPerUnit?: number
|
|
52
|
+
}
|
|
@@ -32,6 +32,12 @@ export enum PluginType {
|
|
|
32
32
|
EXTPROC = "EXTPROC",
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
export enum PluginStatusType {
|
|
36
|
+
PLUGIN_STATUS_TYPE_ALL = "PLUGIN_STATUS_TYPE_ALL",
|
|
37
|
+
PLUGIN_STATUS_TYPE_DISABLED = "PLUGIN_STATUS_TYPE_DISABLED",
|
|
38
|
+
PLUGIN_STATUS_TYPE_ENABLED = "PLUGIN_STATUS_TYPE_ENABLED",
|
|
39
|
+
}
|
|
40
|
+
|
|
35
41
|
export enum CreateType {
|
|
36
42
|
ALL_CREATE_TYPE = "ALL_CREATE_TYPE",
|
|
37
43
|
CUSTOM = "CUSTOM",
|
|
@@ -63,12 +69,6 @@ export enum RedisType {
|
|
|
63
69
|
EXTERNAL = "EXTERNAL",
|
|
64
70
|
}
|
|
65
71
|
|
|
66
|
-
export enum RLSRuleType {
|
|
67
|
-
GENERICKV = "GENERICKV",
|
|
68
|
-
REQUESTHEADER = "REQUESTHEADER",
|
|
69
|
-
IP = "IP",
|
|
70
|
-
}
|
|
71
|
-
|
|
72
72
|
export enum PluginStatusPhase {
|
|
73
73
|
UNKNOWN = "UNKNOWN",
|
|
74
74
|
CREATING = "CREATING",
|
|
@@ -112,7 +112,7 @@ export type ListSkoalaPluginTemplateReq = {
|
|
|
112
112
|
workspaceId?: string
|
|
113
113
|
pluginTemplateName?: string
|
|
114
114
|
pluginType?: PluginType
|
|
115
|
-
disabled?:
|
|
115
|
+
disabled?: PluginStatusType
|
|
116
116
|
templateType?: TemplateType
|
|
117
117
|
page?: number
|
|
118
118
|
pageSize?: number
|
|
@@ -131,6 +131,8 @@ export type SkoalaPluginTemplateInfo = {
|
|
|
131
131
|
disabled?: boolean
|
|
132
132
|
icon?: string
|
|
133
133
|
templateType?: TemplateType
|
|
134
|
+
describe?: string
|
|
135
|
+
images?: string[]
|
|
134
136
|
}
|
|
135
137
|
|
|
136
138
|
export type GetSkoalaPluginTemplateReq = {
|
|
@@ -155,10 +157,6 @@ export type GetSkoalaPluginTemplateRes = {
|
|
|
155
157
|
address?: string[]
|
|
156
158
|
}
|
|
157
159
|
|
|
158
|
-
export type Disabled = {
|
|
159
|
-
disabled?: boolean
|
|
160
|
-
}
|
|
161
|
-
|
|
162
160
|
|
|
163
161
|
type BaseCreateSkoalaPluginReq = {
|
|
164
162
|
workspaceId?: string
|
|
@@ -189,7 +187,7 @@ export type ListSkoalaPluginReq = {
|
|
|
189
187
|
workspaceId?: string
|
|
190
188
|
pluginName?: string
|
|
191
189
|
pluginType?: PluginType
|
|
192
|
-
disabled?:
|
|
190
|
+
disabled?: PluginStatusType
|
|
193
191
|
createType?: CreateType
|
|
194
192
|
page?: number
|
|
195
193
|
pageSize?: number
|
|
@@ -334,7 +332,7 @@ export type RatelimitDeployConfig = {
|
|
|
334
332
|
redisSidecar?: RatelimitDeployConfigRedisSidecar
|
|
335
333
|
redisExternal?: RatelimitDeployConfigRedisExternal
|
|
336
334
|
replicas?: number
|
|
337
|
-
|
|
335
|
+
enableRatelimitHeaders?: boolean
|
|
338
336
|
enableHealthCheck?: boolean
|
|
339
337
|
env?: Env[]
|
|
340
338
|
telemetry?: Telemetry
|
|
@@ -398,48 +396,4 @@ export type ClusterNamespaceService = {
|
|
|
398
396
|
export type PluginUrl = {
|
|
399
397
|
url?: string[]
|
|
400
398
|
loadBalance?: PluginUrlLoadBalance
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
export type ListRLSDomainRulesReq = {
|
|
404
|
-
workspaceId?: string
|
|
405
|
-
pluginName?: string
|
|
406
|
-
domain?: string
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
export type ListRLSDomainRulesRes = {
|
|
410
|
-
rules?: PluginRLSRule[]
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
export type PluginRLSRule = {
|
|
414
|
-
rlsRuleType?: RLSRuleType
|
|
415
|
-
name?: string
|
|
416
|
-
genericKvRlsRule?: GenericKVRLSRule
|
|
417
|
-
ipRlsRule?: IPRLSRule[]
|
|
418
|
-
requestHeaderRlsRule?: RequestHeaderRLSRule
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
export type GenericKVRLSRule = {
|
|
422
|
-
aliasName?: string
|
|
423
|
-
ratelimit?: RLSRatelimit
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
export type IPRLSRule = {
|
|
427
|
-
ip?: string
|
|
428
|
-
ratelimit?: RLSRatelimit
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
export type RequestHeaderRLSRuleHeaderValueRatelimit = {
|
|
432
|
-
value?: string
|
|
433
|
-
ratelimit?: RLSRatelimit
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
export type RequestHeaderRLSRule = {
|
|
437
|
-
header?: string
|
|
438
|
-
valueRatelimit?: RequestHeaderRLSRuleHeaderValueRatelimit[]
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
export type RLSRatelimit = {
|
|
442
|
-
unlimited?: boolean
|
|
443
|
-
unit?: SkoalaApiGeneralV1alpha1Common.TimeUnit
|
|
444
|
-
requestsPerUnit?: number
|
|
445
399
|
}
|
|
@@ -891,6 +891,9 @@ export class GatewayOverview {
|
|
|
891
891
|
static GatewayOverviewAPITopTime(req: SkoalaApiHostedV1alpha1Gateway_overview.GatewayOverviewAPITopTimeReq, initReq?: fm.InitReq): Promise<SkoalaApiHostedV1alpha1Gateway_overview.GatewayOverviewAPITopTimeRes> {
|
|
892
892
|
return fm.fetchReq<SkoalaApiHostedV1alpha1Gateway_overview.GatewayOverviewAPITopTimeReq, SkoalaApiHostedV1alpha1Gateway_overview.GatewayOverviewAPITopTimeRes>(`/apis/sesame.skoala.io/v1alpha1/workspaces/${req["workspaceId"]}/clusters/${req["clusterName"]}/namespaces/${req["namespaceName"]}/gateways/${req["gatewayName"]}/stats/api/top/time?${fm.renderURLSearchParams(req, ["workspaceId", "clusterName", "namespaceName", "gatewayName"])}`, {...initReq, method: "GET"})
|
|
893
893
|
}
|
|
894
|
+
static GatewayOverviewRequestCount(req: SkoalaApiHostedV1alpha1Gateway_overview.GatewayOverviewRequestCountReq, initReq?: fm.InitReq): Promise<SkoalaApiHostedV1alpha1Gateway_overview.GatewayOverviewRequestCountRes> {
|
|
895
|
+
return fm.fetchReq<SkoalaApiHostedV1alpha1Gateway_overview.GatewayOverviewRequestCountReq, SkoalaApiHostedV1alpha1Gateway_overview.GatewayOverviewRequestCountRes>(`/apis/sesame.skoala.io/v1alpha1/workspaces/${req["workspaceId"]}/clusters/${req["clusterName"]}/namespaces/${req["namespaceName"]}/gateways/${req["gatewayName"]}/stats/request/count?${fm.renderURLSearchParams(req, ["workspaceId", "clusterName", "namespaceName", "gatewayName"])}`, {...initReq, method: "GET"})
|
|
896
|
+
}
|
|
894
897
|
}
|
|
895
898
|
export class SkoalaPlugin {
|
|
896
899
|
static CreatePlugin(req: SkoalaApiHostedV1alpha1Skoala_plugins.CreateSkoalaPluginReq, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
|
|
@@ -10,6 +10,7 @@ import * as SkoalaApiGeneralV1alpha2Skoala from "../../general/v1alpha2/skoala.p
|
|
|
10
10
|
import * as SkoalaApiHostedV1alpha2Gateway_api from "../../hosted/v1alpha2/gateway_api.pb"
|
|
11
11
|
import * as SkoalaApiHostedV1alpha2Gateway_api_metrics from "../../hosted/v1alpha2/gateway_api_metrics.pb"
|
|
12
12
|
import * as SkoalaApiHostedV1alpha2Gateway_service from "../../hosted/v1alpha2/gateway_service.pb"
|
|
13
|
+
import * as SkoalaApiHostedV1alpha2Ratelimit_rule from "../../hosted/v1alpha2/ratelimit_rule.pb"
|
|
13
14
|
import * as SkoalaApiHostedV1alpha2Skoala_plugin_template from "../../hosted/v1alpha2/skoala_plugin_template.pb"
|
|
14
15
|
export class GatewayAPI {
|
|
15
16
|
static DebugGatewayAPI(req: SkoalaApiHostedV1alpha2Gateway_api.APIDebugReq, initReq?: fm.InitReq): Promise<SkoalaApiHostedV1alpha2Gateway_api.APIDebugRes> {
|
|
@@ -73,6 +74,11 @@ export class Skoala {
|
|
|
73
74
|
return fm.fetchReq<SkoalaApiGeneralV1alpha2Skoala.ListRegistryServiceInstanceReq, SkoalaApiGeneralV1alpha2Skoala.ListRegistryServiceInstanceRes>(`/apis/skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/registry/${req["registryId"]}/services/${req["serviceName"]}/instances?${fm.renderURLSearchParams(req, ["workspaceId", "registryId", "serviceName"])}`, {...initReq, method: "GET"})
|
|
74
75
|
}
|
|
75
76
|
}
|
|
77
|
+
export class GlobalRatelimitRule {
|
|
78
|
+
static ListRLSDomainRules(req: SkoalaApiHostedV1alpha2Ratelimit_rule.ListRLSDomainRulesReq, initReq?: fm.InitReq): Promise<SkoalaApiHostedV1alpha2Ratelimit_rule.ListRLSDomainRulesRes> {
|
|
79
|
+
return fm.fetchReq<SkoalaApiHostedV1alpha2Ratelimit_rule.ListRLSDomainRulesReq, SkoalaApiHostedV1alpha2Ratelimit_rule.ListRLSDomainRulesRes>(`/apis/sesame.skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/plugins/rls/${req["pluginName"]}/domain/${req["domain"]}?${fm.renderURLSearchParams(req, ["workspaceId", "pluginName", "domain"])}`, {...initReq, method: "GET"})
|
|
80
|
+
}
|
|
81
|
+
}
|
|
76
82
|
export class SkoalaPluginTemplate {
|
|
77
83
|
static CreatePluginTemplate(req: SkoalaApiHostedV1alpha2Skoala_plugin_template.CreateSkoalaPluginTemplateReq, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
|
|
78
84
|
return fm.fetchReq<SkoalaApiHostedV1alpha2Skoala_plugin_template.CreateSkoalaPluginTemplateReq, GoogleProtobufEmpty.Empty>(`/apis/sesame.skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/plugin-templates`, {...initReq, method: "POST", body: JSON.stringify(req, fm.replacer)})
|
|
@@ -104,7 +110,4 @@ export class SkoalaPluginTemplate {
|
|
|
104
110
|
static DeletePlugin(req: SkoalaApiHostedV1alpha2Skoala_plugin_template.DeleteSkoalaPluginReq, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
|
|
105
111
|
return fm.fetchReq<SkoalaApiHostedV1alpha2Skoala_plugin_template.DeleteSkoalaPluginReq, GoogleProtobufEmpty.Empty>(`/apis/sesame.skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/plugins/${req["pluginName"]}`, {...initReq, method: "DELETE"})
|
|
106
112
|
}
|
|
107
|
-
static ListRLSDomainRules(req: SkoalaApiHostedV1alpha2Skoala_plugin_template.ListRLSDomainRulesReq, initReq?: fm.InitReq): Promise<SkoalaApiHostedV1alpha2Skoala_plugin_template.ListRLSDomainRulesRes> {
|
|
108
|
-
return fm.fetchReq<SkoalaApiHostedV1alpha2Skoala_plugin_template.ListRLSDomainRulesReq, SkoalaApiHostedV1alpha2Skoala_plugin_template.ListRLSDomainRulesRes>(`/apis/sesame.skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/plugins/rls/${req["pluginName"]}/domain/${req["domain"]}?${fm.renderURLSearchParams(req, ["workspaceId", "pluginName", "domain"])}`, {...initReq, method: "GET"})
|
|
109
|
-
}
|
|
110
113
|
}
|