@@ -24,7 +24,7 @@ service FabricController {
24
24
option deprecated = true ;
25
25
}; // used by pulumi-defang provider; should use Deploy
26
26
rpc Deploy (DeployRequest ) returns (DeployResponse );
27
- rpc Get (ServiceID ) returns (ServiceInfo ) {
27
+ rpc Get (GetRequest ) returns (ServiceInfo ) {
28
28
option idempotency_level = NO_SIDE_EFFECTS ;
29
29
}; // should be GetService
30
30
rpc Delete (DeleteRequest ) returns (DeleteResponse ) {
@@ -38,7 +38,7 @@ service FabricController {
38
38
}
39
39
rpc Subscribe (SubscribeRequest ) returns (stream SubscribeResponse );
40
40
// rpc Promote(google.protobuf.Empty) returns (google.protobuf.Empty);
41
- rpc GetServices (google . protobuf . Empty ) returns (ListServicesResponse ) {
41
+ rpc GetServices (GetServicesRequest ) returns (ListServicesResponse ) {
42
42
option idempotency_level = NO_SIDE_EFFECTS ;
43
43
}; // should be ListServices
44
44
@@ -63,7 +63,7 @@ service FabricController {
63
63
rpc DeleteSecrets (Secrets ) returns (google .protobuf .Empty ) {
64
64
option deprecated = true ;
65
65
};
66
- rpc ListSecrets (google . protobuf . Empty ) returns (Secrets ) {
66
+ rpc ListSecrets (ListConfigsRequest ) returns (Secrets ) {
67
67
option idempotency_level = NO_SIDE_EFFECTS ;
68
68
option deprecated = true ;
69
69
} // no values
@@ -104,6 +104,33 @@ service FabricController {
104
104
rpc VerifyDNSSetup (VerifyDNSSetupRequest ) returns (google .protobuf .Empty ) {
105
105
option idempotency_level = NO_SIDE_EFFECTS ;
106
106
}
107
+
108
+ rpc GetSelectedProvider (GetSelectedProviderRequest )
109
+ returns (GetSelectedProviderResponse ) {
110
+ option idempotency_level = NO_SIDE_EFFECTS ;
111
+ }
112
+
113
+ rpc SetSelectedProvider (SetSelectedProviderRequest )
114
+ returns (google .protobuf .Empty ) {
115
+ option idempotency_level = IDEMPOTENT ;
116
+ }
117
+ }
118
+
119
+ enum Provider {
120
+ PROVIDER_UNSPECIFIED = 0 ;
121
+ DEFANG = 1 ;
122
+ AWS = 2 ;
123
+ DIGITALOCEAN = 3 ;
124
+ GCP = 4 ;
125
+ }
126
+
127
+ message GetSelectedProviderRequest { string project = 1 ; }
128
+
129
+ message GetSelectedProviderResponse { Provider provider = 1 ; }
130
+
131
+ message SetSelectedProviderRequest {
132
+ string project = 1 ;
133
+ Provider provider = 2 ;
107
134
}
108
135
109
136
message VerifyDNSSetupRequest {
@@ -164,6 +191,8 @@ message DeployRequest {
164
191
string project = 2 [ deprecated = true ]; // deprecated; use compose.name
165
192
DeploymentMode mode = 3 ;
166
193
bytes compose = 4 ; // yaml (or json)
194
+ string delegate_domain = 5 ;
195
+ string delegation_set_id = 6 ;
167
196
}
168
197
169
198
message DeployResponse {
@@ -174,6 +203,7 @@ message DeployResponse {
174
203
message DeleteRequest {
175
204
repeated string names = 1 ;
176
205
string project = 2 ; // defaults to tenant ID
206
+ string delegate_domain = 3 ;
177
207
}
178
208
179
209
message DeleteResponse { string etag = 1 ; }
@@ -195,7 +225,10 @@ message StartGenerateResponse { string uuid = 1; }
195
225
196
226
message GenerateStatusRequest { string uuid = 1 ; }
197
227
198
- message UploadURLRequest { string digest = 1 ; }
228
+ message UploadURLRequest {
229
+ string digest = 1 ;
230
+ string project = 2 ;
231
+ }
199
232
200
233
message UploadURLResponse { string url = 1 ; }
201
234
@@ -299,14 +332,12 @@ message TokenRequest {
299
332
string assertion = 4 ; // jwt-bearer
300
333
uint32 expires_in = 5 ; // seconds
301
334
string anon_id = 6 ;
302
-
303
- // string refresh_token = 6;
335
+ string refresh_token = 7 ;
304
336
}
305
337
306
338
message TokenResponse {
307
- string access_token = 1 ; // our JWT
308
-
309
- // string refresh_token = 2;
339
+ string access_token = 1 ; // short-lived token
340
+ string refresh_token = 2 ;
310
341
// string token_type = 3; // "Bearer"
311
342
// uint32 expires_in = 4; // 3600
312
343
// string id_token = 5; // "eyJhbGciOiJSUzI…"
@@ -325,6 +356,9 @@ message TailRequest {
325
356
repeated string services = 1 ;
326
357
google.protobuf.Timestamp since = 2 ;
327
358
string etag = 3 ;
359
+ string project = 4 ;
360
+ uint32 log_type = 5 ;
361
+ string pattern = 6 ;
328
362
}
329
363
330
364
message LogEntry {
@@ -334,7 +368,6 @@ message LogEntry {
334
368
string service = 4 ;
335
369
string etag = 5 ;
336
370
string host = 6 ;
337
- string job = 7 ;
338
371
}
339
372
340
373
message TailResponse {
@@ -353,59 +386,57 @@ message ListServicesResponse {
353
386
message ProjectUpdate {
354
387
repeated ServiceInfo services = 1 ;
355
388
string alb_arn = 2 ;
356
- string project = 3 [deprecated = true ]; // deprecated; use compose.name
389
+ string project = 3 [ deprecated = true ]; // deprecated; use compose.name
357
390
bytes compose = 4 ;
358
391
string cd_version = 5 ;
359
392
}
360
393
361
394
enum Platform {
362
- option deprecated = true ;
395
+ option deprecated = true ; // still used by pulumi-defang provider
363
396
LINUX_AMD64 = 0 ;
364
397
LINUX_ARM64 = 1 ;
365
398
LINUX_ANY = 2 ;
366
399
}
367
400
368
- message ServiceID { string name = 1 ; }
401
+ message GetRequest { // was GetRequest
402
+ string name = 1 ;
403
+ string project = 2 ;
404
+ }
369
405
370
406
message Device {
371
- option deprecated = true ;
407
+ option deprecated = true ; // still used by pulumi-defang provider
372
408
repeated string capabilities = 1 ; // "gpu", "tpu", etc.
373
409
string driver = 2 ; // "nvidia", "amd", etc.
374
410
uint32 count = 3 ; // number of devices to reserve
375
411
}
376
412
377
413
message Resource {
378
- option deprecated = true ;
414
+ option deprecated = true ; // still used by pulumi-defang provider
379
415
float memory = 1 ; // in MiB
380
416
float cpus = 2 ; // fractional vCPUs
381
417
repeated Device devices = 3 ; // devices & capabilities
382
418
}
383
419
384
420
message Resources {
385
- option deprecated = true ;
421
+ option deprecated = true ; // still used by pulumi-defang provider
386
422
Resource reservations = 1 ; // requested resources
387
423
388
424
// Resource limits = 2; // hard limits
389
425
}
390
426
391
427
message Deploy {
392
- option deprecated = true ;
393
- uint32 replicas = 1 ; // number of initial replicas
394
- Resources resources = 2 ; // reservations and limits
428
+ option deprecated = true ; // still used by pulumi-defang provider
429
+ uint32 replicas = 1 ; // number of initial replicas
430
+ Resources resources = 2 ; // reservations and limits
395
431
396
432
// Placement placement = 3;
397
433
// EndpointMode endpoint_mode
398
434
// Mode mode
399
435
}
400
436
401
- // message Range {
402
- // uint32 from = 1;
403
- // uint32 to = 2;
404
- // }
405
-
406
437
enum Protocol {
407
- option deprecated = true ;
408
- ANY = 0 ; // unspecified means any protocol
438
+ option deprecated = true ; // still used by pulumi-defang provider
439
+ ANY = 0 ; // unspecified means any protocol
409
440
UDP = 1 ;
410
441
TCP = 2 ;
411
442
HTTP = 3 ;
@@ -414,13 +445,13 @@ enum Protocol {
414
445
}
415
446
416
447
enum Mode {
417
- option deprecated = true ;
448
+ option deprecated = true ; // still used by pulumi-defang provider
418
449
HOST = 0 ; // no load-balancer; suitable for internal services and functions
419
450
INGRESS = 1 ; // with load-balancer; suitable for public services
420
451
}
421
452
422
453
message Port {
423
- option deprecated = true ;
454
+ option deprecated = true ; // still used by pulumi-defang provider
424
455
uint32 target = 1 ;
425
456
Protocol protocol = 2 ;
426
457
Mode mode = 3 ; // load-balanced (ingress) or not (host)
@@ -430,13 +461,13 @@ message Port {
430
461
}
431
462
432
463
message Secret {
433
- option deprecated = true ;
434
- string source = 1 ; // name of the secret
464
+ option deprecated = true ; // still used by pulumi-defang provider
465
+ string source = 1 ; // name of the secret
435
466
// string target = 2;
436
467
}
437
468
438
469
message Build {
439
- option deprecated = true ;
470
+ option deprecated = true ; // still used by pulumi-defang provider
440
471
string context = 1 ; // path or URL to the build context
441
472
string dockerfile = 2 ; // path to the Dockerfile
442
473
map <string , string > args = 3 ; // build-time variables
@@ -445,22 +476,22 @@ message Build {
445
476
}
446
477
447
478
message HealthCheck {
448
- option deprecated = true ;
479
+ option deprecated = true ; // still used by pulumi-defang provider
449
480
repeated string test = 1 ;
450
481
uint32 interval = 2 ; // in seconds
451
482
uint32 timeout = 3 ; // in seconds; must be less than interval
452
483
uint32 retries = 4 ;
453
484
}
454
485
455
486
enum Network {
456
- option deprecated = true ;
457
- UNSPECIFIED = 0 ; // was: internal=false
458
- PRIVATE = 1 ; // was: internal=true
487
+ option deprecated = true ; // still used by pulumi-defang provider
488
+ UNSPECIFIED = 0 ; // was: internal=false
489
+ PRIVATE = 1 ; // was: internal=true
459
490
PUBLIC = 2 ;
460
491
}
461
492
462
493
message Service {
463
- option deprecated = true ;
494
+ option deprecated = true ; // still used by pulumi-defang provider
464
495
string name = 1 ;
465
496
string image = 2 ;
466
497
Platform platform = 3 ;
@@ -478,19 +509,18 @@ message Service {
478
509
// create dns records
479
510
StaticFiles static_files = 15 ; // x-defang-static-files: use a managed CDN
480
511
Network networks = 16 ; // currently only 1 network is supported
481
- Redis redis = 18 ; // x-defang-redis: use a managed redis
482
- Postgres postgres = 19 ; // x-defang-postgres : use a managed
483
- string project = 20 ; // defaults to tenant ID
512
+ repeated string aliases = 17 ;
513
+ Redis redis = 18 ; // x-defang-redis : use a managed redis
514
+ string project = 20 ; // defaults to tenant ID
484
515
}
485
516
486
517
message StaticFiles {
487
- option deprecated = true ;
518
+ option deprecated = true ; // still used by pulumi-defang provider
488
519
string folder = 1 ;
489
520
repeated string redirects = 2 ;
490
521
}
491
522
492
523
message Redis { option deprecated = true ; }
493
- message Postgres { option deprecated = true ; }
494
524
495
525
// TODO: internal message; move to a separate proto file; was Event
496
526
message DeployEvent {
@@ -523,6 +553,7 @@ message PublishRequest { Event event = 1; }
523
553
message SubscribeRequest {
524
554
repeated string services = 1 ;
525
555
string etag = 2 ;
556
+ string project = 3 ;
526
557
}
527
558
528
559
message SubscribeResponse {
@@ -532,15 +563,26 @@ message SubscribeResponse {
532
563
ServiceState state = 4 ;
533
564
}
534
565
566
+ message GetServicesRequest { string project = 1 ; }
567
+
535
568
message DelegateSubdomainZoneRequest {
536
569
repeated string name_server_records = 1 ;
537
570
}
538
571
539
572
message DelegateSubdomainZoneResponse { string zone = 1 ; }
540
573
574
+ enum SubscriptionTier {
575
+ SUBSCRIPTION_TIER_UNSPECIFIED = 0 ;
576
+ PERSONAL = 1 ;
577
+ BASIC = 2 ;
578
+ PRO = 3 ;
579
+ TEAM = 4 ;
580
+ }
581
+
541
582
message WhoAmIResponse {
542
583
string tenant = 1 ;
543
584
string account = 2 ;
544
585
string region = 3 ;
545
586
string user_id = 4 ;
587
+ SubscriptionTier tier = 5 ;
546
588
}
0 commit comments