@daocloud-proto/skoala 0.5.1 → 0.6.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.
@@ -45,6 +45,14 @@ export enum PodPhase {
45
45
  PodPhaseFailed = "PodPhaseFailed",
46
46
  }
47
47
 
48
+ export enum TimeUnit {
49
+ TIME_UNIT_UNSPECIFIED = "TIME_UNIT_UNSPECIFIED",
50
+ Day = "Day",
51
+ Hour = "Hour",
52
+ Minute = "Minute",
53
+ Second = "Second",
54
+ }
55
+
48
56
  export type Cluster = {
49
57
  id?: string
50
58
  name?: string
@@ -12,6 +12,12 @@ export enum ListNamespaceReqGatewayStatus {
12
12
  Unavailable = "Unavailable",
13
13
  }
14
14
 
15
+ export enum ListServiceReqServiceType {
16
+ ALL = "ALL",
17
+ SESAME = "SESAME",
18
+ K8S = "K8S",
19
+ }
20
+
15
21
  export type ListWorkspaceReq = {
16
22
  page?: number
17
23
  pageSize?: number
@@ -49,6 +55,60 @@ export type ListNamespaceReq = {
49
55
  pageSize?: number
50
56
  }
51
57
 
58
+ export type ListMeshNamespaceReq = {
59
+ workspaceId?: string
60
+ meshId?: string
61
+ page?: number
62
+ pageSize?: number
63
+ }
64
+
65
+ export type ListMeshNamespaceRes = {
66
+ items?: string[]
67
+ pagination?: SkoalaApiGeneralV1alpha1Common.Pagination
68
+ }
69
+
70
+ export type ListMeshServiceReq = {
71
+ workspaceId?: string
72
+ meshId?: string
73
+ namespaceName?: string[]
74
+ page?: number
75
+ pageSize?: number
76
+ }
77
+
78
+ export type ListMeshServiceRes = {
79
+ items?: MeshServiceInfo[]
80
+ pagination?: SkoalaApiGeneralV1alpha1Common.Pagination
81
+ }
82
+
83
+ export type MeshServiceInfo = {
84
+ serviceName?: string
85
+ namespaceName?: string
86
+ }
87
+
88
+ export type ListServiceReq = {
89
+ workspaceId?: string
90
+ clusterName?: string
91
+ namespaceName?: string[]
92
+ serviceType?: ListServiceReqServiceType
93
+ serviceName?: string
94
+ page?: number
95
+ pageSize?: number
96
+ }
97
+
98
+ export type ListServiceRes = {
99
+ items?: ListServiceInfo[]
100
+ pagination?: SkoalaApiGeneralV1alpha1Common.Pagination
101
+ }
102
+
103
+ export type ListServiceInfo = {
104
+ serviceName?: string
105
+ namespaceName?: string
106
+ labels?: {[key: string]: string}
107
+ createdAt?: string
108
+ sesameServiceName?: string
109
+ sesameNamespaceName?: string
110
+ }
111
+
52
112
  export type ListNamespaceRes = {
53
113
  namespaceNames?: string[]
54
114
  pagination?: SkoalaApiGeneralV1alpha1Common.Pagination
@@ -63,4 +123,13 @@ export type ListMeshReq = {
63
123
  export type ListMeshRes = {
64
124
  meshes?: SkoalaApiGeneralV1alpha1Common.Mesh[]
65
125
  pagination?: SkoalaApiGeneralV1alpha1Common.Pagination
126
+ }
127
+
128
+ export type ListClaimReq = {
129
+ workspaceId?: string
130
+ clusterName?: string
131
+ }
132
+
133
+ export type ListClaimRes = {
134
+ items?: string[]
66
135
  }
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  import * as SkoalaApiGeneralV1alpha1Common from "../../general/v1alpha1/common.pb"
8
- import * as SkoalaApiHostedV1alpha1Gatewayservice from "./gatewayservice.pb"
9
8
  import * as SkoalaApiHostedV1alpha1Http from "./http.pb"
9
+ import * as SkoalaApiHostedV1alpha1Virtualhost from "./virtualhost.pb"
10
10
 
11
11
  type Absent<T, K extends keyof T> = { [k in Exclude<keyof T, K>]?: undefined };
12
12
  type OneOf<T> =
@@ -17,6 +17,25 @@ type OneOf<T> =
17
17
  : never)
18
18
  : never);
19
19
 
20
+ export enum HttpRetryOnEnum {
21
+ five_xx = "five_xx",
22
+ gateway_error = "gateway_error",
23
+ reset = "reset",
24
+ connect_failure = "connect_failure",
25
+ retriable_4xx = "retriable_4xx",
26
+ refused_stream = "refused_stream",
27
+ retriable_status_codes = "retriable_status_codes",
28
+ retriable_headers = "retriable_headers",
29
+ }
30
+
31
+ export enum GrpcRetryOnEnum {
32
+ cancelled = "cancelled",
33
+ deadline_exceeded = "deadline_exceeded",
34
+ internal = "internal",
35
+ resource_exhausted = "resource_exhausted",
36
+ unavailable = "unavailable",
37
+ }
38
+
20
39
  export enum ValueMatchType {
21
40
  CONTAIN = "CONTAIN",
22
41
  EXACT = "EXACT",
@@ -48,6 +67,7 @@ export type CreateAPIReq = {
48
67
  clusterName?: string
49
68
  namespaceName?: string
50
69
  apiConfig?: APIConfig
70
+ advancedApiConfig?: AdvancedAPIConfig
51
71
  }
52
72
 
53
73
  export type AdvancedAPIReq = {
@@ -76,6 +96,39 @@ export type AdvancedAPIConfig = {
76
96
  loadBalancePolicy?: LoadBalancePolicy
77
97
  timeoutPolicy?: TimeoutPolicy
78
98
  pathRewritePolicy?: PathRewritePolicy
99
+ retryPolicy?: RetryPolicy
100
+ websocketPolicy?: WebsocketPolicy
101
+ healthCheckPolicy?: HealthCheckPolicy
102
+ rateLimitPolicy?: SkoalaApiHostedV1alpha1Virtualhost.RateLimitPolicy
103
+ }
104
+
105
+ export type HealthCheckPolicy = {
106
+ healthThresholdCount?: string
107
+ host?: string
108
+ intervalSeconds?: string
109
+ path?: string
110
+ timeoutSeconds?: string
111
+ unhealthThresholdCount?: string
112
+ }
113
+
114
+ export type WebsocketPolicy = {
115
+ enabled?: boolean
116
+ }
117
+
118
+ export type RetryPolicy = {
119
+ count?: string
120
+ perTryTimeout?: string
121
+ retriablesStatusCode?: number[]
122
+ httpRetryOn?: HttpRetryOn
123
+ grpcRetryOn?: GrpcRetryOn
124
+ }
125
+
126
+ export type HttpRetryOn = {
127
+ httpRetryOn?: HttpRetryOnEnum[]
128
+ }
129
+
130
+ export type GrpcRetryOn = {
131
+ grpcRetryOn?: GrpcRetryOnEnum[]
79
132
  }
80
133
 
81
134
  export type LoadBalancePolicy = {
@@ -87,12 +140,17 @@ export type RequestHashPolicies = {
87
140
  hashSourceIp?: boolean
88
141
  terminal?: boolean
89
142
  headerHashPolicy?: HeaderHashPolicy
143
+ queryParameterHashPolicy?: QueryParameterHashPolicy
90
144
  }
91
145
 
92
146
  export type HeaderHashPolicy = {
93
147
  headerName?: string
94
148
  }
95
149
 
150
+ export type QueryParameterHashPolicy = {
151
+ parameterName?: string
152
+ }
153
+
96
154
  export type UpdateAPIReq = {
97
155
  apiName?: string
98
156
  workspaceId?: string
@@ -100,6 +158,21 @@ export type UpdateAPIReq = {
100
158
  clusterName?: string
101
159
  namespaceName?: string
102
160
  apiConfig?: APIConfig
161
+ advancedApiConfig?: AdvancedAPIConfig
162
+ }
163
+
164
+ export type UpdateAPIStatusReq = {
165
+ workspaceId?: string
166
+ gatewayName?: string
167
+ clusterName?: string
168
+ namespaceName?: string
169
+ apiName?: string
170
+ enabled?: boolean
171
+ }
172
+
173
+ export type UpdateAPIStatusRes = {
174
+ apiName?: string
175
+ enabled?: boolean
103
176
  }
104
177
 
105
178
  export type CreateAPIRes = {
@@ -130,15 +203,18 @@ export type DeleteAPIReq = {
130
203
  namespaceName?: string
131
204
  }
132
205
 
133
- export type GetAPIRes = {
206
+
207
+ type BaseGetAPIRes = {
134
208
  apiName?: string
135
- apiStatus?: SkoalaApiHostedV1alpha1Http.APIStatus
209
+ enabled?: boolean
136
210
  fqdn?: string
137
211
  matchRule?: MatchRule
138
- targetService?: TargetService
139
212
  advancedPolicy?: AdvancedAPIConfig
140
213
  }
141
214
 
215
+ export type GetAPIRes = BaseGetAPIRes
216
+ & OneOf<{ route: RouteAction; redirect: RedirectAction; directResponse: DirectResponse }>
217
+
142
218
  export type TargetService = {
143
219
  serviceList?: ServiceDetail[]
144
220
  }
@@ -162,7 +238,7 @@ export type ServiceDetail = {
162
238
 
163
239
  type BaseAPIConfig = {
164
240
  apiName?: string
165
- virtualhost?: Virtualhost
241
+ fqdn?: string
166
242
  matchRule?: MatchRule
167
243
  enabled?: boolean
168
244
  }
@@ -182,34 +258,25 @@ export type Certificate = {
182
258
 
183
259
  type BaseMatchRule = {
184
260
  httpMethod?: SkoalaApiHostedV1alpha1Http.HttpMethod[]
185
- headers?: HeaderRule[]
261
+ headers?: SkoalaApiHostedV1alpha1Http.HeaderRule[]
186
262
  }
187
263
 
188
264
  export type MatchRule = BaseMatchRule
189
265
  & OneOf<{ path: string; prefix: string }>
190
266
 
191
-
192
- type BaseHeaderRule = {
193
- name?: string
194
- }
195
-
196
- export type HeaderRule = BaseHeaderRule
197
- & OneOf<{ contains: string; exact: string; notContains: string; notExact: string; present: boolean; notPresent: boolean }>
198
-
199
267
  export type RouteAction = {
200
268
  routeService?: RouteService[]
201
269
  }
202
270
 
203
-
204
- type BaseRouteService = {
271
+ export type RouteService = {
205
272
  protocol?: SkoalaApiHostedV1alpha1Http.Protocol
273
+ enableGrpc?: boolean
274
+ serviceName?: string
275
+ namespaceName?: string
206
276
  port?: number
207
277
  weight?: number
208
278
  }
209
279
 
210
- export type RouteService = BaseRouteService
211
- & OneOf<{ kubernetesService: SkoalaApiHostedV1alpha1Gatewayservice.KubernetesService; registryService: SkoalaApiHostedV1alpha1Gatewayservice.RegistryService; externalService: SkoalaApiHostedV1alpha1Gatewayservice.ExternalService }>
212
-
213
280
  export type RedirectAction = {
214
281
  hostname?: string
215
282
  path?: string
@@ -228,11 +295,12 @@ export type APIListReq = {
228
295
  clusterName?: string
229
296
  gatewayName?: string
230
297
  namespaceName?: string
298
+ apiName?: string
231
299
  page?: number
232
300
  pageSize?: number
233
301
  }
234
302
 
235
303
  export type APIListRes = {
236
- api?: SkoalaApiHostedV1alpha1Http.APIInfo[]
304
+ items?: SkoalaApiHostedV1alpha1Http.APIInfo[]
237
305
  pagination?: SkoalaApiGeneralV1alpha1Common.Pagination
238
306
  }
@@ -5,7 +5,17 @@
5
5
  */
6
6
 
7
7
  import * as SkoalaApiGeneralV1alpha1Common from "../../general/v1alpha1/common.pb"
8
- export type SearchLogReq = {
8
+
9
+ type Absent<T, K extends keyof T> = { [k in Exclude<keyof T, K>]?: undefined };
10
+ type OneOf<T> =
11
+ | { [k in keyof T]?: undefined }
12
+ | (
13
+ keyof T extends infer K ?
14
+ (K extends string & keyof T ? { [k in K]: T[K] } & Absent<T, K>
15
+ : never)
16
+ : never);
17
+
18
+ type BaseSearchLogReq = {
9
19
  workspaceId?: string
10
20
  gatewayName?: string
11
21
  clusterName?: string
@@ -13,9 +23,7 @@ export type SearchLogReq = {
13
23
  requestId?: string
14
24
  fqdn?: string
15
25
  requestPath?: string
16
- statusCode?: string[]
17
26
  requestMethod?: string[]
18
- message?: string
19
27
  startTime?: string
20
28
  endTime?: string
21
29
  sortOrder?: SortOrder[]
@@ -23,25 +31,43 @@ export type SearchLogReq = {
23
31
  pageSize?: number
24
32
  }
25
33
 
34
+ export type SearchLogReq = BaseSearchLogReq
35
+ & OneOf<{ httpCode: string; grpcCode: string }>
36
+
26
37
  export type SortOrder = {
27
38
  orderBy?: SkoalaApiGeneralV1alpha1Common.OrderBy
28
39
  sortBy?: string
29
40
  }
30
41
 
31
42
  export type SearchLogRes = {
32
- logResult?: LogResult[]
43
+ items?: LogResult[]
33
44
  pagination?: SkoalaApiGeneralV1alpha1Common.Pagination
34
45
  }
35
46
 
36
47
  export type LogResult = {
37
48
  authority?: string
38
- userAgent?: string
39
- gatewayName?: string
40
49
  method?: string
41
- xForwardedFor?: string
42
- requestId?: string
43
- path?: string
50
+ requestStartTime?: string
51
+ duration?: string
44
52
  upstreamServiceTime?: string
45
- requestTime?: string
53
+ path?: string
54
+ requestId?: string
55
+ bytesReceived?: string
56
+ bytesSent?: string
57
+ downstreamDirectRemoteAddress?: string
58
+ hostname?: string
59
+ userAgent?: string
60
+ xForwardedFor?: string
61
+ responseFlags?: string
62
+ upstreamCluster?: string
63
+ upstreamHost?: string
64
+ upstreamLocalAddress?: string
65
+ upstreamRequestAttemptCount?: number
66
+ protocol?: string
67
+ upstreamProtocol?: string
68
+ status?: string
69
+ gatewayName?: string
70
+ gatewayNamespaceName?: string
71
+ responseEndTime?: string
46
72
  json?: string
47
73
  }
@@ -0,0 +1,97 @@
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
+ export type GatewayRLSConfig = {
9
+ unit?: SkoalaApiGeneralV1alpha1Common.TimeUnit
10
+ requestsPerUnit?: number
11
+ }
12
+
13
+ export type CreateGatewayRLSReq = {
14
+ workspaceId?: string
15
+ clusterName?: string
16
+ namespaceName?: string
17
+ gatewayName?: string
18
+ config?: GatewayRLSConfig
19
+ }
20
+
21
+ export type CreateGatewayRLSRes = {
22
+ }
23
+
24
+ export type GetGatewayRLSReq = {
25
+ workspaceId?: string
26
+ clusterName?: string
27
+ namespaceName?: string
28
+ gatewayName?: string
29
+ }
30
+
31
+ export type GetGatewayRLSRes = {
32
+ config?: GatewayRLSConfig
33
+ }
34
+
35
+ export type DeleteGatewayRLSReq = {
36
+ workspaceId?: string
37
+ clusterName?: string
38
+ namespaceName?: string
39
+ gatewayName?: string
40
+ }
41
+
42
+ export type DeleteGatewayRLSRes = {
43
+ }
44
+
45
+ export type UpdateGatewayRLSReq = {
46
+ workspaceId?: string
47
+ clusterName?: string
48
+ namespaceName?: string
49
+ gatewayName?: string
50
+ config?: GatewayRLSConfig
51
+ }
52
+
53
+ export type UpdateGatewayRLSRes = {
54
+ }
55
+
56
+ export type GatewayAuthzConfig = {
57
+ }
58
+
59
+ export type CreateGatewayAuthzReq = {
60
+ workspaceId?: string
61
+ clusterName?: string
62
+ namespaceName?: string
63
+ gatewayName?: string
64
+ }
65
+
66
+ export type CreateGatewayAuthzRes = {
67
+ }
68
+
69
+ export type GetGatewayAuthzReq = {
70
+ workspaceId?: string
71
+ clusterName?: string
72
+ namespaceName?: string
73
+ gatewayName?: string
74
+ }
75
+
76
+ export type GetGatewayAuthzRes = {
77
+ }
78
+
79
+ export type DeleteGatewayAuthzReq = {
80
+ workspaceId?: string
81
+ clusterName?: string
82
+ namespaceName?: string
83
+ gatewayName?: string
84
+ }
85
+
86
+ export type DeleteGatewayAuthzRes = {
87
+ }
88
+
89
+ export type UpdateGatewayAuthzReq = {
90
+ workspaceId?: string
91
+ clusterName?: string
92
+ namespaceName?: string
93
+ gatewayName?: string
94
+ }
95
+
96
+ export type UpdateGatewayAuthzRes = {
97
+ }
@@ -37,8 +37,7 @@ export type CreateExternalServiceReq = {
37
37
  }
38
38
 
39
39
  export type CreateExternalServiceRes = {
40
- serviceName?: string
41
- namespaceName?: string
40
+ sesameId?: string
42
41
  }
43
42
 
44
43
  export type GetGatewayServiceReq = {
@@ -46,7 +45,18 @@ export type GetGatewayServiceReq = {
46
45
  clusterName?: string
47
46
  gatewayName?: string
48
47
  namespaceName?: string
49
- serviceName?: string
48
+ sesameId?: string
49
+ }
50
+
51
+ export type GetGatewayNamespaceReq = {
52
+ workspaceId?: string
53
+ clusterName?: string
54
+ gatewayName?: string
55
+ namespaceName?: string
56
+ }
57
+
58
+ export type GetGatewayNamespaceRes = {
59
+ namespaces?: string[]
50
60
  }
51
61
 
52
62
  export type UpdateGatewayServiceReq = {
@@ -54,13 +64,12 @@ export type UpdateGatewayServiceReq = {
54
64
  clusterName?: string
55
65
  gatewayName?: string
56
66
  namespaceName?: string
57
- serviceName?: string
67
+ sesameId?: string
58
68
  externalServiceConf?: ExternalServiceConf
59
69
  }
60
70
 
61
71
  export type UpdateGatewayServiceRes = {
62
- serviceName?: string
63
- namespaceName?: string
72
+ sesameId?: string
64
73
  }
65
74
 
66
75
  export type DeleteGatewayServiceReq = {
@@ -68,17 +77,20 @@ export type DeleteGatewayServiceReq = {
68
77
  clusterName?: string
69
78
  gatewayName?: string
70
79
  namespaceName?: string
71
- serviceName?: string
80
+ sesameId?: string
72
81
  }
73
82
 
74
83
  export type DeleteGatewayServiceRes = {
75
- serviceName?: string
76
- namespaceName?: string
84
+ sesameId?: string
77
85
  }
78
86
 
79
87
  export type GetGatewayServiceRes = {
80
- serviceInfo?: ServiceInfo
88
+ externalServiceConf?: ExternalServiceConf
89
+ manageServiceConf?: ServiceInfo
90
+ serviceType?: SesameServiceType
81
91
  api?: SkoalaApiHostedV1alpha1Http.APIInfo[]
92
+ sesameId?: string
93
+ createdAt?: string
82
94
  }
83
95
 
84
96
  export type ListGatewayServiceReq = {
@@ -93,7 +105,7 @@ export type ListGatewayServiceReq = {
93
105
  }
94
106
 
95
107
  export type ListGatewayServiceRes = {
96
- serviceInfo?: ServiceInfo[]
108
+ items?: ServiceInfo[]
97
109
  pagination?: SkoalaApiGeneralV1alpha1Common.Pagination
98
110
  }
99
111
 
@@ -102,20 +114,23 @@ export type ServiceInfo = {
102
114
  address?: Address
103
115
  apiCount?: number
104
116
  sourceInfo?: ServiceSourceInfo
105
- createAt?: string
117
+ createdAt?: string
106
118
  serviceType?: SesameServiceType
107
- sesameServiceName?: string
108
- sesameServiceNamespace?: string
119
+ sesameId?: string
109
120
  }
110
121
 
111
122
  export type ServiceSourceInfo = {
112
123
  serviceSource?: ServiceSource
113
- clusterName?: string
114
- k8SNamespaceName?: string
124
+ kubernetesClusterName?: string
125
+ kubernetesNamespaceName?: string
115
126
  registrationId?: string
127
+ registrationName?: string
116
128
  registrationType?: string
117
129
  nacosNamespaceId?: string
118
- groupName?: string
130
+ nacosGroupName?: string
131
+ meshId?: string
132
+ meshName?: string
133
+ meshNamespaceName?: string
119
134
  }
120
135
 
121
136
 
@@ -123,7 +138,15 @@ type BaseExternalServiceConf = {
123
138
  }
124
139
 
125
140
  export type ExternalServiceConf = BaseExternalServiceConf
126
- & OneOf<{ kubernetesService: KubernetesService; registryService: RegistryService; externalService: ExternalService }>
141
+ & OneOf<{ kubernetesService: KubernetesService; registryService: RegistryService; externalService: ExternalService; meshService: MeshService }>
142
+
143
+ export type MeshService = {
144
+ meshId?: string
145
+ meshName?: string
146
+ serviceName?: string
147
+ namespaceName?: string
148
+ address?: Address
149
+ }
127
150
 
128
151
  export type KubernetesService = {
129
152
  clusterId?: string
@@ -136,6 +159,7 @@ export type KubernetesService = {
136
159
 
137
160
  type BaseRegistryService = {
138
161
  registrationId?: string
162
+ registrationName?: string
139
163
  }
140
164
 
141
165
  export type RegistryService = BaseRegistryService
@@ -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",
@@ -11,7 +20,6 @@ export enum HttpMethod {
11
20
  PUT = "PUT",
12
21
  PATCH = "PATCH",
13
22
  OPTIONS = "OPTIONS",
14
- ALL = "ALL",
15
23
  }
16
24
 
17
25
  export enum Protocol {
@@ -33,12 +41,26 @@ export enum APIStatus {
33
41
  DOWN = "DOWN",
34
42
  }
35
43
 
44
+ export type Header = {
45
+ name?: string
46
+ value?: string
47
+ }
48
+
49
+
50
+ type BaseHeaderRule = {
51
+ name?: string
52
+ }
53
+
54
+ export type HeaderRule = BaseHeaderRule
55
+ & OneOf<{ contains: string; exact: string; notContains: string; notExact: string; present: boolean; notPresent: boolean }>
56
+
36
57
  export type APIInfo = {
37
58
  apiName?: string
38
59
  fqdn?: string
39
60
  method?: HttpMethod[]
40
61
  requestPath?: string
41
62
  routeType?: RouteType
63
+ enabled?: boolean
42
64
  apiStatus?: APIStatus
43
65
  updatedAt?: string
44
66
  }