@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.
- package/build/src/interfaces/base.d.ts +6 -2
- package/build/src/interfaces/command.d.ts +25 -19
- package/build/src/interfaces/containerstatus.d.ts +6 -0
- package/build/src/interfaces/crmevent.d.ts +39 -0
- package/build/src/interfaces/crmevent.js +3 -0
- package/build/src/interfaces/cronjob.d.ts +3 -2
- package/build/src/interfaces/deployment.d.ts +1 -0
- package/build/src/interfaces/discovery.d.ts +1 -0
- package/build/src/interfaces/domain.d.ts +19 -3
- package/build/src/interfaces/envoyCommon.d.ts +5 -4
- package/build/src/interfaces/envoyHttp.d.ts +1 -1
- package/build/src/interfaces/event.d.ts +2 -2
- package/build/src/interfaces/gvc.d.ts +15 -0
- package/build/src/interfaces/identity.d.ts +9 -1
- package/build/src/interfaces/internal.d.ts +0 -0
- package/build/src/interfaces/internal.js +2 -0
- package/build/src/interfaces/ipSet.d.ts +37 -0
- package/build/src/interfaces/ipSet.js +3 -0
- package/build/src/interfaces/locationDns.d.ts +11 -0
- package/build/src/interfaces/locationDns.js +3 -0
- package/build/src/interfaces/mk8s.d.ts +14 -3
- package/build/src/interfaces/mk8sAddons.d.ts +10 -0
- package/build/src/interfaces/mk8sAws.d.ts +11 -2
- package/build/src/interfaces/mk8sAzure.d.ts +53 -0
- package/build/src/interfaces/mk8sAzure.js +3 -0
- package/build/src/interfaces/mk8sCommon.d.ts +27 -1
- package/build/src/interfaces/mk8sDigitalOcean.d.ts +32 -0
- package/build/src/interfaces/mk8sDigitalOcean.js +3 -0
- package/build/src/interfaces/mk8sGcp.d.ts +45 -0
- package/build/src/interfaces/mk8sGcp.js +3 -0
- package/build/src/interfaces/mk8sGeneric.d.ts +1 -0
- package/build/src/interfaces/mk8sHetzner.d.ts +9 -4
- package/build/src/interfaces/mk8sLambdalabs.d.ts +7 -4
- package/build/src/interfaces/mk8sLinode.d.ts +13 -5
- package/build/src/interfaces/mk8sOblivus.d.ts +14 -2
- package/build/src/interfaces/mk8sPaperspace.d.ts +6 -1
- package/build/src/interfaces/mk8sTriton.d.ts +73 -0
- package/build/src/interfaces/mk8sTriton.js +3 -0
- package/build/src/interfaces/org.d.ts +5 -2
- package/build/src/interfaces/outboxmessage.d.ts +6 -0
- package/build/src/interfaces/outboxmessage.js +3 -0
- package/build/src/interfaces/permissions.d.ts +1 -1
- package/build/src/interfaces/query.d.ts +4 -0
- package/build/src/interfaces/volumeSet.d.ts +34 -14
- package/build/src/interfaces/workload.d.ts +186 -13
- package/build/src/interfaces/workloadOptions.d.ts +65 -5
- 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
|
|
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,
|
|
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' | '
|
|
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
|
|
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]:
|
|
191
|
+
[x: string]: DeleteCloudDevicesStatus;
|
|
186
192
|
};
|
|
187
193
|
}
|
|
188
194
|
export interface DeleteVolumeSetStatus {
|
|
@@ -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
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ContainerStatus } from './containerstatus';
|
|
2
2
|
export interface JobExecutionCondition {
|
|
3
|
-
status?:
|
|
4
|
-
type:
|
|
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
|
};
|
|
@@ -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?:
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
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;
|
|
@@ -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?:
|
|
113
|
+
gvc?: string;
|
|
106
114
|
}
|
|
File without changes
|
|
@@ -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
|
+
}
|
|
@@ -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 {
|
|
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
|
+
}
|