@otterscale/api 0.1.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/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@otterscale/api",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./src/feature_pb.js",
6
+ "types": "./src/feature_pb.d.ts",
7
+ "exports": {
8
+ "./feature": {
9
+ "types": "./src/feature_pb.d.ts",
10
+ "import": "./src/feature_pb.js"
11
+ },
12
+ "./link/v1": {
13
+ "types": "./src/link/v1/link_pb.d.ts",
14
+ "import": "./src/link/v1/link_pb.js"
15
+ },
16
+ "./runtime/v1": {
17
+ "types": "./src/runtime/v1/runtime_pb.d.ts",
18
+ "import": "./src/runtime/v1/runtime_pb.js"
19
+ },
20
+ "./resource/v1": {
21
+ "types": "./src/resource/v1/resource_pb.d.ts",
22
+ "import": "./src/resource/v1/resource_pb.js"
23
+ }
24
+ },
25
+ "files": [
26
+ "src"
27
+ ],
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/otterscale/api.git",
31
+ "directory": "ts"
32
+ },
33
+ "dependencies": {
34
+ "@bufbuild/protobuf": "^2.11.0"
35
+ },
36
+ "devDependencies": {
37
+ "@bufbuild/buf": "^1.66.0",
38
+ "@bufbuild/protoc-gen-es": "^2.11.0"
39
+ }
40
+ }
@@ -0,0 +1,34 @@
1
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=js+dts"
2
+ // @generated from file feature.proto (package otterscale.api, edition 2023)
3
+ /* eslint-disable */
4
+
5
+ import type { GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+ import type { MethodOptions } from "@bufbuild/protobuf/wkt";
8
+
9
+ /**
10
+ * Describes the file feature.proto.
11
+ */
12
+ export declare const file_feature: GenFile;
13
+
14
+ /**
15
+ * @generated from message otterscale.api.Feature
16
+ */
17
+ export declare type Feature = Message<"otterscale.api.Feature"> & {
18
+ /**
19
+ * @generated from field: string name = 1;
20
+ */
21
+ name: string;
22
+ };
23
+
24
+ /**
25
+ * Describes the message otterscale.api.Feature.
26
+ * Use `create(FeatureSchema)` to create a new message.
27
+ */
28
+ export declare const FeatureSchema: GenMessage<Feature>;
29
+
30
+ /**
31
+ * @generated from extension: otterscale.api.Feature feature = 7777777;
32
+ */
33
+ export declare const feature: GenExtension<MethodOptions, Feature>;
34
+
@@ -0,0 +1,26 @@
1
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=js+dts"
2
+ // @generated from file feature.proto (package otterscale.api, edition 2023)
3
+ /* eslint-disable */
4
+
5
+ import { extDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_google_protobuf_descriptor } from "@bufbuild/protobuf/wkt";
7
+
8
+ /**
9
+ * Describes the file feature.proto.
10
+ */
11
+ export const file_feature = /*@__PURE__*/
12
+ fileDesc("Cg1mZWF0dXJlLnByb3RvEg5vdHRlcnNjYWxlLmFwaSIXCgdGZWF0dXJlEgwKBG5hbWUYASABKAk6VAoHZmVhdHVyZRIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGPHb2gMgASgLMhcub3R0ZXJzY2FsZS5hcGkuRmVhdHVyZVIHZmVhdHVyZUIbWhlnaXRodWIuY29tL290dGVyc2NhbGUvYXBpYghlZGl0aW9uc3DoBw", [file_google_protobuf_descriptor]);
13
+
14
+ /**
15
+ * Describes the message otterscale.api.Feature.
16
+ * Use `create(FeatureSchema)` to create a new message.
17
+ */
18
+ export const FeatureSchema = /*@__PURE__*/
19
+ messageDesc(file_feature, 0);
20
+
21
+ /**
22
+ * @generated from extension: otterscale.api.Feature feature = 7777777;
23
+ */
24
+ export const feature = /*@__PURE__*/
25
+ extDesc(file_feature, 0);
26
+
@@ -0,0 +1,255 @@
1
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=js+dts"
2
+ // @generated from file link/v1/link.proto (package otterscale.link.v1, edition 2023)
3
+ /* eslint-disable */
4
+
5
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+
8
+ /**
9
+ * Describes the file link/v1/link.proto.
10
+ */
11
+ export declare const file_link_v1_link: GenFile;
12
+
13
+ /**
14
+ * @generated from message otterscale.link.v1.Link
15
+ */
16
+ export declare type Link = Message<"otterscale.link.v1.Link"> & {
17
+ /**
18
+ * The cluster name.
19
+ *
20
+ * @generated from field: string cluster = 1;
21
+ */
22
+ cluster: string;
23
+
24
+ /**
25
+ * The version of the agent binary (e.g. "v1.2.3"), set at build time.
26
+ *
27
+ * @generated from field: string agent_version = 2;
28
+ */
29
+ agentVersion: string;
30
+ };
31
+
32
+ /**
33
+ * Describes the message otterscale.link.v1.Link.
34
+ * Use `create(LinkSchema)` to create a new message.
35
+ */
36
+ export declare const LinkSchema: GenMessage<Link>;
37
+
38
+ /**
39
+ * ListLinksRequest is an empty request message for listing links.
40
+ *
41
+ * @generated from message otterscale.link.v1.ListLinksRequest
42
+ */
43
+ export declare type ListLinksRequest = Message<"otterscale.link.v1.ListLinksRequest"> & {
44
+ };
45
+
46
+ /**
47
+ * Describes the message otterscale.link.v1.ListLinksRequest.
48
+ * Use `create(ListLinksRequestSchema)` to create a new message.
49
+ */
50
+ export declare const ListLinksRequestSchema: GenMessage<ListLinksRequest>;
51
+
52
+ /**
53
+ * ListLinksResponse contains the list of links the agent is registered to.
54
+ *
55
+ * @generated from message otterscale.link.v1.ListLinksResponse
56
+ */
57
+ export declare type ListLinksResponse = Message<"otterscale.link.v1.ListLinksResponse"> & {
58
+ /**
59
+ * The list of links.
60
+ *
61
+ * @generated from field: repeated otterscale.link.v1.Link links = 1;
62
+ */
63
+ links: Link[];
64
+ };
65
+
66
+ /**
67
+ * Describes the message otterscale.link.v1.ListLinksResponse.
68
+ * Use `create(ListLinksResponseSchema)` to create a new message.
69
+ */
70
+ export declare const ListLinksResponseSchema: GenMessage<ListLinksResponse>;
71
+
72
+ /**
73
+ * RegisterRequest contains the agent's cluster identity and a CSR for
74
+ * mTLS certificate issuance.
75
+ *
76
+ * @generated from message otterscale.link.v1.RegisterRequest
77
+ */
78
+ export declare type RegisterRequest = Message<"otterscale.link.v1.RegisterRequest"> & {
79
+ /**
80
+ * The cluster identifier this agent belongs to.
81
+ *
82
+ * @generated from field: string cluster = 1;
83
+ */
84
+ cluster: string;
85
+
86
+ /**
87
+ * PEM-encoded PKCS#10 certificate signing request. The server signs
88
+ * this with its internal CA and returns the issued certificate.
89
+ *
90
+ * @generated from field: bytes csr = 2;
91
+ */
92
+ csr: Uint8Array;
93
+
94
+ /**
95
+ * The agent identifier this agent uses to register with the server.
96
+ *
97
+ * @generated from field: string agent_id = 3;
98
+ */
99
+ agentId: string;
100
+
101
+ /**
102
+ * The version of the agent binary (e.g. "v1.2.3"), set at build time.
103
+ *
104
+ * @generated from field: string agent_version = 4;
105
+ */
106
+ agentVersion: string;
107
+ };
108
+
109
+ /**
110
+ * Describes the message otterscale.link.v1.RegisterRequest.
111
+ * Use `create(RegisterRequestSchema)` to create a new message.
112
+ */
113
+ export declare const RegisterRequestSchema: GenMessage<RegisterRequest>;
114
+
115
+ /**
116
+ * GetAgentManifestRequest identifies the target cluster for which
117
+ * the agent installation manifest should be generated.
118
+ *
119
+ * @generated from message otterscale.link.v1.GetAgentManifestRequest
120
+ */
121
+ export declare type GetAgentManifestRequest = Message<"otterscale.link.v1.GetAgentManifestRequest"> & {
122
+ /**
123
+ * The cluster name the agent will register under.
124
+ *
125
+ * @generated from field: string cluster = 1;
126
+ */
127
+ cluster: string;
128
+ };
129
+
130
+ /**
131
+ * Describes the message otterscale.link.v1.GetAgentManifestRequest.
132
+ * Use `create(GetAgentManifestRequestSchema)` to create a new message.
133
+ */
134
+ export declare const GetAgentManifestRequestSchema: GenMessage<GetAgentManifestRequest>;
135
+
136
+ /**
137
+ * GetAgentManifestResponse contains the multi-document YAML manifest
138
+ * that can be applied via kubectl to install the agent.
139
+ *
140
+ * @generated from message otterscale.link.v1.GetAgentManifestResponse
141
+ */
142
+ export declare type GetAgentManifestResponse = Message<"otterscale.link.v1.GetAgentManifestResponse"> & {
143
+ /**
144
+ * Multi-document YAML containing Namespace, ServiceAccount,
145
+ * ClusterRoleBinding, and Deployment resources.
146
+ *
147
+ * @generated from field: string manifest = 1;
148
+ */
149
+ manifest: string;
150
+
151
+ /**
152
+ * URL with an embedded HMAC token that serves the manifest as raw
153
+ * YAML. Users can run `kubectl apply -f <url>` directly.
154
+ *
155
+ * @generated from field: string url = 2;
156
+ */
157
+ url: string;
158
+ };
159
+
160
+ /**
161
+ * Describes the message otterscale.link.v1.GetAgentManifestResponse.
162
+ * Use `create(GetAgentManifestResponseSchema)` to create a new message.
163
+ */
164
+ export declare const GetAgentManifestResponseSchema: GenMessage<GetAgentManifestResponse>;
165
+
166
+ /**
167
+ * RegisterResponse contains a CA-signed certificate and the CA
168
+ * certificate so the agent can establish an mTLS tunnel connection.
169
+ *
170
+ * @generated from message otterscale.link.v1.RegisterResponse
171
+ */
172
+ export declare type RegisterResponse = Message<"otterscale.link.v1.RegisterResponse"> & {
173
+ /**
174
+ * The loopback endpoint reserved for this cluster tunnel.
175
+ *
176
+ * @generated from field: string endpoint = 1;
177
+ */
178
+ endpoint: string;
179
+
180
+ /**
181
+ * PEM-encoded X.509 certificate signed by the server's CA.
182
+ *
183
+ * @generated from field: bytes certificate = 2;
184
+ */
185
+ certificate: Uint8Array;
186
+
187
+ /**
188
+ * PEM-encoded CA certificate for verifying the tunnel server.
189
+ *
190
+ * @generated from field: bytes ca_certificate = 3;
191
+ */
192
+ caCertificate: Uint8Array;
193
+
194
+ /**
195
+ * The version of the server binary (e.g. "v1.2.3"), set at build time.
196
+ * Agents compare this against their own version to decide whether a
197
+ * self-update is needed.
198
+ *
199
+ * @generated from field: string server_version = 4;
200
+ */
201
+ serverVersion: string;
202
+ };
203
+
204
+ /**
205
+ * Describes the message otterscale.link.v1.RegisterResponse.
206
+ * Use `create(RegisterResponseSchema)` to create a new message.
207
+ */
208
+ export declare const RegisterResponseSchema: GenMessage<RegisterResponse>;
209
+
210
+ /**
211
+ * LinkService manages the lifecycle of agent-to-server tunnel connections,
212
+ * including registration and health checking.
213
+ *
214
+ * @generated from service otterscale.link.v1.LinkService
215
+ */
216
+ export declare const LinkService: GenService<{
217
+ /**
218
+ * ListLinks returns all cluster identifiers that the current agent
219
+ * is registered to. This is used to discover which clusters are available
220
+ * for tunnel connections.
221
+ *
222
+ * @generated from rpc otterscale.link.v1.LinkService.ListLinks
223
+ */
224
+ listLinks: {
225
+ methodKind: "unary";
226
+ input: typeof ListLinksRequestSchema;
227
+ output: typeof ListLinksResponseSchema;
228
+ },
229
+ /**
230
+ * Register allows an agent to register itself with the tunnel server.
231
+ * The agent sends its cluster identity and tunnel port; the server responds
232
+ * with its fingerprint so the agent can verify the tunnel connection.
233
+ *
234
+ * @generated from rpc otterscale.link.v1.LinkService.Register
235
+ */
236
+ register: {
237
+ methodKind: "unary";
238
+ input: typeof RegisterRequestSchema;
239
+ output: typeof RegisterResponseSchema;
240
+ },
241
+ /**
242
+ * GetAgentManifest returns a multi-document YAML manifest for installing
243
+ * the otterscale agent on a target Kubernetes cluster. The manifest
244
+ * includes a Namespace, ServiceAccount, ClusterRoleBinding (binding the
245
+ * caller to cluster-admin), and a Deployment running the agent.
246
+ *
247
+ * @generated from rpc otterscale.link.v1.LinkService.GetAgentManifest
248
+ */
249
+ getAgentManifest: {
250
+ methodKind: "unary";
251
+ input: typeof GetAgentManifestRequestSchema;
252
+ output: typeof GetAgentManifestResponseSchema;
253
+ },
254
+ }>;
255
+
@@ -0,0 +1,71 @@
1
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=js+dts"
2
+ // @generated from file link/v1/link.proto (package otterscale.link.v1, edition 2023)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_feature } from "../../feature_pb";
7
+
8
+ /**
9
+ * Describes the file link/v1/link.proto.
10
+ */
11
+ export const file_link_v1_link = /*@__PURE__*/
12
+ fileDesc("ChJsaW5rL3YxL2xpbmsucHJvdG8SEm90dGVyc2NhbGUubGluay52MSIuCgRMaW5rEg8KB2NsdXN0ZXIYASABKAkSFQoNYWdlbnRfdmVyc2lvbhgCIAEoCSISChBMaXN0TGlua3NSZXF1ZXN0IjwKEUxpc3RMaW5rc1Jlc3BvbnNlEicKBWxpbmtzGAEgAygLMhgub3R0ZXJzY2FsZS5saW5rLnYxLkxpbmsiWAoPUmVnaXN0ZXJSZXF1ZXN0Eg8KB2NsdXN0ZXIYASABKAkSCwoDY3NyGAIgASgMEhAKCGFnZW50X2lkGAMgASgJEhUKDWFnZW50X3ZlcnNpb24YBCABKAkiKgoXR2V0QWdlbnRNYW5pZmVzdFJlcXVlc3QSDwoHY2x1c3RlchgBIAEoCSI5ChhHZXRBZ2VudE1hbmlmZXN0UmVzcG9uc2USEAoIbWFuaWZlc3QYASABKAkSCwoDdXJsGAIgASgJImkKEFJlZ2lzdGVyUmVzcG9uc2USEAoIZW5kcG9pbnQYASABKAkSEwoLY2VydGlmaWNhdGUYAiABKAwSFgoOY2FfY2VydGlmaWNhdGUYAyABKAwSFgoOc2VydmVyX3ZlcnNpb24YBCABKAky8AIKC0xpbmtTZXJ2aWNlEm0KCUxpc3RMaW5rcxIkLm90dGVyc2NhbGUubGluay52MS5MaXN0TGlua3NSZXF1ZXN0GiUub3R0ZXJzY2FsZS5saW5rLnYxLkxpc3RMaW5rc1Jlc3BvbnNlIhOK39UdDgoMbGluay1lbmFibGVkEmoKCFJlZ2lzdGVyEiMub3R0ZXJzY2FsZS5saW5rLnYxLlJlZ2lzdGVyUmVxdWVzdBokLm90dGVyc2NhbGUubGluay52MS5SZWdpc3RlclJlc3BvbnNlIhOK39UdDgoMbGluay1lbmFibGVkEoUBChBHZXRBZ2VudE1hbmlmZXN0Eisub3R0ZXJzY2FsZS5saW5rLnYxLkdldEFnZW50TWFuaWZlc3RSZXF1ZXN0Giwub3R0ZXJzY2FsZS5saW5rLnYxLkdldEFnZW50TWFuaWZlc3RSZXNwb25zZSIWkAIBit/VHQ4KDGxpbmstZW5hYmxlZEIqWihnaXRodWIuY29tL290dGVyc2NhbGUvYXBpL2xpbmsvdjE7bGlua3YxYghlZGl0aW9uc3DoBw", [file_feature]);
13
+
14
+ /**
15
+ * Describes the message otterscale.link.v1.Link.
16
+ * Use `create(LinkSchema)` to create a new message.
17
+ */
18
+ export const LinkSchema = /*@__PURE__*/
19
+ messageDesc(file_link_v1_link, 0);
20
+
21
+ /**
22
+ * Describes the message otterscale.link.v1.ListLinksRequest.
23
+ * Use `create(ListLinksRequestSchema)` to create a new message.
24
+ */
25
+ export const ListLinksRequestSchema = /*@__PURE__*/
26
+ messageDesc(file_link_v1_link, 1);
27
+
28
+ /**
29
+ * Describes the message otterscale.link.v1.ListLinksResponse.
30
+ * Use `create(ListLinksResponseSchema)` to create a new message.
31
+ */
32
+ export const ListLinksResponseSchema = /*@__PURE__*/
33
+ messageDesc(file_link_v1_link, 2);
34
+
35
+ /**
36
+ * Describes the message otterscale.link.v1.RegisterRequest.
37
+ * Use `create(RegisterRequestSchema)` to create a new message.
38
+ */
39
+ export const RegisterRequestSchema = /*@__PURE__*/
40
+ messageDesc(file_link_v1_link, 3);
41
+
42
+ /**
43
+ * Describes the message otterscale.link.v1.GetAgentManifestRequest.
44
+ * Use `create(GetAgentManifestRequestSchema)` to create a new message.
45
+ */
46
+ export const GetAgentManifestRequestSchema = /*@__PURE__*/
47
+ messageDesc(file_link_v1_link, 4);
48
+
49
+ /**
50
+ * Describes the message otterscale.link.v1.GetAgentManifestResponse.
51
+ * Use `create(GetAgentManifestResponseSchema)` to create a new message.
52
+ */
53
+ export const GetAgentManifestResponseSchema = /*@__PURE__*/
54
+ messageDesc(file_link_v1_link, 5);
55
+
56
+ /**
57
+ * Describes the message otterscale.link.v1.RegisterResponse.
58
+ * Use `create(RegisterResponseSchema)` to create a new message.
59
+ */
60
+ export const RegisterResponseSchema = /*@__PURE__*/
61
+ messageDesc(file_link_v1_link, 6);
62
+
63
+ /**
64
+ * LinkService manages the lifecycle of agent-to-server tunnel connections,
65
+ * including registration and health checking.
66
+ *
67
+ * @generated from service otterscale.link.v1.LinkService
68
+ */
69
+ export const LinkService = /*@__PURE__*/
70
+ serviceDesc(file_link_v1_link, 0);
71
+