@daocloud-proto/skoala 0.5.1-68 → 0.5.1-72

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.
@@ -96,6 +96,11 @@ export type AdvancedAPIConfig = {
96
96
  timeoutPolicy?: TimeoutPolicy
97
97
  pathRewritePolicy?: PathRewritePolicy
98
98
  retryPolicy?: RetryPolicy
99
+ websocketPolicy?: WebsocketPolicy
100
+ }
101
+
102
+ export type WebsocketPolicy = {
103
+ enabled?: boolean
99
104
  }
100
105
 
101
106
  export type RetryPolicy = {
@@ -221,20 +226,12 @@ export type Certificate = {
221
226
 
222
227
  type BaseMatchRule = {
223
228
  httpMethod?: SkoalaApiHostedV1alpha1Http.HttpMethod[]
224
- headers?: HeaderRule[]
229
+ headers?: SkoalaApiHostedV1alpha1Http.HeaderRule[]
225
230
  }
226
231
 
227
232
  export type MatchRule = BaseMatchRule
228
233
  & OneOf<{ path: string; prefix: string }>
229
234
 
230
-
231
- type BaseHeaderRule = {
232
- name?: string
233
- }
234
-
235
- export type HeaderRule = BaseHeaderRule
236
- & OneOf<{ contains: string; exact: string; notContains: string; notExact: string; present: boolean; notPresent: boolean }>
237
-
238
235
  export type RouteAction = {
239
236
  routeService?: RouteService[]
240
237
  }
@@ -4,6 +4,15 @@
4
4
  * This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
5
5
  */
6
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
+
7
16
  export enum HttpMethod {
8
17
  GET = "GET",
9
18
  POST = "POST",
@@ -19,6 +28,12 @@ export enum Protocol {
19
28
  HTTPS = "HTTPS",
20
29
  }
21
30
 
31
+ export enum TimeUnit {
32
+ SECOND = "SECOND",
33
+ MINUTE = "MINUTE",
34
+ HOUR = "HOUR",
35
+ }
36
+
22
37
  export enum RouteType {
23
38
  CLUSTRE_SERVER = "CLUSTRE_SERVER",
24
39
  DIRECT = "DIRECT",
@@ -33,6 +48,19 @@ export enum APIStatus {
33
48
  DOWN = "DOWN",
34
49
  }
35
50
 
51
+ export type Header = {
52
+ name?: string
53
+ value?: string
54
+ }
55
+
56
+
57
+ type BaseHeaderRule = {
58
+ name?: string
59
+ }
60
+
61
+ export type HeaderRule = BaseHeaderRule
62
+ & OneOf<{ contains: string; exact: string; notContains: string; notExact: string; present: boolean; notPresent: boolean }>
63
+
36
64
  export type APIInfo = {
37
65
  apiName?: string
38
66
  fqdn?: string
@@ -6,13 +6,28 @@
6
6
 
7
7
  import * as SkoalaApiGeneralV1alpha1Common from "../../general/v1alpha1/common.pb"
8
8
  import * as SkoalaApiHostedV1alpha1Http from "./http.pb"
9
+
10
+ type Absent<T, K extends keyof T> = { [k in Exclude<keyof T, K>]?: undefined };
11
+ type OneOf<T> =
12
+ | { [k in keyof T]?: undefined }
13
+ | (
14
+ keyof T extends infer K ?
15
+ (K extends string & keyof T ? { [k in K]: T[K] } & Absent<T, K>
16
+ : never)
17
+ : never);
9
18
  export type CreateVirtualhostReq = {
10
19
  workspaceId?: string
11
20
  gatewayName?: string
12
21
  clusterName?: string
13
22
  namespaceName?: string
23
+ virtualhostConfig?: VirtualhostConfig
24
+ }
25
+
26
+ export type VirtualhostConfig = {
14
27
  fqdn?: string
15
28
  protocol?: SkoalaApiHostedV1alpha1Http.Protocol
29
+ rateLimitPolicy?: RateLimitPolicy
30
+ corsPolicy?: CorsPolicy
16
31
  }
17
32
 
18
33
  export type CreateVirtualhostRes = {
@@ -34,6 +49,7 @@ export type VirtualhostInfo = {
34
49
  protocol?: SkoalaApiHostedV1alpha1Http.Protocol
35
50
  secretName?: string
36
51
  namespaceName?: string
52
+ apiCount?: number
37
53
  updatedAt?: string
38
54
  }
39
55
 
@@ -53,6 +69,8 @@ export type GetVirtualhostReq = {
53
69
  export type GetVirtualhostRes = {
54
70
  fqdn?: string
55
71
  protocol?: SkoalaApiHostedV1alpha1Http.Protocol
72
+ rateLimitPolicy?: RateLimitPolicy
73
+ corsPolicy?: CorsPolicy
56
74
  }
57
75
 
58
76
  export type UpdateVirtualhostReq = {
@@ -60,8 +78,8 @@ export type UpdateVirtualhostReq = {
60
78
  gatewayName?: string
61
79
  clusterName?: string
62
80
  namespaceName?: string
81
+ virtualhostConfig?: VirtualhostConfig
63
82
  fqdn?: string
64
- protocol?: SkoalaApiHostedV1alpha1Http.Protocol
65
83
  }
66
84
 
67
85
  export type UpdateVirtualhostRes = {
@@ -81,9 +99,59 @@ export type DeleteVirtualhostRes = {
81
99
  }
82
100
 
83
101
  export type CorsPolicy = {
102
+ allowCredentials?: boolean
103
+ allowHeaders?: string[]
104
+ allowOrigin?: string[]
105
+ exposeHeaders?: string[]
106
+ maxAge?: string
107
+ allowMethod?: SkoalaApiHostedV1alpha1Http.HttpMethod[]
84
108
  }
85
109
 
86
110
  export type RateLimitPolicy = {
111
+ global?: GlobalRateLimitPolicy
112
+ local?: LocalRateLimitPolicy
113
+ }
114
+
115
+ export type GlobalRateLimitPolicy = {
116
+ descriptors?: RateLimitDescriptor[]
117
+ }
118
+
119
+ export type RateLimitDescriptor = {
120
+ entries?: RateLimitDescriptorEntry[]
121
+ }
122
+
123
+
124
+ type BaseRateLimitDescriptorEntry = {
125
+ }
126
+
127
+ export type RateLimitDescriptorEntry = BaseRateLimitDescriptorEntry
128
+ & OneOf<{ genericKey: GenericKeyDescriptor; requestHeader: RequestHeaderDescriptor; requestHeaderValueMatch: RequestHeaderValueMatchDescriptor; remoteAddress: RemoteAddressDescriptor }>
129
+
130
+ export type GenericKeyDescriptor = {
131
+ key?: string
132
+ value?: string
133
+ }
134
+
135
+ export type RequestHeaderDescriptor = {
136
+ headerName?: string
137
+ descriptorKey?: string
138
+ }
139
+
140
+ export type RequestHeaderValueMatchDescriptor = {
141
+ headers?: SkoalaApiHostedV1alpha1Http.HeaderRule[]
142
+ expectMatch?: boolean
143
+ value?: string
144
+ }
145
+
146
+ export type RemoteAddressDescriptor = {
147
+ }
148
+
149
+ export type LocalRateLimitPolicy = {
150
+ burst?: number
151
+ request?: number
152
+ responseHeadersToAdd?: SkoalaApiHostedV1alpha1Http.Header[]
153
+ responseStatusCode?: number
154
+ unit?: SkoalaApiHostedV1alpha1Http.TimeUnit
87
155
  }
88
156
 
89
157
  export type Tls = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daocloud-proto/skoala",
3
- "version": "0.5.1-68",
3
+ "version": "0.5.1-72",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {