@controlplane/schema 1.0.4 → 1.0.5

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.
Files changed (47) hide show
  1. package/build/src/interfaces/base.d.ts +6 -2
  2. package/build/src/interfaces/command.d.ts +25 -19
  3. package/build/src/interfaces/containerstatus.d.ts +6 -0
  4. package/build/src/interfaces/crmevent.d.ts +39 -0
  5. package/build/src/interfaces/crmevent.js +3 -0
  6. package/build/src/interfaces/cronjob.d.ts +3 -2
  7. package/build/src/interfaces/deployment.d.ts +1 -0
  8. package/build/src/interfaces/discovery.d.ts +1 -0
  9. package/build/src/interfaces/domain.d.ts +19 -3
  10. package/build/src/interfaces/envoyCommon.d.ts +5 -4
  11. package/build/src/interfaces/envoyHttp.d.ts +1 -1
  12. package/build/src/interfaces/event.d.ts +2 -2
  13. package/build/src/interfaces/gvc.d.ts +15 -0
  14. package/build/src/interfaces/identity.d.ts +9 -1
  15. package/build/src/interfaces/internal.d.ts +0 -0
  16. package/build/src/interfaces/internal.js +2 -0
  17. package/build/src/interfaces/ipSet.d.ts +37 -0
  18. package/build/src/interfaces/ipSet.js +3 -0
  19. package/build/src/interfaces/locationDns.d.ts +11 -0
  20. package/build/src/interfaces/locationDns.js +3 -0
  21. package/build/src/interfaces/mk8s.d.ts +14 -3
  22. package/build/src/interfaces/mk8sAddons.d.ts +10 -0
  23. package/build/src/interfaces/mk8sAws.d.ts +11 -2
  24. package/build/src/interfaces/mk8sAzure.d.ts +53 -0
  25. package/build/src/interfaces/mk8sAzure.js +3 -0
  26. package/build/src/interfaces/mk8sCommon.d.ts +27 -1
  27. package/build/src/interfaces/mk8sDigitalOcean.d.ts +32 -0
  28. package/build/src/interfaces/mk8sDigitalOcean.js +3 -0
  29. package/build/src/interfaces/mk8sGcp.d.ts +45 -0
  30. package/build/src/interfaces/mk8sGcp.js +3 -0
  31. package/build/src/interfaces/mk8sGeneric.d.ts +1 -0
  32. package/build/src/interfaces/mk8sHetzner.d.ts +9 -4
  33. package/build/src/interfaces/mk8sLambdalabs.d.ts +7 -4
  34. package/build/src/interfaces/mk8sLinode.d.ts +13 -5
  35. package/build/src/interfaces/mk8sOblivus.d.ts +14 -2
  36. package/build/src/interfaces/mk8sPaperspace.d.ts +6 -1
  37. package/build/src/interfaces/mk8sTriton.d.ts +73 -0
  38. package/build/src/interfaces/mk8sTriton.js +3 -0
  39. package/build/src/interfaces/org.d.ts +5 -2
  40. package/build/src/interfaces/outboxmessage.d.ts +6 -0
  41. package/build/src/interfaces/outboxmessage.js +3 -0
  42. package/build/src/interfaces/permissions.d.ts +1 -1
  43. package/build/src/interfaces/query.d.ts +4 -0
  44. package/build/src/interfaces/volumeSet.d.ts +34 -14
  45. package/build/src/interfaces/workload.d.ts +186 -13
  46. package/build/src/interfaces/workloadOptions.d.ts +65 -5
  47. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  export type LocalLink = string;
2
2
  export type ImageLink = string;
3
- export type Kind = 'org' | 'cloudaccount' | 'policy' | 'user' | 'group' | 'resource' | 'task' | 'permissions' | 'serviceaccount' | 'secret' | 'location' | 'gvc' | 'workload' | 'quota' | 'identity' | 'deployment' | 'event' | 'domain' | 'image' | 'resourcepolicy' | 'agent' | 'accessreport' | 'policymembership' | 'dbcluster' | 'auditctx' | 'memcachecluster' | 'spicedbcluster' | 'tenant' | 'mk8s' | 'command' | 'imagesummary' | 'volumeset';
3
+ export type Kind = 'org' | 'cloudaccount' | 'policy' | 'user' | 'group' | 'resource' | 'task' | 'permissions' | 'serviceaccount' | 'secret' | 'location' | 'gvc' | 'workload' | 'quota' | 'identity' | 'deployment' | 'event' | 'domain' | 'image' | 'ipset' | 'resourcepolicy' | 'agent' | 'accessreport' | 'policymembership' | 'dbcluster' | 'auditctx' | 'memcachecluster' | 'spicedbcluster' | 'tenant' | 'mk8s' | 'command' | 'imagesummary' | 'volumeset';
4
4
  export type CloudProvider = 'aws' | 'gcp' | 'azure' | 'ngs';
5
5
  export type Name = string;
6
6
  export interface Tags {
@@ -24,10 +24,11 @@ export interface Base {
24
24
  }
25
25
  export interface List {
26
26
  kind?: 'list';
27
- itemKind?: 'org' | 'cloudaccount' | 'policy' | 'user' | 'group' | 'resource' | 'task' | 'permissions' | 'serviceaccount' | 'secret' | 'location' | 'gvc' | 'workload' | 'quota' | 'identity' | 'deployment' | 'event' | 'account' | 'domain' | 'image' | 'resourcepolicy' | 'accessreport' | 'agent' | 'auditctx' | 'dbcluster' | 'memcachecluster' | 'spicedbcluster' | 'tenant' | 'mk8s' | 'command' | 'policymembership' | 'primitive' | 'foreign' | 'link' | 'imagesummary' | 'volumeset';
27
+ itemKind?: 'org' | 'cloudaccount' | 'policy' | 'user' | 'group' | 'resource' | 'task' | 'permissions' | 'serviceaccount' | 'secret' | 'location' | 'gvc' | 'workload' | 'quota' | 'identity' | 'deployment' | 'event' | 'account' | 'domain' | 'image' | 'ipset' | 'resourcepolicy' | 'accessreport' | 'agent' | 'auditctx' | 'dbcluster' | 'memcachecluster' | 'spicedbcluster' | 'tenant' | 'mk8s' | 'command' | 'policymembership' | 'primitive' | 'foreign' | 'link' | 'imagesummary' | 'volumeset';
28
28
  items: any[];
29
29
  links: Link[];
30
30
  }
31
+ export type Regex = string;
31
32
  export interface ApiError {
32
33
  status?: number;
33
34
  message?: string;
@@ -35,3 +36,6 @@ export interface ApiError {
35
36
  details?: any;
36
37
  id?: string;
37
38
  }
39
+ export interface MultiZoneOptions {
40
+ enabled?: boolean;
41
+ }
@@ -1,7 +1,7 @@
1
- import { Kind, Links, ImageLink, Name, Tags } from './base';
1
+ import { Kind, Links, Tags, ImageLink, Name } from './base';
2
2
  import { EnvVar } from './env';
3
3
  import { Memory, Cpu } from './workload';
4
- import { VolumeSnapshot, SnapshotSpec, VolumeSetStatus } from './volumeSet';
4
+ import { VolumeSnapshot, VolumeSetSpec, VolumeSetStatus } from './volumeSet';
5
5
  export type CommandLifecycleStage = 'pending' | 'running' | 'cancelled' | 'completed' | 'failed';
6
6
  export interface Command {
7
7
  id?: string;
@@ -11,6 +11,7 @@ export interface Command {
11
11
  created?: Date;
12
12
  lastModified?: Date;
13
13
  links?: Links;
14
+ tags?: Tags;
14
15
  type: string;
15
16
  lifecycleStage?: CommandLifecycleStage;
16
17
  spec?: {
@@ -35,6 +36,7 @@ export interface RunCronWorkloadSpec {
35
36
  }
36
37
  export interface RunCronWorkloadStatus {
37
38
  replica?: string;
39
+ minimumWorkloadVersion?: number;
38
40
  }
39
41
  export interface StopReplicaSpec {
40
42
  location: string;
@@ -55,12 +57,16 @@ export interface RestoreVolumeSpec {
55
57
  snapshotName: string;
56
58
  }
57
59
  export interface ReplaceVolumeStatus {
58
- stage: 'create-volume' | 'cleanup-after-volume-creation' | 'update-volume-set' | 'shutdown-replica' | 'await-replica-termination' | 'restart-replica' | 'cleanup-k8s' | 'cleanup-old-storage-device' | 'revert';
60
+ stage: 'create-volume' | 'cleanup-after-volume-creation' | 'update-volume-set' | 'configure-storage-resources' | 'remove-finalizer' | 'shutdown-replica' | 'await-replica-termination' | 'cleanup-k8s' | 'fail' | 'revert' | 'cleanup-old-storage-device' | 'restart-replica';
59
61
  messages?: string[];
60
62
  clusterId?: string;
61
63
  inUseByWorkloadId?: string;
62
64
  storageDeviceIdToRemove?: string;
63
65
  newStorageDeviceId?: string;
66
+ newVolumeAttributes?: {
67
+ [x: string]: string;
68
+ };
69
+ newResourceName?: string;
64
70
  nextVolumeSize?: number;
65
71
  }
66
72
  export interface CreateVolumeSnapshotSpec {
@@ -88,22 +94,32 @@ export interface ExpandVolumeSpec {
88
94
  export interface ExpandVolumeStatus {
89
95
  clusterId?: string;
90
96
  messages?: string[];
91
- stage: 'expand-volume' | 'await-replica-termination' | 'await-expansion-completed' | 'update-volume-set' | 'recreate-replica' | 'cleanup-k8s' | 'revert';
97
+ stage: 'expand-volume' | 'delete-stateful-set' | 'await-replica-termination' | 'await-expansion-completed' | 'update-volume-set' | 'recreate-replica' | 'cleanup-k8s' | 'revert';
92
98
  replicaRestartedAt?: Date;
99
+ lockNames?: string[];
93
100
  }
94
101
  export interface DeleteVolumeSpec {
95
102
  location: string;
96
103
  volumeIndex: number;
97
104
  }
105
+ export interface DeleteVolumeStatus {
106
+ stage: 'update-volume-set' | 'delete-storage-resources' | 'shutdown-replica' | 'await-replica-termination' | 'fail' | 'cleanup-k8s';
107
+ clusterId?: string;
108
+ messages?: string[];
109
+ inUseByWorkloadId?: string;
110
+ storageDeviceIdToRemove?: string;
111
+ }
98
112
  export interface SnapshotDeletionStatus {
99
113
  stage?: 'pending' | 'k8s-resources-created' | 'deleted';
100
114
  messages?: string[];
101
115
  }
102
- export interface DeleteVolumeStatus {
116
+ export interface DeleteCloudDevicesStatus {
103
117
  clusterId?: string;
104
118
  volume: {
105
119
  lifecycle?: 'creating' | 'unused' | 'unbound' | 'bound' | 'deleted' | 'repairing';
106
120
  storageDeviceId?: string;
121
+ oldStorageDeviceIds?: string[];
122
+ resourceName?: string;
107
123
  index: number;
108
124
  currentSize: number;
109
125
  currentBytesUsed?: number;
@@ -114,6 +130,7 @@ export interface DeleteVolumeStatus {
114
130
  attributes?: {
115
131
  [x: string]: string;
116
132
  };
133
+ zone?: string;
117
134
  };
118
135
  stage: 'delete-snapshots' | 'delete-volume' | 'finalize-volume-deletion' | 'update-volume-set';
119
136
  messages?: string[];
@@ -163,26 +180,15 @@ export interface DeleteVolumeSetSpec {
163
180
  created?: Date;
164
181
  lastModified?: Date;
165
182
  links?: Links;
166
- spec: {
167
- initialCapacity: number;
168
- performanceClass: 'general-purpose-ssd' | 'high-throughput-ssd';
169
- storageClassSuffix?: string;
170
- fileSystemType?: 'xfs' | 'ext4';
171
- snapshots?: SnapshotSpec;
172
- autoscaling?: {
173
- maxCapacity?: number;
174
- minFreePercentage?: number;
175
- scalingFactor?: number;
176
- };
177
- };
183
+ spec: VolumeSetSpec;
178
184
  status?: VolumeSetStatus;
179
185
  gvc?: any;
180
186
  };
181
187
  }
182
188
  export interface DeleteVolumeSetLocationStatus {
183
- stage: 'delete-volumes' | 'delete-orphaned-volumes' | 'complete';
189
+ stage: 'delete-volumes' | 'delete-orphaned-volumes' | 'cleanup-filesystem' | 'complete';
184
190
  volumes?: {
185
- [x: string]: DeleteVolumeStatus;
191
+ [x: string]: DeleteCloudDevicesStatus;
186
192
  };
187
193
  }
188
194
  export interface DeleteVolumeSetStatus {
@@ -10,4 +10,10 @@ export interface ContainerStatus {
10
10
  ready?: boolean;
11
11
  resources?: DeploymentResources;
12
12
  message?: string;
13
+ restarts?: {
14
+ lastRestartTime?: Date;
15
+ exitCode?: number;
16
+ reason?: string;
17
+ count?: number;
18
+ };
13
19
  }
@@ -0,0 +1,39 @@
1
+ export interface CrmEvent {
2
+ id?: string;
3
+ created?: Date;
4
+ delivered?: Date;
5
+ payload?: {
6
+ orgCreated?: {
7
+ version: number;
8
+ name: string;
9
+ accountId: string;
10
+ };
11
+ orgUserCreated?: {
12
+ version: number;
13
+ org: string;
14
+ accountId: string;
15
+ email: string;
16
+ };
17
+ orgUserRemoved?: {
18
+ version: number;
19
+ org: string;
20
+ accountId: string;
21
+ email: string;
22
+ };
23
+ accountCreated?: {
24
+ version: number;
25
+ name: string;
26
+ id: string;
27
+ };
28
+ accountUserCreated?: {
29
+ version: number;
30
+ accountId: string;
31
+ email: string;
32
+ };
33
+ accountUserRemoved?: {
34
+ version: number;
35
+ accountId: string;
36
+ email: string;
37
+ };
38
+ };
39
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* auto-generated */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,7 @@
1
1
  import { ContainerStatus } from './containerstatus';
2
2
  export interface JobExecutionCondition {
3
- status?: 'True' | 'False' | 'Unknown';
4
- type: 'Complete' | 'Failed' | 'Suspended';
3
+ status?: string;
4
+ type: string;
5
5
  lastDetectionTime?: Date;
6
6
  lastTransitionTime?: Date;
7
7
  message?: string;
@@ -14,6 +14,7 @@ export interface JobExecutionStatus {
14
14
  completionTime?: Date;
15
15
  conditions?: JobExecutionCondition[];
16
16
  name: string;
17
+ replica?: string;
17
18
  containers?: {
18
19
  [x: string]: ContainerStatus;
19
20
  };
@@ -11,6 +11,7 @@ export interface DeploymentVersion {
11
11
  };
12
12
  ready?: boolean;
13
13
  message?: string;
14
+ zone?: string;
14
15
  }
15
16
  export interface DeploymentStatus {
16
17
  endpoint?: string;
@@ -14,6 +14,7 @@ export interface Discovery {
14
14
  "billing-ng"?: string;
15
15
  grafana?: string;
16
16
  "terraform-exporter"?: string;
17
+ "k8s-crd-exporter"?: string;
17
18
  };
18
19
  firebase?: {
19
20
  apiKey?: string;
@@ -1,4 +1,10 @@
1
1
  import { LocalLink, Kind, Tags, Links } from './base';
2
+ export type EnvoyHeaderValue = string;
3
+ export interface HeaderOperation {
4
+ set?: {
5
+ [x: string]: EnvoyHeaderValue;
6
+ };
7
+ }
2
8
  export interface Route {
3
9
  replacePrefix?: string;
4
10
  regex?: string;
@@ -6,9 +12,14 @@ export interface Route {
6
12
  workloadLink: string;
7
13
  port?: number;
8
14
  hostPrefix?: string;
15
+ hostRegex?: string;
16
+ headers?: {
17
+ request?: HeaderOperation;
18
+ };
19
+ replica?: number;
9
20
  }
10
21
  export interface ExternalPortTLS {
11
- minProtocolVersion?: 'TLSV1_2' | 'TLSV1_1' | 'TLSV1_0';
22
+ minProtocolVersion?: 'TLSV1_3' | 'TLSV1_2' | 'TLSV1_1' | 'TLSV1_0';
12
23
  cipherSuites?: ('ECDHE-ECDSA-AES256-GCM-SHA384' | 'ECDHE-ECDSA-CHACHA20-POLY1305' | 'ECDHE-ECDSA-AES128-GCM-SHA256' | 'ECDHE-RSA-AES256-GCM-SHA384' | 'ECDHE-RSA-CHACHA20-POLY1305' | 'ECDHE-RSA-AES128-GCM-SHA256' | 'AES256-GCM-SHA384' | 'AES128-GCM-SHA256' | 'TLS_RSA_WITH_AES_256_GCM_SHA384' | 'TLS_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256' | 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384' | 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_CHACHA20_POLY1305_SHA256' | 'TLS_AES_256_GCM_SHA384' | 'TLS_AES_128_GCM_SHA256' | 'DES-CBC3-SHA' | 'ECDHE-RSA-AES128-SHA' | 'ECDHE-RSA-AES256-SHA' | 'AES128-SHA' | 'AES256-SHA')[];
13
24
  clientCertificate?: {
14
25
  secretLink?: string;
@@ -24,6 +35,7 @@ export interface ExternalPort {
24
35
  cors?: {
25
36
  allowOrigins?: {
26
37
  exact?: string;
38
+ regex?: string;
27
39
  }[];
28
40
  allowMethods?: string[];
29
41
  allowHeaders?: string[];
@@ -32,7 +44,7 @@ export interface ExternalPort {
32
44
  allowCredentials?: boolean;
33
45
  };
34
46
  tls?: {
35
- minProtocolVersion?: 'TLSV1_2' | 'TLSV1_1' | 'TLSV1_0';
47
+ minProtocolVersion?: 'TLSV1_3' | 'TLSV1_2' | 'TLSV1_1' | 'TLSV1_0';
36
48
  cipherSuites?: ('ECDHE-ECDSA-AES256-GCM-SHA384' | 'ECDHE-ECDSA-CHACHA20-POLY1305' | 'ECDHE-ECDSA-AES128-GCM-SHA256' | 'ECDHE-RSA-AES256-GCM-SHA384' | 'ECDHE-RSA-CHACHA20-POLY1305' | 'ECDHE-RSA-AES128-GCM-SHA256' | 'AES256-GCM-SHA384' | 'AES128-GCM-SHA256' | 'TLS_RSA_WITH_AES_256_GCM_SHA384' | 'TLS_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256' | 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384' | 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_CHACHA20_POLY1305_SHA256' | 'TLS_AES_256_GCM_SHA384' | 'TLS_AES_128_GCM_SHA256' | 'DES-CBC3-SHA' | 'ECDHE-RSA-AES128-SHA' | 'ECDHE-RSA-AES256-SHA' | 'AES128-SHA' | 'AES256-SHA')[];
37
49
  clientCertificate?: {
38
50
  secretLink?: string;
@@ -42,10 +54,14 @@ export interface ExternalPort {
42
54
  };
43
55
  };
44
56
  }
57
+ export type CertChallengeType = 'http01' | 'dns01';
45
58
  export interface DomainSpec {
46
59
  dnsMode?: 'cname' | 'ns';
47
60
  gvcLink?: string;
61
+ certChallengeType?: 'http01' | 'dns01';
62
+ workloadLink?: string;
48
63
  acceptAllHosts?: boolean;
64
+ acceptAllSubdomains?: boolean;
49
65
  ports?: ExternalPort[];
50
66
  }
51
67
  export interface DnsConfigRecord {
@@ -59,7 +75,7 @@ export interface DomainStatus {
59
75
  url: string;
60
76
  workloadLink?: LocalLink;
61
77
  }[];
62
- status?: 'initializing' | 'ready' | 'pendingDnsConfig' | 'pendingCertificate' | 'usedByGvc' | 'warning';
78
+ status?: 'initializing' | 'ready' | 'pendingDnsConfig' | 'pendingCertificate' | 'usedByGvc' | 'warning' | 'created' | 'updated' | 'deleted' | 'errored' | 'ignored';
63
79
  warning?: string;
64
80
  locations?: ({
65
81
  name: string;
@@ -132,6 +132,7 @@ export interface RouteMatch {
132
132
  }
133
133
  export interface RouteMatchRestricted {
134
134
  prefix?: string;
135
+ headers?: HeaderMatcher[];
135
136
  }
136
137
  export interface ListStringMatcher {
137
138
  patterns?: StringMatcher[];
@@ -276,10 +277,10 @@ export interface BindConfig {
276
277
  }
277
278
  export interface TransportSocket {
278
279
  name: string;
279
- typed_config?: any;
280
- }
281
- export interface TransportSocketRestricted {
282
- name: string;
280
+ typed_config?: {
281
+ "@type"?: 'type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext';
282
+ sni?: string;
283
+ };
283
284
  }
284
285
  export interface WatchedDirectory {
285
286
  path: string;
@@ -129,7 +129,7 @@ export interface ExtAuthz {
129
129
  http_service?: {
130
130
  server_uri?: HttpUri;
131
131
  path_prefix?: string;
132
- authroization_request?: {
132
+ authorization_request?: {
133
133
  allowed_headers?: ListStringMatcher;
134
134
  headers_to_add?: HeaderValue[];
135
135
  };
@@ -1,6 +1,6 @@
1
1
  export interface EventContext {
2
2
  category?: string;
3
- component?: 'actuator' | 'dns-updater' | 'scheduler' | 'iam-broker' | 'metadata-proxy';
3
+ component?: 'actuator' | 'dns-updater' | 'scheduler' | 'iam-broker' | 'metadata-proxy' | 'data-service';
4
4
  cloudProvider?: 'aws' | 'gcp' | 'azure' | 'linode' | 'byok';
5
5
  cluster?: string;
6
6
  principalLink?: string;
@@ -15,7 +15,7 @@ export interface Event {
15
15
  pinned?: boolean;
16
16
  context?: {
17
17
  category?: string;
18
- component?: 'actuator' | 'dns-updater' | 'scheduler' | 'iam-broker' | 'metadata-proxy';
18
+ component?: 'actuator' | 'dns-updater' | 'scheduler' | 'iam-broker' | 'metadata-proxy' | 'data-service';
19
19
  cloudProvider?: 'aws' | 'gcp' | 'azure' | 'linode' | 'byok';
20
20
  cluster?: string;
21
21
  principalLink?: string;
@@ -14,6 +14,7 @@ export interface GvcSpec {
14
14
  staticPlacement?: StaticPlacement;
15
15
  pullSecretLinks?: string[];
16
16
  domain?: string;
17
+ endpointNamingFormat?: 'default' | 'org';
17
18
  tracing?: Tracing;
18
19
  sidecar?: {
19
20
  envoy?: EnvoyFilters;
@@ -21,7 +22,17 @@ export interface GvcSpec {
21
22
  env?: EnvVar[];
22
23
  loadBalancer?: {
23
24
  dedicated?: boolean;
25
+ multiZone?: {
26
+ enabled?: boolean;
27
+ };
24
28
  trustedProxies?: number;
29
+ redirect?: {
30
+ class?: {
31
+ status5xx?: string;
32
+ status401?: string;
33
+ };
34
+ };
35
+ ipSet?: string;
25
36
  };
26
37
  }
27
38
  export interface Gvc {
@@ -54,4 +65,8 @@ export interface GvcConfig {
54
65
  minScale?: number;
55
66
  };
56
67
  thinProvision?: number;
68
+ largeDiskSize?: string;
69
+ capacityAI?: {
70
+ memToCpuRatio?: number;
71
+ };
57
72
  }
@@ -55,6 +55,14 @@ export interface Status {
55
55
  lastError?: string;
56
56
  usable?: boolean;
57
57
  };
58
+ gcp?: {
59
+ lastError?: string;
60
+ usable?: boolean;
61
+ };
62
+ azure?: {
63
+ lastError?: string;
64
+ usable?: boolean;
65
+ };
58
66
  }
59
67
  export interface NetworkResource {
60
68
  name: Name | string;
@@ -102,5 +110,5 @@ export interface Identity {
102
110
  memcacheAccess?: MemcacheAccess[];
103
111
  spicedbAccess?: SpicedbAccess[];
104
112
  status?: Status;
105
- gvc?: any;
113
+ gvc?: string;
106
114
  }
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ /* auto-generated */
@@ -0,0 +1,37 @@
1
+ import { Name, Kind, Tags, Links } from './base';
2
+ export interface IpAddress {
3
+ name: string;
4
+ ip: string;
5
+ id: string;
6
+ state: 'bound' | 'unbound';
7
+ created: Date;
8
+ }
9
+ export interface IpSetStatus {
10
+ ipAddresses?: IpAddress[];
11
+ error?: string;
12
+ warning?: string;
13
+ }
14
+ export interface IpSetLocation {
15
+ name: string;
16
+ retentionPolicy: 'keep' | 'free';
17
+ }
18
+ export interface IpSetSpec {
19
+ link?: string;
20
+ locations?: IpSetLocation[];
21
+ }
22
+ export interface IpSet {
23
+ id?: string;
24
+ name?: Name;
25
+ kind?: Kind;
26
+ version?: number;
27
+ description?: string;
28
+ tags?: Tags;
29
+ created?: Date;
30
+ lastModified?: Date;
31
+ links?: Links;
32
+ spec: {
33
+ link?: string;
34
+ locations?: IpSetLocation[];
35
+ };
36
+ status?: IpSetStatus;
37
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* auto-generated */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ export interface LocationDnsMessage {
2
+ org: string;
3
+ gvc: string;
4
+ gvcAlias: string;
5
+ workload: string;
6
+ operation: 'update' | 'delete';
7
+ deleteReason?: string;
8
+ name: string;
9
+ target: string;
10
+ availabilityZone?: string;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* auto-generated */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -6,10 +6,13 @@ import { OblivusProvider } from './mk8sOblivus';
6
6
  import { LambdalabsProvider } from './mk8sLambdalabs';
7
7
  import { PaperspaceProvider } from './mk8sPaperspace';
8
8
  import { EphemeralProvider } from './mk8sEphemeral';
9
- import { NonCustomizableAddonConfig, AzureAddonConfig, MetricsAddonConfig, LogsAddonConfig, NvidiaAddonConfig, AwsEFSAddonConfig, AwsECRAddonConfig, AwsELBAddonConfig, AzureACRAddonConfig, DashboardAddonStatus, AwsWorkloadIdentityAddonStatus, MetricsAddonStatus, LogsAddonStatus, AwsTrustPolicyConfig } from './mk8sAddons';
9
+ import { TritonProvider } from './mk8sTriton';
10
+ import { AzureProvider } from './mk8sAzure';
11
+ import { DigitalOceanProvider } from './mk8sDigitalOcean';
12
+ import { NonCustomizableAddonConfig, AzureAddonConfig, MetricsAddonConfig, LogsAddonConfig, RegistryMirrorConfig, NvidiaAddonConfig, AwsEFSAddonConfig, AwsECRAddonConfig, AwsELBAddonConfig, AzureACRAddonConfig, DashboardAddonStatus, AwsWorkloadIdentityAddonStatus, MetricsAddonStatus, LogsAddonStatus, AwsTrustPolicyConfig } from './mk8sAddons';
10
13
  import { Name, Kind, Tags, Links } from './base';
11
14
  export interface Mk8sSpec {
12
- version: '1.26.0' | '1.26.4' | '1.27.3' | '1.28.2' | '1.28.4';
15
+ version: '1.26.0' | '1.26.4' | '1.27.3' | '1.28.2' | '1.28.4' | '1.29.7' | '1.30.3' | '1.31.5' | '1.32.1';
13
16
  firewall?: {
14
17
  sourceCIDR: string;
15
18
  description?: string;
@@ -23,6 +26,9 @@ export interface Mk8sSpec {
23
26
  lambdalabs?: LambdalabsProvider;
24
27
  paperspace?: PaperspaceProvider;
25
28
  ephemeral?: EphemeralProvider;
29
+ triton?: TritonProvider;
30
+ azure?: AzureProvider;
31
+ digitalocean?: DigitalOceanProvider;
26
32
  };
27
33
  addOns?: {
28
34
  dashboard?: NonCustomizableAddonConfig;
@@ -31,6 +37,7 @@ export interface Mk8sSpec {
31
37
  localPathStorage?: NonCustomizableAddonConfig;
32
38
  metrics?: MetricsAddonConfig;
33
39
  logs?: LogsAddonConfig;
40
+ registryMirror?: RegistryMirrorConfig;
34
41
  nvidia?: NvidiaAddonConfig;
35
42
  awsEFS?: AwsEFSAddonConfig;
36
43
  awsECR?: AwsECRAddonConfig;
@@ -64,7 +71,7 @@ export interface Mk8sCluster {
64
71
  lastModified?: Date;
65
72
  links?: Links;
66
73
  spec: {
67
- version: '1.26.0' | '1.26.4' | '1.27.3' | '1.28.2' | '1.28.4';
74
+ version: '1.26.0' | '1.26.4' | '1.27.3' | '1.28.2' | '1.28.4' | '1.29.7' | '1.30.3' | '1.31.5' | '1.32.1';
68
75
  firewall?: {
69
76
  sourceCIDR: string;
70
77
  description?: string;
@@ -78,6 +85,9 @@ export interface Mk8sCluster {
78
85
  lambdalabs?: LambdalabsProvider;
79
86
  paperspace?: PaperspaceProvider;
80
87
  ephemeral?: EphemeralProvider;
88
+ triton?: TritonProvider;
89
+ azure?: AzureProvider;
90
+ digitalocean?: DigitalOceanProvider;
81
91
  };
82
92
  addOns?: {
83
93
  dashboard?: NonCustomizableAddonConfig;
@@ -86,6 +96,7 @@ export interface Mk8sCluster {
86
96
  localPathStorage?: NonCustomizableAddonConfig;
87
97
  metrics?: MetricsAddonConfig;
88
98
  logs?: LogsAddonConfig;
99
+ registryMirror?: RegistryMirrorConfig;
89
100
  nvidia?: NvidiaAddonConfig;
90
101
  awsEFS?: AwsEFSAddonConfig;
91
102
  awsECR?: AwsECRAddonConfig;
@@ -24,6 +24,12 @@ export interface MetricsAddonConfig {
24
24
  retainLabels?: RegularExpression;
25
25
  };
26
26
  }
27
+ export interface RegistryMirrorConfig {
28
+ mirrors?: ({
29
+ registry: string | '*';
30
+ mirrors?: string[];
31
+ })[];
32
+ }
27
33
  export interface MetricsAddonStatus {
28
34
  prometheusEndpoint?: string;
29
35
  remoteWriteConfig?: {
@@ -34,6 +40,10 @@ export interface LogsAddonConfig {
34
40
  auditEnabled?: boolean;
35
41
  includeNamespaces?: RegularExpression;
36
42
  excludeNamespaces?: RegularExpression;
43
+ docker?: boolean;
44
+ kubelet?: boolean;
45
+ kernel?: boolean;
46
+ events?: boolean;
37
47
  }
38
48
  export interface LogsAddonStatus {
39
49
  lokiAddress?: string;
@@ -1,6 +1,12 @@
1
1
  import { Labels, Taints, AutoscalerConfig } from './mk8sCommon';
2
+ export type PolicyArn = string;
3
+ export interface AssumeRoleLink {
4
+ roleArn: string;
5
+ externalId?: string;
6
+ sessionNamePrefix?: string;
7
+ }
2
8
  export interface Ami {
3
- recommended?: 'ubuntu/jammy-22.04' | 'ubuntu/jammy-22.04+nvidia' | 'ubuntu/focal-20.04' | 'ubuntu/focal-20.04+nvidia' | 'ubuntu/bionic-18.04' | 'amazon/amzn2' | 'amazon/al2023';
9
+ recommended?: 'ubuntu/jammy-22.04' | 'ubuntu/jammy-22.04+nvidia' | 'ubuntu/focal-20.04' | 'ubuntu/focal-20.04+nvidia' | 'ubuntu/noble-24.04' | 'ubuntu/noble-24.04+nvidia' | 'ubuntu/bionic-18.04' | 'amazon/amzn2' | 'amazon/al2023';
4
10
  exact?: string;
5
11
  }
6
12
  export interface AwsPool {
@@ -27,17 +33,20 @@ export interface AwsProvider {
27
33
  networking?: {
28
34
  serviceNetwork?: '10.43.0.0/16' | '192.168.0.0/16';
29
35
  podNetwork?: 'vpc' | '10.42.0.0/16' | '172.16.0.0/15' | '172.18.0.0/15' | '172.20.0.0/15' | '172.22.0.0/15' | '172.24.0.0/15' | '172.26.0.0/15' | '172.28.0.0/15' | '172.30.0.0/15';
36
+ dnsForwarder?: string;
30
37
  };
31
38
  preInstallScript?: string;
32
39
  image: {
33
- recommended?: 'ubuntu/jammy-22.04' | 'ubuntu/jammy-22.04+nvidia' | 'ubuntu/focal-20.04' | 'ubuntu/focal-20.04+nvidia' | 'ubuntu/bionic-18.04' | 'amazon/amzn2' | 'amazon/al2023';
40
+ recommended?: 'ubuntu/jammy-22.04' | 'ubuntu/jammy-22.04+nvidia' | 'ubuntu/focal-20.04' | 'ubuntu/focal-20.04+nvidia' | 'ubuntu/noble-24.04' | 'ubuntu/noble-24.04+nvidia' | 'ubuntu/bionic-18.04' | 'amazon/amzn2' | 'amazon/al2023';
34
41
  exact?: string;
35
42
  };
36
43
  deployRoleArn: string;
44
+ deployRoleChain?: AssumeRoleLink[];
37
45
  vpcId: string;
38
46
  keyPair?: string;
39
47
  diskEncryptionKeyArn?: string;
40
48
  securityGroupIds?: string[];
49
+ extraNodePolicies?: PolicyArn[];
41
50
  nodePools?: AwsPool[];
42
51
  autoscaler?: AutoscalerConfig;
43
52
  }
@@ -0,0 +1,53 @@
1
+ import { Labels, Taints, SshPublicKey, AutoscalerConfig } from './mk8sCommon';
2
+ export interface Image {
3
+ recommended?: 'ubuntu/noble-24.04' | 'ubuntu/jammy-22.04' | 'ubuntu/focal-20.04' | 'debian/bookworm-12' | 'debian/bullseye-11';
4
+ reference?: {
5
+ publisher: string;
6
+ offer: string;
7
+ sku: string;
8
+ version: string;
9
+ };
10
+ }
11
+ export interface AzurePool {
12
+ name: string;
13
+ labels?: Labels;
14
+ taints?: Taints;
15
+ size: string;
16
+ subnetId: string;
17
+ zones: number[];
18
+ overrideImage?: Image;
19
+ bootDiskSize: number;
20
+ minSize: number;
21
+ maxSize: number;
22
+ }
23
+ export interface AzureProvider {
24
+ location: 'centralus' | 'eastus2' | 'eastus' | 'southcentralus';
25
+ subscriptionId: string;
26
+ sdkSecretLink: string;
27
+ resourceGroup: string;
28
+ networking?: {
29
+ serviceNetwork?: '10.43.0.0/16' | '192.168.0.0/16';
30
+ podNetwork?: '10.42.0.0/16' | '172.16.0.0/15' | '172.18.0.0/15' | '172.20.0.0/15' | '172.22.0.0/15' | '172.24.0.0/15' | '172.26.0.0/15' | '172.28.0.0/15' | '172.30.0.0/15';
31
+ dnsForwarder?: string;
32
+ };
33
+ preInstallScript?: string;
34
+ image: {
35
+ recommended?: 'ubuntu/noble-24.04' | 'ubuntu/jammy-22.04' | 'ubuntu/focal-20.04' | 'debian/bookworm-12' | 'debian/bullseye-11';
36
+ reference?: {
37
+ publisher: string;
38
+ offer: string;
39
+ sku: string;
40
+ version: string;
41
+ };
42
+ };
43
+ sshKeys: SshPublicKey[];
44
+ networkId: string;
45
+ tags?: {
46
+ [x: string]: string;
47
+ };
48
+ nodePools?: AzurePool[];
49
+ autoscaler?: AutoscalerConfig;
50
+ }
51
+ export interface AzureProviderStatus {
52
+ [x: string]: any;
53
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* auto-generated */
3
+ Object.defineProperty(exports, "__esModule", { value: true });