@controlplane/schema 1.0.4 → 1.0.6
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/LICENSE +21 -0
- package/README.md +2 -1
- package/build/src/interfaces/base.d.ts +6 -2
- package/build/src/interfaces/command.d.ts +48 -32
- 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 +3 -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 +4 -2
- package/build/src/interfaces/gvc.d.ts +53 -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 +22 -3
- package/build/src/interfaces/mk8sAddons.d.ts +116 -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 +30 -4
- package/build/src/interfaces/mk8sDigitalOcean.d.ts +32 -0
- package/build/src/interfaces/mk8sDigitalOcean.js +3 -0
- package/build/src/interfaces/mk8sGcp.d.ts +56 -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 +74 -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 +42 -14
- package/build/src/interfaces/workload.d.ts +193 -15
- package/build/src/interfaces/workloadOptions.d.ts +86 -5
- package/package.json +1 -1
|
@@ -6,10 +6,14 @@ 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 { GcpProvider } from './mk8sGcp';
|
|
13
|
+
import { NonCustomizableAddonConfig, AzureAddonConfig, MetricsAddonConfig, LogsAddonConfig, RegistryMirrorConfig, NvidiaAddonConfig, AwsEFSAddonConfig, AwsECRAddonConfig, AwsELBAddonConfig, AzureACRAddonConfig, ByokAddonConfig, DashboardAddonStatus, AwsWorkloadIdentityAddonStatus, MetricsAddonStatus, LogsAddonStatus, AwsTrustPolicyConfig } from './mk8sAddons';
|
|
10
14
|
import { Name, Kind, Tags, Links } from './base';
|
|
11
15
|
export interface Mk8sSpec {
|
|
12
|
-
version: '1.26.0' | '1.26.4' | '1.27.3' | '1.28.2' | '1.28.4';
|
|
16
|
+
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.31.13' | '1.32.1' | '1.32.9' | '1.33.5' | '1.34.2';
|
|
13
17
|
firewall?: {
|
|
14
18
|
sourceCIDR: string;
|
|
15
19
|
description?: string;
|
|
@@ -23,20 +27,27 @@ export interface Mk8sSpec {
|
|
|
23
27
|
lambdalabs?: LambdalabsProvider;
|
|
24
28
|
paperspace?: PaperspaceProvider;
|
|
25
29
|
ephemeral?: EphemeralProvider;
|
|
30
|
+
triton?: TritonProvider;
|
|
31
|
+
azure?: AzureProvider;
|
|
32
|
+
digitalocean?: DigitalOceanProvider;
|
|
33
|
+
gcp?: GcpProvider;
|
|
26
34
|
};
|
|
27
35
|
addOns?: {
|
|
28
36
|
dashboard?: NonCustomizableAddonConfig;
|
|
37
|
+
headlamp?: NonCustomizableAddonConfig;
|
|
29
38
|
azureWorkloadIdentity?: AzureAddonConfig;
|
|
30
39
|
awsWorkloadIdentity?: NonCustomizableAddonConfig;
|
|
31
40
|
localPathStorage?: NonCustomizableAddonConfig;
|
|
32
41
|
metrics?: MetricsAddonConfig;
|
|
33
42
|
logs?: LogsAddonConfig;
|
|
43
|
+
registryMirror?: RegistryMirrorConfig;
|
|
34
44
|
nvidia?: NvidiaAddonConfig;
|
|
35
45
|
awsEFS?: AwsEFSAddonConfig;
|
|
36
46
|
awsECR?: AwsECRAddonConfig;
|
|
37
47
|
awsELB?: AwsELBAddonConfig;
|
|
38
48
|
azureACR?: AzureACRAddonConfig;
|
|
39
49
|
sysbox?: NonCustomizableAddonConfig;
|
|
50
|
+
byok?: ByokAddonConfig;
|
|
40
51
|
};
|
|
41
52
|
}
|
|
42
53
|
export interface Mk8sStatus {
|
|
@@ -45,6 +56,7 @@ export interface Mk8sStatus {
|
|
|
45
56
|
homeLocation?: string;
|
|
46
57
|
addOns?: {
|
|
47
58
|
dashboard?: DashboardAddonStatus;
|
|
59
|
+
headlamp?: DashboardAddonStatus;
|
|
48
60
|
awsWorkloadIdentity?: AwsWorkloadIdentityAddonStatus;
|
|
49
61
|
metrics?: MetricsAddonStatus;
|
|
50
62
|
logs?: LogsAddonStatus;
|
|
@@ -64,7 +76,7 @@ export interface Mk8sCluster {
|
|
|
64
76
|
lastModified?: Date;
|
|
65
77
|
links?: Links;
|
|
66
78
|
spec: {
|
|
67
|
-
version: '1.26.0' | '1.26.4' | '1.27.3' | '1.28.2' | '1.28.4';
|
|
79
|
+
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.31.13' | '1.32.1' | '1.32.9' | '1.33.5' | '1.34.2';
|
|
68
80
|
firewall?: {
|
|
69
81
|
sourceCIDR: string;
|
|
70
82
|
description?: string;
|
|
@@ -78,20 +90,27 @@ export interface Mk8sCluster {
|
|
|
78
90
|
lambdalabs?: LambdalabsProvider;
|
|
79
91
|
paperspace?: PaperspaceProvider;
|
|
80
92
|
ephemeral?: EphemeralProvider;
|
|
93
|
+
triton?: TritonProvider;
|
|
94
|
+
azure?: AzureProvider;
|
|
95
|
+
digitalocean?: DigitalOceanProvider;
|
|
96
|
+
gcp?: GcpProvider;
|
|
81
97
|
};
|
|
82
98
|
addOns?: {
|
|
83
99
|
dashboard?: NonCustomizableAddonConfig;
|
|
100
|
+
headlamp?: NonCustomizableAddonConfig;
|
|
84
101
|
azureWorkloadIdentity?: AzureAddonConfig;
|
|
85
102
|
awsWorkloadIdentity?: NonCustomizableAddonConfig;
|
|
86
103
|
localPathStorage?: NonCustomizableAddonConfig;
|
|
87
104
|
metrics?: MetricsAddonConfig;
|
|
88
105
|
logs?: LogsAddonConfig;
|
|
106
|
+
registryMirror?: RegistryMirrorConfig;
|
|
89
107
|
nvidia?: NvidiaAddonConfig;
|
|
90
108
|
awsEFS?: AwsEFSAddonConfig;
|
|
91
109
|
awsECR?: AwsECRAddonConfig;
|
|
92
110
|
awsELB?: AwsELBAddonConfig;
|
|
93
111
|
azureACR?: AzureACRAddonConfig;
|
|
94
112
|
sysbox?: NonCustomizableAddonConfig;
|
|
113
|
+
byok?: ByokAddonConfig;
|
|
95
114
|
};
|
|
96
115
|
};
|
|
97
116
|
alias?: string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Cpu, Memory } from './workload';
|
|
1
2
|
export type RegularExpression = string;
|
|
2
3
|
export interface FlexibleAddonConfig {
|
|
3
4
|
[x: string]: string;
|
|
@@ -24,6 +25,12 @@ export interface MetricsAddonConfig {
|
|
|
24
25
|
retainLabels?: RegularExpression;
|
|
25
26
|
};
|
|
26
27
|
}
|
|
28
|
+
export interface RegistryMirrorConfig {
|
|
29
|
+
mirrors?: ({
|
|
30
|
+
registry: string | '*';
|
|
31
|
+
mirrors?: string[];
|
|
32
|
+
})[];
|
|
33
|
+
}
|
|
27
34
|
export interface MetricsAddonStatus {
|
|
28
35
|
prometheusEndpoint?: string;
|
|
29
36
|
remoteWriteConfig?: {
|
|
@@ -34,6 +41,10 @@ export interface LogsAddonConfig {
|
|
|
34
41
|
auditEnabled?: boolean;
|
|
35
42
|
includeNamespaces?: RegularExpression;
|
|
36
43
|
excludeNamespaces?: RegularExpression;
|
|
44
|
+
docker?: boolean;
|
|
45
|
+
kubelet?: boolean;
|
|
46
|
+
kernel?: boolean;
|
|
47
|
+
events?: boolean;
|
|
37
48
|
}
|
|
38
49
|
export interface LogsAddonStatus {
|
|
39
50
|
lokiAddress?: string;
|
|
@@ -67,3 +78,108 @@ export interface AwsELBAddonConfig {
|
|
|
67
78
|
export interface AzureACRAddonConfig {
|
|
68
79
|
clientId: string;
|
|
69
80
|
}
|
|
81
|
+
export interface ByokAddonConfig {
|
|
82
|
+
ignoreUpdates?: boolean;
|
|
83
|
+
location: string;
|
|
84
|
+
config?: {
|
|
85
|
+
actuator?: {
|
|
86
|
+
minCpu?: Cpu;
|
|
87
|
+
maxCpu?: Cpu;
|
|
88
|
+
minMemory?: Memory;
|
|
89
|
+
maxMemory?: Memory;
|
|
90
|
+
logLevel?: 'trace' | 'info' | 'error';
|
|
91
|
+
env?: {
|
|
92
|
+
[x: string]: string;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
middlebox?: {
|
|
96
|
+
enabled?: boolean;
|
|
97
|
+
bandwidthAlertMbps?: number;
|
|
98
|
+
};
|
|
99
|
+
common?: {
|
|
100
|
+
deploymentReplicas?: number;
|
|
101
|
+
pdb?: {
|
|
102
|
+
maxUnavailable?: number;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
longhorn?: {
|
|
106
|
+
replicas?: number;
|
|
107
|
+
};
|
|
108
|
+
ingress?: {
|
|
109
|
+
cpu?: Cpu;
|
|
110
|
+
memory?: Memory;
|
|
111
|
+
targetPercent?: number;
|
|
112
|
+
};
|
|
113
|
+
istio?: {
|
|
114
|
+
istiod?: {
|
|
115
|
+
replicas?: number;
|
|
116
|
+
minCpu?: Cpu;
|
|
117
|
+
maxCpu?: Cpu;
|
|
118
|
+
minMemory?: Memory;
|
|
119
|
+
maxMemory?: Memory;
|
|
120
|
+
pdb?: number;
|
|
121
|
+
};
|
|
122
|
+
ingressgateway?: {
|
|
123
|
+
replicas?: number;
|
|
124
|
+
maxCpu?: Cpu;
|
|
125
|
+
maxMemory?: Memory;
|
|
126
|
+
};
|
|
127
|
+
sidecar?: {
|
|
128
|
+
minCpu?: Cpu;
|
|
129
|
+
minMemory?: Memory;
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
logSplitter?: {
|
|
133
|
+
minCpu?: Cpu;
|
|
134
|
+
maxCpu?: Cpu;
|
|
135
|
+
minMemory?: Memory;
|
|
136
|
+
maxMemory?: Memory;
|
|
137
|
+
memBufferSize?: string;
|
|
138
|
+
perPodRate?: number;
|
|
139
|
+
};
|
|
140
|
+
monitoring?: {
|
|
141
|
+
minMemory?: Memory;
|
|
142
|
+
maxMemory?: Memory;
|
|
143
|
+
kubeStateMetrics?: {
|
|
144
|
+
minMemory?: Memory;
|
|
145
|
+
};
|
|
146
|
+
prometheus?: {
|
|
147
|
+
main?: {
|
|
148
|
+
storage?: Memory;
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
redis?: {
|
|
153
|
+
minCpu?: Cpu;
|
|
154
|
+
maxCpu?: Cpu;
|
|
155
|
+
minMemory?: Memory;
|
|
156
|
+
maxMemory?: Memory;
|
|
157
|
+
storage?: Memory;
|
|
158
|
+
};
|
|
159
|
+
redisHa?: {
|
|
160
|
+
minCpu?: Cpu;
|
|
161
|
+
maxCpu?: Cpu;
|
|
162
|
+
minMemory?: Memory;
|
|
163
|
+
maxMemory?: Memory;
|
|
164
|
+
storage?: number;
|
|
165
|
+
};
|
|
166
|
+
redisSentinel?: {
|
|
167
|
+
minCpu?: Cpu;
|
|
168
|
+
maxCpu?: Cpu;
|
|
169
|
+
minMemory?: Memory;
|
|
170
|
+
maxMemory?: Memory;
|
|
171
|
+
storage?: number;
|
|
172
|
+
};
|
|
173
|
+
tempoAgent?: {
|
|
174
|
+
minCpu?: Cpu;
|
|
175
|
+
minMemory?: Memory;
|
|
176
|
+
};
|
|
177
|
+
internalDns?: {
|
|
178
|
+
minCpu?: Cpu;
|
|
179
|
+
maxCpu?: Cpu;
|
|
180
|
+
minMemory?: Memory;
|
|
181
|
+
maxMemory?: Memory;
|
|
182
|
+
};
|
|
183
|
+
[x: string]: any;
|
|
184
|
+
};
|
|
185
|
+
}
|
|
@@ -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: string;
|
|
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
|
+
}
|
|
@@ -11,10 +11,10 @@ export type Taints = Taint[];
|
|
|
11
11
|
export type NodePoolName = string;
|
|
12
12
|
export type SshPublicKey = string;
|
|
13
13
|
export interface AutoscalerConfig {
|
|
14
|
-
expander
|
|
15
|
-
unneededTime
|
|
16
|
-
unreadyTime
|
|
17
|
-
utilizationThreshold
|
|
14
|
+
expander?: ('random' | 'most-pods' | 'least-waste' | 'price')[];
|
|
15
|
+
unneededTime?: string;
|
|
16
|
+
unreadyTime?: string;
|
|
17
|
+
utilizationThreshold?: number;
|
|
18
18
|
}
|
|
19
19
|
export interface UnmanagedPool {
|
|
20
20
|
name: string;
|
|
@@ -22,3 +22,29 @@ export interface UnmanagedPool {
|
|
|
22
22
|
taints?: Taints;
|
|
23
23
|
}
|
|
24
24
|
export type PreInstallScript = string;
|
|
25
|
+
export interface CacertsRes {
|
|
26
|
+
cacerts?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface ReadyRes {
|
|
29
|
+
ready?: boolean;
|
|
30
|
+
message?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface JoinBody {
|
|
33
|
+
[x: string]: any;
|
|
34
|
+
}
|
|
35
|
+
export interface JoinRes {
|
|
36
|
+
script?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface InitBody {
|
|
39
|
+
[x: string]: any;
|
|
40
|
+
}
|
|
41
|
+
export interface InitRes {
|
|
42
|
+
script?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface KubeConfigBody {
|
|
45
|
+
[x: string]: any;
|
|
46
|
+
}
|
|
47
|
+
export interface KubeConfigRes {
|
|
48
|
+
kubeconfig?: string;
|
|
49
|
+
fileName?: string;
|
|
50
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Labels, Taints, PreInstallScript, SshPublicKey, AutoscalerConfig } from './mk8sCommon';
|
|
2
|
+
export type ValidTag = string;
|
|
3
|
+
export interface DigitalOceanPool {
|
|
4
|
+
name: string;
|
|
5
|
+
labels?: Labels;
|
|
6
|
+
taints?: Taints;
|
|
7
|
+
dropletSize: string;
|
|
8
|
+
overrideImage?: string;
|
|
9
|
+
minSize: number;
|
|
10
|
+
maxSize: number;
|
|
11
|
+
}
|
|
12
|
+
export interface DigitalOceanProvider {
|
|
13
|
+
region: 'ams3' | 'blr1' | 'fra1' | 'lon1' | 'nyc1' | 'nyc2' | 'nyc3' | 'sfo2' | 'sfo3' | 'sgp1' | 'syd1' | 'tor1';
|
|
14
|
+
digitalOceanTags?: ValidTag[];
|
|
15
|
+
networking?: {
|
|
16
|
+
serviceNetwork?: '10.43.0.0/16' | '192.168.0.0/16';
|
|
17
|
+
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';
|
|
18
|
+
dnsForwarder?: string;
|
|
19
|
+
};
|
|
20
|
+
preInstallScript?: PreInstallScript;
|
|
21
|
+
tokenSecretLink: string;
|
|
22
|
+
vpcId: string;
|
|
23
|
+
nodePools?: DigitalOceanPool[];
|
|
24
|
+
image: string;
|
|
25
|
+
sshKeys: string[];
|
|
26
|
+
extraSshKeys?: SshPublicKey[];
|
|
27
|
+
autoscaler?: AutoscalerConfig;
|
|
28
|
+
reservedIPs?: string[];
|
|
29
|
+
}
|
|
30
|
+
export interface DigitalOceanProviderStatus {
|
|
31
|
+
[x: string]: any;
|
|
32
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Labels, Taints, PreInstallScript, AutoscalerConfig } from './mk8sCommon';
|
|
2
|
+
export interface Image {
|
|
3
|
+
recommended?: 'ubuntu/jammy-22.04' | 'ubuntu/noble-24.04' | 'debian/bookworm-12' | 'debian/trixie-13' | 'google/cos-stable';
|
|
4
|
+
family?: {
|
|
5
|
+
project: string;
|
|
6
|
+
family: string;
|
|
7
|
+
};
|
|
8
|
+
exact?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface GcpPool {
|
|
11
|
+
name: string;
|
|
12
|
+
labels?: Labels;
|
|
13
|
+
taints?: Taints;
|
|
14
|
+
machineType: string;
|
|
15
|
+
assignPublicIP?: boolean;
|
|
16
|
+
zone: string;
|
|
17
|
+
overrideImage?: Image;
|
|
18
|
+
bootDiskSize: number;
|
|
19
|
+
minSize: number;
|
|
20
|
+
maxSize: number;
|
|
21
|
+
preemptible?: boolean;
|
|
22
|
+
subnet: string;
|
|
23
|
+
localPersistentDisks?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface GcpProvider {
|
|
26
|
+
projectId: string;
|
|
27
|
+
region: string;
|
|
28
|
+
labels?: {
|
|
29
|
+
[x: string]: string;
|
|
30
|
+
};
|
|
31
|
+
tags?: string[];
|
|
32
|
+
metadata?: {
|
|
33
|
+
[x: string]: string;
|
|
34
|
+
};
|
|
35
|
+
network: string;
|
|
36
|
+
saKeyLink: string;
|
|
37
|
+
networking?: {
|
|
38
|
+
serviceNetwork?: '10.43.0.0/16' | '192.168.0.0/16';
|
|
39
|
+
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';
|
|
40
|
+
dnsForwarder?: string;
|
|
41
|
+
};
|
|
42
|
+
preInstallScript?: PreInstallScript;
|
|
43
|
+
image: {
|
|
44
|
+
recommended?: 'ubuntu/jammy-22.04' | 'ubuntu/noble-24.04' | 'debian/bookworm-12' | 'debian/trixie-13' | 'google/cos-stable';
|
|
45
|
+
family?: {
|
|
46
|
+
project: string;
|
|
47
|
+
family: string;
|
|
48
|
+
};
|
|
49
|
+
exact?: string;
|
|
50
|
+
};
|
|
51
|
+
nodePools?: GcpPool[];
|
|
52
|
+
autoscaler?: AutoscalerConfig;
|
|
53
|
+
}
|
|
54
|
+
export interface GcpProviderStatus {
|
|
55
|
+
[x: string]: any;
|
|
56
|
+
}
|
|
@@ -9,6 +9,7 @@ export interface GenericProvider {
|
|
|
9
9
|
networking?: {
|
|
10
10
|
serviceNetwork?: '10.43.0.0/16' | '192.168.0.0/16';
|
|
11
11
|
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';
|
|
12
|
+
dnsForwarder?: string;
|
|
12
13
|
};
|
|
13
14
|
nodePools?: GenericPool[];
|
|
14
15
|
}
|
|
@@ -13,15 +13,17 @@ export interface HetznerPool {
|
|
|
13
13
|
minSize: number;
|
|
14
14
|
maxSize: number;
|
|
15
15
|
}
|
|
16
|
+
export interface NetworkingConfig {
|
|
17
|
+
serviceNetwork?: '10.43.0.0/16' | '192.168.0.0/16';
|
|
18
|
+
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';
|
|
19
|
+
dnsForwarder?: string;
|
|
20
|
+
}
|
|
16
21
|
export interface HetznerProvider {
|
|
17
22
|
region: 'fsn1' | 'nbg1' | 'hel1' | 'ash' | 'hil';
|
|
18
23
|
hetznerLabels?: {
|
|
19
24
|
[x: string]: string;
|
|
20
25
|
};
|
|
21
|
-
networking?:
|
|
22
|
-
serviceNetwork?: '10.43.0.0/16' | '192.168.0.0/16';
|
|
23
|
-
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';
|
|
24
|
-
};
|
|
26
|
+
networking?: NetworkingConfig;
|
|
25
27
|
preInstallScript?: PreInstallScript;
|
|
26
28
|
tokenSecretLink: string;
|
|
27
29
|
networkId: string;
|
|
@@ -31,6 +33,9 @@ export interface HetznerProvider {
|
|
|
31
33
|
image: string;
|
|
32
34
|
sshKey?: string;
|
|
33
35
|
autoscaler?: AutoscalerConfig;
|
|
36
|
+
floatingIPSelector?: {
|
|
37
|
+
[x: string]: string;
|
|
38
|
+
};
|
|
34
39
|
}
|
|
35
40
|
export interface HetznerProviderStatus {
|
|
36
41
|
[x: string]: any;
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import { Labels, Taints, UnmanagedPool } from './mk8sCommon';
|
|
1
|
+
import { Labels, Taints, UnmanagedPool, AutoscalerConfig, PreInstallScript } from './mk8sCommon';
|
|
2
2
|
export interface LambdalabsPool {
|
|
3
3
|
name: string;
|
|
4
4
|
labels?: Labels;
|
|
5
5
|
taints?: Taints;
|
|
6
6
|
minSize: number;
|
|
7
7
|
maxSize: number;
|
|
8
|
-
instanceType: 'gpu_1x_a10' | 'gpu_1x_a100' | 'gpu_1x_a100_sxm4' | 'gpu_1x_a6000' | 'gpu_1x_h100_pcie' | 'gpu_1x_rtx6000' | 'gpu_2x_a100' | 'gpu_2x_a6000' | 'gpu_4x_a100' | 'gpu_4x_a6000' | '
|
|
8
|
+
instanceType: 'cpu_4x_general' | 'gpu_1x_a10' | 'gpu_1x_a100' | 'gpu_1x_a100_sxm4' | 'gpu_1x_a6000' | 'gpu_1x_h100_pcie' | 'gpu_1x_rtx6000' | 'gpu_2x_a100' | 'gpu_2x_a6000' | 'gpu_4x_a100' | 'gpu_4x_a6000' | 'gpu_8x_a100' | 'gpu_8x_a100_80gb_sxm4' | 'gpu_8x_h100_sxm5' | 'gpu_8x_v100';
|
|
9
9
|
}
|
|
10
10
|
export interface LambdalabsProvider {
|
|
11
|
-
region: '
|
|
11
|
+
region: 'asia-northeast-1' | 'asia-northeast-2' | 'asia-south-1' | 'australia-southeast-1' | 'europe-central-1' | 'europe-south-1' | 'me-west-1' | 'us-east-1' | 'us-midwest-1' | 'us-south-1' | 'us-west-1' | 'us-west-2' | 'us-west-3';
|
|
12
12
|
tokenSecretLink: string;
|
|
13
13
|
nodePools?: LambdalabsPool[];
|
|
14
|
-
|
|
14
|
+
sshKey: string;
|
|
15
15
|
unmanagedNodePools?: UnmanagedPool[];
|
|
16
|
+
autoscaler?: AutoscalerConfig;
|
|
17
|
+
fileSystems?: string[];
|
|
18
|
+
preInstallScript?: PreInstallScript;
|
|
16
19
|
}
|
|
17
20
|
export interface LambdalabsProviderStatus {
|
|
18
21
|
[x: string]: any;
|
|
@@ -1,21 +1,29 @@
|
|
|
1
|
-
import { Labels, Taints, AutoscalerConfig } from './mk8sCommon';
|
|
1
|
+
import { Labels, Taints, PreInstallScript, AutoscalerConfig } from './mk8sCommon';
|
|
2
2
|
export interface LinodePool {
|
|
3
3
|
name: string;
|
|
4
4
|
labels?: Labels;
|
|
5
5
|
taints?: Taints;
|
|
6
|
-
serverType:
|
|
6
|
+
serverType: string;
|
|
7
7
|
overrideImage?: string;
|
|
8
|
+
subnetId: string;
|
|
8
9
|
minSize: number;
|
|
9
10
|
maxSize: number;
|
|
10
11
|
}
|
|
11
12
|
export interface LinodeProvider {
|
|
12
|
-
region:
|
|
13
|
+
region: string;
|
|
13
14
|
tokenSecretLink: string;
|
|
14
|
-
|
|
15
|
-
firewall?: string;
|
|
15
|
+
firewallId?: string;
|
|
16
16
|
nodePools?: LinodePool[];
|
|
17
17
|
image: string;
|
|
18
18
|
authorizedUsers?: string[];
|
|
19
|
+
authorizedKeys?: string[];
|
|
20
|
+
vpcId: string;
|
|
21
|
+
preInstallScript?: PreInstallScript;
|
|
22
|
+
networking?: {
|
|
23
|
+
serviceNetwork?: '10.43.0.0/16' | '192.168.0.0/16';
|
|
24
|
+
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';
|
|
25
|
+
dnsForwarder?: string;
|
|
26
|
+
};
|
|
19
27
|
autoscaler?: AutoscalerConfig;
|
|
20
28
|
}
|
|
21
29
|
export interface LinodeProviderStatus {
|
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
import { UnmanagedPool } from './mk8sCommon';
|
|
1
|
+
import { Labels, Taints, UnmanagedPool, AutoscalerConfig, PreInstallScript } from './mk8sCommon';
|
|
2
|
+
export interface OblivusPool {
|
|
3
|
+
name: string;
|
|
4
|
+
labels?: Labels;
|
|
5
|
+
taints?: Taints;
|
|
6
|
+
minSize: number;
|
|
7
|
+
maxSize: number;
|
|
8
|
+
flavor: 'A100_NVLINK_80GB_x8' | 'A100_PCIE_80GB_x1' | 'A100_PCIE_80GB_x2' | 'A100_PCIE_80GB_x4' | 'A100_PCIE_80GB_x8' | 'H100_NVLINK_80GB_x8' | 'H100_PCIE_80GB_x1' | 'H100_PCIE_80GB_x2' | 'H100_PCIE_80GB_x4' | 'H100_PCIE_80GB_x8' | 'INTEL_XEON_V3_x16' | 'INTEL_XEON_V3_x4' | 'INTEL_XEON_V3_x8' | 'L40_x1' | 'L40_x2' | 'L40_x4' | 'L40_x8' | 'RTX_A4000_x1' | 'RTX_A4000_x2' | 'RTX_A4000_x4' | 'RTX_A4000_x8' | 'RTX_A5000_x1' | 'RTX_A5000_x2' | 'RTX_A5000_x4' | 'RTX_A5000_x8' | 'RTX_A6000_x1' | 'RTX_A6000_x2' | 'RTX_A6000_x4' | 'RTX_A6000_x8';
|
|
9
|
+
}
|
|
2
10
|
export interface OblivusProvider {
|
|
3
|
-
datacenter: '
|
|
11
|
+
datacenter: 'MON1' | 'OSL1';
|
|
4
12
|
tokenSecretLink: string;
|
|
13
|
+
nodePools?: OblivusPool[];
|
|
14
|
+
sshKeys?: string[];
|
|
5
15
|
unmanagedNodePools?: UnmanagedPool[];
|
|
16
|
+
autoscaler?: AutoscalerConfig;
|
|
17
|
+
preInstallScript?: PreInstallScript;
|
|
6
18
|
}
|
|
7
19
|
export interface OblivusProviderStatus {
|
|
8
20
|
[x: string]: any;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { Labels, Taints, AutoscalerConfig, UnmanagedPool } from './mk8sCommon';
|
|
1
|
+
import { Labels, Taints, AutoscalerConfig, UnmanagedPool, PreInstallScript } from './mk8sCommon';
|
|
2
2
|
export interface PaperspacePool {
|
|
3
3
|
name: string;
|
|
4
4
|
labels?: Labels;
|
|
5
5
|
taints?: Taints;
|
|
6
6
|
minSize: number;
|
|
7
7
|
maxSize: number;
|
|
8
|
+
publicIpType: 'none' | 'dynamic' | 'static';
|
|
9
|
+
bootDiskSize?: number;
|
|
8
10
|
machineType: 'A100' | 'A100-80G' | 'A100-80Gx2' | 'A100-80Gx4' | 'A100-80Gx8' | 'A100x2' | 'A100x4' | 'A100x8' | 'A4000' | 'A4000x2' | 'A4000x4' | 'A5000' | 'A5000x2' | 'A5000x4' | 'A6000' | 'A6000x2' | 'A6000x4' | 'C10' | 'C2' | 'C3' | 'C4' | 'C5' | 'C6' | 'C7' | 'C8' | 'C9' | 'GPU+' | 'P4000' | 'P4000x2' | 'P4000x4' | 'P5000' | 'P5000x2' | 'P6000' | 'P6000x2' | 'RTX4000' | 'RTX5000' | 'RTX5000x2' | 'V100' | 'V100-32G' | 'V100-32Gx2' | 'V100-32Gx4';
|
|
9
11
|
}
|
|
10
12
|
export interface PaperspaceProvider {
|
|
@@ -14,6 +16,9 @@ export interface PaperspaceProvider {
|
|
|
14
16
|
nodePools?: PaperspacePool[];
|
|
15
17
|
autoscaler?: AutoscalerConfig;
|
|
16
18
|
unmanagedNodePools?: UnmanagedPool[];
|
|
19
|
+
preInstallScript?: PreInstallScript;
|
|
20
|
+
userIds?: string[];
|
|
21
|
+
networkId: string;
|
|
17
22
|
}
|
|
18
23
|
export interface PaperspaceProviderStatus {
|
|
19
24
|
[x: string]: any;
|