@controlplane/schema 1.0.1 → 1.0.2
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/accessreport.d.ts +18 -0
- package/build/src/interfaces/agent.d.ts +30 -0
- package/build/src/interfaces/auditctx.d.ts +17 -0
- package/build/src/interfaces/base.d.ts +37 -0
- package/build/src/interfaces/cloudaccount.d.ts +37 -0
- package/build/src/interfaces/command.d.ts +29 -0
- package/build/src/interfaces/config.d.ts +11 -0
- package/build/src/interfaces/containerstatus.d.ts +13 -0
- package/build/src/interfaces/cronjob.d.ts +20 -0
- package/build/src/interfaces/dbcluster.d.ts +42 -0
- package/build/src/interfaces/deployment.d.ts +33 -0
- package/build/src/interfaces/discovery.d.ts +21 -0
- package/build/src/interfaces/domain.d.ts +82 -0
- package/build/src/interfaces/env.d.ts +6 -0
- package/build/src/interfaces/event.d.ts +25 -0
- package/build/src/interfaces/group.d.ts +20 -0
- package/build/src/interfaces/gvc.d.ts +53 -0
- package/build/src/interfaces/identity.d.ts +102 -0
- package/build/src/interfaces/image.d.ts +25 -0
- package/build/src/interfaces/links.d.ts +0 -0
- package/build/src/interfaces/location.d.ts +31 -0
- package/build/src/interfaces/memcache.d.ts +46 -0
- package/build/src/interfaces/mk8s.d.ts +75 -0
- package/build/src/interfaces/mk8sAddons.d.ts +51 -0
- package/build/src/interfaces/mk8sAws.d.ts +37 -0
- package/build/src/interfaces/mk8sCommon.d.ts +20 -0
- package/build/src/interfaces/mk8sGeneric.d.ts +17 -0
- package/build/src/interfaces/mk8sHetzner.d.ts +33 -0
- package/build/src/interfaces/mk8sLambdalabs.d.ts +23 -0
- package/build/src/interfaces/mk8sLinode.d.ts +27 -0
- package/build/src/interfaces/mk8sOblivus.d.ts +13 -0
- package/build/src/interfaces/mk8sPaperspace.d.ts +23 -0
- package/build/src/interfaces/org.d.ts +58 -0
- package/build/src/interfaces/orgLogging.d.ts +46 -0
- package/build/src/interfaces/orgTracing.d.ts +4 -0
- package/build/src/interfaces/permissions.d.ts +14 -0
- package/build/src/interfaces/policy.d.ts +23 -0
- package/build/src/interfaces/policyMembership.d.ts +11 -0
- package/build/src/interfaces/query.d.ts +27 -0
- package/build/src/interfaces/quota.d.ts +18 -0
- package/build/src/interfaces/resourcePolicy.d.ts +13 -0
- package/build/src/interfaces/secret.d.ts +57 -0
- package/build/src/interfaces/serviceaccount.d.ts +20 -0
- package/build/src/interfaces/spicedb.d.ts +26 -0
- package/build/src/interfaces/statefulSet.d.ts +5 -0
- package/build/src/interfaces/task.d.ts +19 -0
- package/build/src/interfaces/tenant.d.ts +20 -0
- package/build/src/interfaces/tracing.d.ts +15 -0
- package/build/src/interfaces/user.d.ts +24 -0
- package/build/src/interfaces/volumeSet.d.ts +78 -0
- package/build/src/interfaces/workload.d.ts +305 -0
- package/package.json +2 -2
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Name, Kind, Tags, Links } from './base';
|
|
2
|
+
export interface MemcacheOptions {
|
|
3
|
+
evictionsDisabled?: boolean;
|
|
4
|
+
idleTimeoutSeconds?: number;
|
|
5
|
+
maxItemSizeKiB?: number;
|
|
6
|
+
maxConnections?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface ClusterSpec {
|
|
9
|
+
nodeCount: number;
|
|
10
|
+
nodeSizeGiB: number;
|
|
11
|
+
version?: '1.6.17' | '1.5.22';
|
|
12
|
+
options?: {
|
|
13
|
+
evictionsDisabled?: boolean;
|
|
14
|
+
idleTimeoutSeconds?: number;
|
|
15
|
+
maxItemSizeKiB?: number;
|
|
16
|
+
maxConnections?: number;
|
|
17
|
+
};
|
|
18
|
+
locations?: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface ClusterStatus {
|
|
21
|
+
[x: string]: any;
|
|
22
|
+
}
|
|
23
|
+
export interface MemcacheCluster {
|
|
24
|
+
id?: string;
|
|
25
|
+
name?: Name;
|
|
26
|
+
kind?: Kind;
|
|
27
|
+
version?: number;
|
|
28
|
+
description?: string;
|
|
29
|
+
tags?: Tags;
|
|
30
|
+
created?: Date;
|
|
31
|
+
lastModified?: Date;
|
|
32
|
+
links?: Links;
|
|
33
|
+
spec: {
|
|
34
|
+
nodeCount: number;
|
|
35
|
+
nodeSizeGiB: number;
|
|
36
|
+
version?: '1.6.17' | '1.5.22';
|
|
37
|
+
options?: {
|
|
38
|
+
evictionsDisabled?: boolean;
|
|
39
|
+
idleTimeoutSeconds?: number;
|
|
40
|
+
maxItemSizeKiB?: number;
|
|
41
|
+
maxConnections?: number;
|
|
42
|
+
};
|
|
43
|
+
locations?: string[];
|
|
44
|
+
};
|
|
45
|
+
status?: ClusterStatus;
|
|
46
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { GenericProvider } from './mk8sGeneric';
|
|
2
|
+
import { HetznerProvider } from './mk8sHetzner';
|
|
3
|
+
import { AwsProvider } from './mk8sAws';
|
|
4
|
+
import { LinodeProvider } from './mk8sLinode';
|
|
5
|
+
import { OblivusProvider } from './mk8sOblivus';
|
|
6
|
+
import { LambdalabsProvider } from './mk8sLambdalabs';
|
|
7
|
+
import { PaperspaceProvider } from './mk8sPaperspace';
|
|
8
|
+
import { NonCustomizableAddonConfig, AzureAddonConfig, MetricsAddonConfig, LogsAddonConfig, NvidiaAddonConfig, DashboardAddonStatus, AwsWorkloadIdentityAddonStatus, MetricsAddonStatus, LogsAddonStatus } from './mk8sAddons';
|
|
9
|
+
import { Name, Kind, Tags, Links } from './base';
|
|
10
|
+
export interface Mk8sSpec {
|
|
11
|
+
version: '1.26.0' | '1.26.4' | '1.27.3' | '1.28.2';
|
|
12
|
+
provider: {
|
|
13
|
+
generic?: GenericProvider;
|
|
14
|
+
hetzner?: HetznerProvider;
|
|
15
|
+
aws?: AwsProvider;
|
|
16
|
+
linode?: LinodeProvider;
|
|
17
|
+
oblivus?: OblivusProvider;
|
|
18
|
+
lambdalabs?: LambdalabsProvider;
|
|
19
|
+
paperspace?: PaperspaceProvider;
|
|
20
|
+
};
|
|
21
|
+
addOns?: {
|
|
22
|
+
dashboard?: NonCustomizableAddonConfig;
|
|
23
|
+
azureWorkloadIdentity?: AzureAddonConfig;
|
|
24
|
+
awsWorkloadIdentity?: NonCustomizableAddonConfig;
|
|
25
|
+
localPathStorage?: NonCustomizableAddonConfig;
|
|
26
|
+
metrics?: MetricsAddonConfig;
|
|
27
|
+
logs?: LogsAddonConfig;
|
|
28
|
+
nvidia?: NvidiaAddonConfig;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface Mk8sStatus {
|
|
32
|
+
oidcProviderUrl?: string;
|
|
33
|
+
serverUrl?: string;
|
|
34
|
+
homeLocation?: string;
|
|
35
|
+
addOns?: {
|
|
36
|
+
dashboard?: DashboardAddonStatus;
|
|
37
|
+
awsWorkloadIdentity?: AwsWorkloadIdentityAddonStatus;
|
|
38
|
+
metrics?: MetricsAddonStatus;
|
|
39
|
+
logs?: LogsAddonStatus;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export interface Mk8sCluster {
|
|
43
|
+
id?: string;
|
|
44
|
+
name?: Name;
|
|
45
|
+
kind?: Kind;
|
|
46
|
+
version?: number;
|
|
47
|
+
description?: string;
|
|
48
|
+
tags?: Tags;
|
|
49
|
+
created?: Date;
|
|
50
|
+
lastModified?: Date;
|
|
51
|
+
links?: Links;
|
|
52
|
+
spec: {
|
|
53
|
+
version: '1.26.0' | '1.26.4' | '1.27.3' | '1.28.2';
|
|
54
|
+
provider: {
|
|
55
|
+
generic?: GenericProvider;
|
|
56
|
+
hetzner?: HetznerProvider;
|
|
57
|
+
aws?: AwsProvider;
|
|
58
|
+
linode?: LinodeProvider;
|
|
59
|
+
oblivus?: OblivusProvider;
|
|
60
|
+
lambdalabs?: LambdalabsProvider;
|
|
61
|
+
paperspace?: PaperspaceProvider;
|
|
62
|
+
};
|
|
63
|
+
addOns?: {
|
|
64
|
+
dashboard?: NonCustomizableAddonConfig;
|
|
65
|
+
azureWorkloadIdentity?: AzureAddonConfig;
|
|
66
|
+
awsWorkloadIdentity?: NonCustomizableAddonConfig;
|
|
67
|
+
localPathStorage?: NonCustomizableAddonConfig;
|
|
68
|
+
metrics?: MetricsAddonConfig;
|
|
69
|
+
logs?: LogsAddonConfig;
|
|
70
|
+
nvidia?: NvidiaAddonConfig;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
alias?: string;
|
|
74
|
+
status?: Mk8sStatus;
|
|
75
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export type RegularExpression = string;
|
|
2
|
+
export interface FlexibleAddonConfig {
|
|
3
|
+
[x: string]: string;
|
|
4
|
+
}
|
|
5
|
+
export interface NonCustomizableAddonConfig {
|
|
6
|
+
}
|
|
7
|
+
export interface AzureAddonConfig {
|
|
8
|
+
tenantId?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface MetricsAddonConfig {
|
|
11
|
+
retentionDays?: number;
|
|
12
|
+
kubeState?: boolean;
|
|
13
|
+
nodeExporter?: boolean;
|
|
14
|
+
cadvisor?: boolean;
|
|
15
|
+
scrapeAnnotated?: {
|
|
16
|
+
intervalSeconds?: number;
|
|
17
|
+
includeNamespaces?: RegularExpression;
|
|
18
|
+
excludeNamespaces?: RegularExpression;
|
|
19
|
+
retainLabels?: RegularExpression;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface MetricsAddonStatus {
|
|
23
|
+
prometheusEndpoint?: string;
|
|
24
|
+
remoteWriteConfig?: {
|
|
25
|
+
[x: string]: any;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export interface LogsAddonConfig {
|
|
29
|
+
retentionDays?: number;
|
|
30
|
+
auditEnabled?: boolean;
|
|
31
|
+
includeNamespaces?: RegularExpression;
|
|
32
|
+
excludeNamespaces?: RegularExpression;
|
|
33
|
+
}
|
|
34
|
+
export interface LogsAddonStatus {
|
|
35
|
+
lokiAddress?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface DashboardAddonStatus {
|
|
38
|
+
url?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface AwsWorkloadIdentityAddonStatus {
|
|
41
|
+
oidcProviderConfig?: {
|
|
42
|
+
providerUrl?: string;
|
|
43
|
+
audience?: string;
|
|
44
|
+
};
|
|
45
|
+
trustPolicy?: {
|
|
46
|
+
[x: string]: any;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export interface NvidiaAddonConfig {
|
|
50
|
+
taintGPUNodes?: boolean;
|
|
51
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Labels, Taints } from './mk8sCommon';
|
|
2
|
+
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';
|
|
4
|
+
exact?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface AwsPool {
|
|
7
|
+
name: string;
|
|
8
|
+
labels?: Labels;
|
|
9
|
+
taints?: Taints;
|
|
10
|
+
instanceTypes: string[];
|
|
11
|
+
overrideImage?: Ami;
|
|
12
|
+
bootDiskSize: number;
|
|
13
|
+
minSize: number;
|
|
14
|
+
maxSize: number;
|
|
15
|
+
onDemandBaseCapacity?: number;
|
|
16
|
+
onDemandPercentageAboveBaseCapacity?: number;
|
|
17
|
+
spotAllocationStrategy?: 'lowest-price' | 'capacity-optimized' | 'capacity-optimized-prioritized' | 'price-capacity-optimized';
|
|
18
|
+
subnetIds: string[];
|
|
19
|
+
extraSecurityGroupIds?: string[];
|
|
20
|
+
}
|
|
21
|
+
export interface AwsProvider {
|
|
22
|
+
region: 'af-south-1' | 'ap-east-1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-south-2' | 'ap-southeast-1' | 'ap-southeast-2' | 'ap-southeast-3' | 'ap-southeast-4' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-south-1' | 'eu-south-2' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'me-central-1' | 'me-south-1' | 'sa-east-1' | 'us-east-1' | 'us-east-2' | 'us-west-1' | 'us-west-2';
|
|
23
|
+
skipCreateRoles?: boolean;
|
|
24
|
+
image: {
|
|
25
|
+
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';
|
|
26
|
+
exact?: string;
|
|
27
|
+
};
|
|
28
|
+
deployRoleArn: string;
|
|
29
|
+
vpcId: string;
|
|
30
|
+
keyPair?: string;
|
|
31
|
+
diskEncryptionKeyArn?: string;
|
|
32
|
+
securityGroupIds?: string[];
|
|
33
|
+
nodePools?: AwsPool[];
|
|
34
|
+
}
|
|
35
|
+
export interface AwsProviderStatus {
|
|
36
|
+
[x: string]: any;
|
|
37
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type GoDuration = string;
|
|
2
|
+
export interface Labels {
|
|
3
|
+
[x: string]: string;
|
|
4
|
+
}
|
|
5
|
+
export interface Taint {
|
|
6
|
+
key?: string;
|
|
7
|
+
value?: string;
|
|
8
|
+
effect?: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
|
|
9
|
+
}
|
|
10
|
+
export type Taints = Taint[];
|
|
11
|
+
export type NodePoolName = string;
|
|
12
|
+
export type SshPublicKey = string;
|
|
13
|
+
export interface AutoscalerConfig {
|
|
14
|
+
expander?: ('random' | 'most-pods' | 'least-waste' | 'price' | 'priority')[];
|
|
15
|
+
}
|
|
16
|
+
export interface UnmanagedPool {
|
|
17
|
+
name: string;
|
|
18
|
+
labels?: Labels;
|
|
19
|
+
taints?: Taints;
|
|
20
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Labels, Taints } from './mk8sCommon';
|
|
2
|
+
export interface GenericPool {
|
|
3
|
+
name: string;
|
|
4
|
+
labels?: Labels;
|
|
5
|
+
taints?: Taints;
|
|
6
|
+
}
|
|
7
|
+
export interface GenericProvider {
|
|
8
|
+
location: 'aws-eu-central-1' | 'aws-us-east-2' | 'aws-us-west-2' | 'gcp-me-west1' | 'gcp-us-east1';
|
|
9
|
+
nodePools?: GenericPool[];
|
|
10
|
+
}
|
|
11
|
+
export interface GenericProviderStatus {
|
|
12
|
+
[x: string]: any;
|
|
13
|
+
}
|
|
14
|
+
export interface GenericJoinParams {
|
|
15
|
+
nodePoolName: string;
|
|
16
|
+
[x: string]: any;
|
|
17
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Labels, Taints } from './mk8sCommon';
|
|
2
|
+
export interface DedicatedServerHetznerPool {
|
|
3
|
+
name: string;
|
|
4
|
+
labels?: Labels;
|
|
5
|
+
taints?: Taints;
|
|
6
|
+
}
|
|
7
|
+
export interface HetznerPool {
|
|
8
|
+
name: string;
|
|
9
|
+
labels?: Labels;
|
|
10
|
+
taints?: Taints;
|
|
11
|
+
serverType: string;
|
|
12
|
+
overrideImage?: string;
|
|
13
|
+
minSize: number;
|
|
14
|
+
maxSize: number;
|
|
15
|
+
}
|
|
16
|
+
export interface HetznerProvider {
|
|
17
|
+
region: 'fsn1' | 'nbg1' | 'hel1' | 'ash' | 'hil';
|
|
18
|
+
tokenSecretLink: string;
|
|
19
|
+
networkId: string;
|
|
20
|
+
firewallId?: string;
|
|
21
|
+
nodePools?: HetznerPool[];
|
|
22
|
+
dedicatedServerNodePools?: DedicatedServerHetznerPool[];
|
|
23
|
+
image: string;
|
|
24
|
+
sshKey?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface HetznerProviderStatus {
|
|
27
|
+
[x: string]: any;
|
|
28
|
+
}
|
|
29
|
+
export interface HetznerJoinParams {
|
|
30
|
+
ipAddress?: string;
|
|
31
|
+
nodePoolName: string;
|
|
32
|
+
[x: string]: any;
|
|
33
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Labels, Taints, UnmanagedPool } from './mk8sCommon';
|
|
2
|
+
export interface LambdalabsPool {
|
|
3
|
+
name: string;
|
|
4
|
+
labels?: Labels;
|
|
5
|
+
taints?: Taints;
|
|
6
|
+
minSize: number;
|
|
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' | 'gpu_8x_a100' | 'gpu_8x_a100_80gb_sxm4';
|
|
9
|
+
}
|
|
10
|
+
export interface LambdalabsProvider {
|
|
11
|
+
region: 'us-south-1' | 'us-west-2' | 'us-west-1' | 'us-midwest-1' | 'us-west-3' | 'us-east-1' | 'australia-southeast-1' | 'europe-central-1' | 'asia-south-1' | 'me-west-1' | 'europe-south-1' | 'asia-northeast-1' | 'asia-northeast-2';
|
|
12
|
+
tokenSecretLink: string;
|
|
13
|
+
nodePools?: LambdalabsPool[];
|
|
14
|
+
sshKeys?: string[];
|
|
15
|
+
unmanagedNodePools?: UnmanagedPool[];
|
|
16
|
+
}
|
|
17
|
+
export interface LambdalabsProviderStatus {
|
|
18
|
+
[x: string]: any;
|
|
19
|
+
}
|
|
20
|
+
export interface LambdalabsJoinParams {
|
|
21
|
+
nodePoolName: string;
|
|
22
|
+
[x: string]: any;
|
|
23
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Labels, Taints } from './mk8sCommon';
|
|
2
|
+
export interface LinodePool {
|
|
3
|
+
name: string;
|
|
4
|
+
labels?: Labels;
|
|
5
|
+
taints?: Taints;
|
|
6
|
+
serverType: 'g6-nanode-1' | 'g6-standard-1' | 'g6-standard-2' | 'g6-standard-4' | 'g6-standard-6' | 'g6-standard-8' | 'g6-standard-16' | 'g6-standard-20' | 'g6-standard-24' | 'g6-standard-32' | 'g7-highmem-1' | 'g7-highmem-2' | 'g7-highmem-4' | 'g7-highmem-8' | 'g7-highmem-16' | 'g6-dedicated-2' | 'g6-dedicated-4' | 'g6-dedicated-8' | 'g6-dedicated-16' | 'g6-dedicated-32' | 'g6-dedicated-48' | 'g6-dedicated-50' | 'g6-dedicated-56' | 'g6-dedicated-64' | 'g1-gpu-rtx6000-1' | 'g1-gpu-rtx6000-2' | 'g1-gpu-rtx6000-3' | 'g1-gpu-rtx6000-4';
|
|
7
|
+
overrideImage?: string;
|
|
8
|
+
minSize: number;
|
|
9
|
+
maxSize: number;
|
|
10
|
+
}
|
|
11
|
+
export interface LinodeProvider {
|
|
12
|
+
region: 'us-iad' | 'us-ord' | 'fr-par' | 'us-southeast' | 'us-east' | 'eu-west' | 'eu-central';
|
|
13
|
+
tokenSecretLink: string;
|
|
14
|
+
vlanCidr: string;
|
|
15
|
+
firewall?: string;
|
|
16
|
+
nodePools?: LinodePool[];
|
|
17
|
+
image: string;
|
|
18
|
+
authorizedUsers?: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface LinodeProviderStatus {
|
|
21
|
+
[x: string]: any;
|
|
22
|
+
}
|
|
23
|
+
export interface LinodeJoinParams {
|
|
24
|
+
ipAddress?: string;
|
|
25
|
+
nodePoolName: string;
|
|
26
|
+
[x: string]: any;
|
|
27
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { UnmanagedPool } from './mk8sCommon';
|
|
2
|
+
export interface OblivusProvider {
|
|
3
|
+
datacenter: 'CHI1' | 'NYC1' | 'LAS1';
|
|
4
|
+
tokenSecretLink: string;
|
|
5
|
+
unmanagedNodePools?: UnmanagedPool[];
|
|
6
|
+
}
|
|
7
|
+
export interface OblivusProviderStatus {
|
|
8
|
+
[x: string]: any;
|
|
9
|
+
}
|
|
10
|
+
export interface OblivusJoinParams {
|
|
11
|
+
nodePoolName: string;
|
|
12
|
+
[x: string]: any;
|
|
13
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Labels, Taints, UnmanagedPool } from './mk8sCommon';
|
|
2
|
+
export interface PaperspacePool {
|
|
3
|
+
name: string;
|
|
4
|
+
labels?: Labels;
|
|
5
|
+
taints?: Taints;
|
|
6
|
+
minSize: number;
|
|
7
|
+
maxSize: number;
|
|
8
|
+
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
|
+
}
|
|
10
|
+
export interface PaperspaceProvider {
|
|
11
|
+
region: 'AMS1' | 'NY2' | 'CA1';
|
|
12
|
+
tokenSecretLink: string;
|
|
13
|
+
sharedDrives?: string[];
|
|
14
|
+
nodePools?: PaperspacePool[];
|
|
15
|
+
unmanagedNodePools?: UnmanagedPool[];
|
|
16
|
+
}
|
|
17
|
+
export interface PaperspaceProviderStatus {
|
|
18
|
+
[x: string]: any;
|
|
19
|
+
}
|
|
20
|
+
export interface PaperspaceJoinParams {
|
|
21
|
+
nodePoolName: string;
|
|
22
|
+
[x: string]: any;
|
|
23
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { S3Logging, CoralogixLogging, DatadogLogging, LogzioLogging, ElasticLogging } from './orgLogging';
|
|
2
|
+
import { Tracing } from './tracing';
|
|
3
|
+
import { Name, Kind, Tags, Links } from './base';
|
|
4
|
+
export interface OrgStatus {
|
|
5
|
+
accountLink?: string;
|
|
6
|
+
active?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface AuthConfig {
|
|
9
|
+
domainAutoMembers?: string[];
|
|
10
|
+
samlOnly?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface ObservabilityConfig {
|
|
13
|
+
logsRetentionDays?: number;
|
|
14
|
+
metricsRetentionDays?: number;
|
|
15
|
+
tracesRetentionDays?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface OrgSpec {
|
|
18
|
+
logging?: {
|
|
19
|
+
s3?: S3Logging;
|
|
20
|
+
coralogix?: CoralogixLogging;
|
|
21
|
+
datadog?: DatadogLogging;
|
|
22
|
+
logzio?: LogzioLogging;
|
|
23
|
+
elastic?: ElasticLogging;
|
|
24
|
+
};
|
|
25
|
+
extraLogging?: {
|
|
26
|
+
s3?: S3Logging;
|
|
27
|
+
coralogix?: CoralogixLogging;
|
|
28
|
+
datadog?: DatadogLogging;
|
|
29
|
+
logzio?: LogzioLogging;
|
|
30
|
+
elastic?: ElasticLogging;
|
|
31
|
+
}[];
|
|
32
|
+
tracing?: Tracing;
|
|
33
|
+
sessionTimeoutSeconds?: number;
|
|
34
|
+
authConfig?: AuthConfig;
|
|
35
|
+
observability?: ObservabilityConfig;
|
|
36
|
+
}
|
|
37
|
+
export interface Org {
|
|
38
|
+
id?: string;
|
|
39
|
+
name?: Name;
|
|
40
|
+
kind?: Kind;
|
|
41
|
+
version?: number;
|
|
42
|
+
description?: string;
|
|
43
|
+
tags?: Tags;
|
|
44
|
+
created?: Date;
|
|
45
|
+
lastModified?: Date;
|
|
46
|
+
links?: Links;
|
|
47
|
+
spec?: OrgSpec;
|
|
48
|
+
status?: OrgStatus;
|
|
49
|
+
}
|
|
50
|
+
export interface QuotaOverride {
|
|
51
|
+
name: string;
|
|
52
|
+
max: number;
|
|
53
|
+
}
|
|
54
|
+
export interface OrgConfig {
|
|
55
|
+
awsPrivateLinks?: string[];
|
|
56
|
+
gcpServiceConnects?: string[];
|
|
57
|
+
quotaOverrides?: QuotaOverride[];
|
|
58
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface S3Logging {
|
|
2
|
+
bucket: string;
|
|
3
|
+
region: string;
|
|
4
|
+
prefix?: string;
|
|
5
|
+
credentials: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DatadogLogging {
|
|
8
|
+
host: 'http-intake.logs.datadoghq.com' | 'http-intake.logs.us3.datadoghq.com' | 'http-intake.logs.us5.datadoghq.com' | 'http-intake.logs.datadoghq.eu';
|
|
9
|
+
credentials: string;
|
|
10
|
+
}
|
|
11
|
+
export interface LogzioLogging {
|
|
12
|
+
listenerHost: 'listener.logz.io' | 'listener-nl.logz.io';
|
|
13
|
+
credentials: string;
|
|
14
|
+
}
|
|
15
|
+
export interface CoralogixLogging {
|
|
16
|
+
cluster: 'coralogix.com' | 'coralogix.us' | 'app.coralogix.in' | 'app.eu2.coralogix.com' | 'app.coralogixsg.com';
|
|
17
|
+
credentials: string;
|
|
18
|
+
app?: string;
|
|
19
|
+
subsystem?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ElasticLogging {
|
|
22
|
+
aws?: {
|
|
23
|
+
host: string;
|
|
24
|
+
port: number;
|
|
25
|
+
index: string;
|
|
26
|
+
type: string;
|
|
27
|
+
credentials: string;
|
|
28
|
+
region: string;
|
|
29
|
+
};
|
|
30
|
+
elasticCloud?: {
|
|
31
|
+
index: string;
|
|
32
|
+
type: string;
|
|
33
|
+
credentials: string;
|
|
34
|
+
cloudId: string;
|
|
35
|
+
};
|
|
36
|
+
generic?: {
|
|
37
|
+
host: string;
|
|
38
|
+
port?: number;
|
|
39
|
+
path?: string;
|
|
40
|
+
index: string;
|
|
41
|
+
type: string;
|
|
42
|
+
credentials: string;
|
|
43
|
+
username?: string;
|
|
44
|
+
password?: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Links } from './base';
|
|
2
|
+
export interface Permission {
|
|
3
|
+
name: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface Permissions {
|
|
7
|
+
links?: Links;
|
|
8
|
+
kind: 'permissions';
|
|
9
|
+
targetKind: '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';
|
|
10
|
+
items: Permission[];
|
|
11
|
+
implied?: {
|
|
12
|
+
[x: string]: any;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Name, Kind, Tags, Links } from './base';
|
|
2
|
+
import { Query } from './query';
|
|
3
|
+
export interface Binding {
|
|
4
|
+
permissions: string[];
|
|
5
|
+
principalLinks: string[];
|
|
6
|
+
}
|
|
7
|
+
export interface Policy {
|
|
8
|
+
id?: string;
|
|
9
|
+
name?: Name;
|
|
10
|
+
kind?: Kind;
|
|
11
|
+
version?: number;
|
|
12
|
+
description?: string;
|
|
13
|
+
tags?: Tags;
|
|
14
|
+
created?: Date;
|
|
15
|
+
lastModified?: Date;
|
|
16
|
+
links?: Links;
|
|
17
|
+
targetKind?: Kind;
|
|
18
|
+
targetLinks?: string[];
|
|
19
|
+
targetQuery?: Query;
|
|
20
|
+
target?: 'all';
|
|
21
|
+
origin?: 'default' | 'builtin';
|
|
22
|
+
bindings?: Binding[];
|
|
23
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Kind, Link } from './base';
|
|
2
|
+
export interface Term {
|
|
3
|
+
op?: '=' | '>' | '>=' | '<' | '<=' | '!=' | '~' | 'exists' | '!exists';
|
|
4
|
+
property?: string;
|
|
5
|
+
rel?: string;
|
|
6
|
+
tag?: string;
|
|
7
|
+
value?: string | number | boolean | Date;
|
|
8
|
+
}
|
|
9
|
+
export interface Spec {
|
|
10
|
+
match?: 'all' | 'any' | 'none';
|
|
11
|
+
terms?: Term[];
|
|
12
|
+
}
|
|
13
|
+
export interface Query {
|
|
14
|
+
kind?: Kind;
|
|
15
|
+
context?: {
|
|
16
|
+
[x: string]: any;
|
|
17
|
+
};
|
|
18
|
+
fetch?: 'links' | 'items';
|
|
19
|
+
spec?: Spec;
|
|
20
|
+
}
|
|
21
|
+
export interface QueryResult {
|
|
22
|
+
kind?: 'queryresult';
|
|
23
|
+
itemKind?: Kind;
|
|
24
|
+
items: any[];
|
|
25
|
+
links: Link[];
|
|
26
|
+
query?: Query;
|
|
27
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Kind, Name, Links } from './base';
|
|
2
|
+
export interface Quota {
|
|
3
|
+
id?: string;
|
|
4
|
+
kind?: Kind;
|
|
5
|
+
version?: number;
|
|
6
|
+
description?: string;
|
|
7
|
+
name?: Name;
|
|
8
|
+
unit?: string;
|
|
9
|
+
dimensions?: {
|
|
10
|
+
[x: string]: any;
|
|
11
|
+
};
|
|
12
|
+
max?: number;
|
|
13
|
+
created?: Date;
|
|
14
|
+
lastModified?: Date;
|
|
15
|
+
current?: number;
|
|
16
|
+
origin?: 'default' | 'builtin';
|
|
17
|
+
links?: Links;
|
|
18
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Kind, Links } from './base';
|
|
2
|
+
export interface ResourcePolicy {
|
|
3
|
+
id?: string;
|
|
4
|
+
kind?: Kind;
|
|
5
|
+
version?: number;
|
|
6
|
+
created?: Date;
|
|
7
|
+
lastModified?: Date;
|
|
8
|
+
links?: Links;
|
|
9
|
+
bindings?: {
|
|
10
|
+
permissions: string[];
|
|
11
|
+
principalLinks?: string[];
|
|
12
|
+
}[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Name, Kind, Tags, Links } from './base';
|
|
2
|
+
export interface Opaque {
|
|
3
|
+
payload?: string | string;
|
|
4
|
+
encoding?: 'plain' | 'base64';
|
|
5
|
+
}
|
|
6
|
+
export interface AwsKey {
|
|
7
|
+
accessKey: string;
|
|
8
|
+
secretKey: string;
|
|
9
|
+
roleArn?: string;
|
|
10
|
+
externalId?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface EcrPull {
|
|
13
|
+
accessKey: string;
|
|
14
|
+
secretKey: string;
|
|
15
|
+
roleArn?: string;
|
|
16
|
+
repos?: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface UsernamePassword {
|
|
19
|
+
username: string;
|
|
20
|
+
password: string;
|
|
21
|
+
encoding?: 'plain' | 'base64';
|
|
22
|
+
}
|
|
23
|
+
export interface AzureConnector {
|
|
24
|
+
url: string;
|
|
25
|
+
code: string;
|
|
26
|
+
}
|
|
27
|
+
export interface Tls {
|
|
28
|
+
key?: string;
|
|
29
|
+
cert: string;
|
|
30
|
+
chain?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface KeyPair {
|
|
33
|
+
secretKey: string;
|
|
34
|
+
publicKey?: string;
|
|
35
|
+
passphrase?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface Dictionary {
|
|
38
|
+
[x: string]: string;
|
|
39
|
+
}
|
|
40
|
+
export interface NatsAccount {
|
|
41
|
+
accountId: string;
|
|
42
|
+
privateKey: string;
|
|
43
|
+
}
|
|
44
|
+
export type SecretData = Opaque | Tls | string | AwsKey | EcrPull | string | UsernamePassword | KeyPair | Dictionary | string | AzureConnector | NatsAccount;
|
|
45
|
+
export interface Secret {
|
|
46
|
+
id?: string;
|
|
47
|
+
name?: Name;
|
|
48
|
+
kind?: Kind;
|
|
49
|
+
version?: number;
|
|
50
|
+
description?: string;
|
|
51
|
+
tags?: Tags;
|
|
52
|
+
created?: Date;
|
|
53
|
+
lastModified?: Date;
|
|
54
|
+
links?: Links;
|
|
55
|
+
type?: 'opaque' | 'tls' | 'gcp' | 'aws' | 'ecr' | 'userpass' | 'keypair' | 'azure-sdk' | 'azure-connector' | 'docker' | 'dictionary' | 'nats-account';
|
|
56
|
+
data?: SecretData;
|
|
57
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Name, Kind, Tags, Links } from './base';
|
|
2
|
+
export interface ServiceAccountKey {
|
|
3
|
+
name?: string;
|
|
4
|
+
created?: Date;
|
|
5
|
+
key?: string;
|
|
6
|
+
description: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ServiceAccount {
|
|
9
|
+
id?: string;
|
|
10
|
+
name?: Name;
|
|
11
|
+
kind?: Kind;
|
|
12
|
+
version?: number;
|
|
13
|
+
description?: string;
|
|
14
|
+
tags?: Tags;
|
|
15
|
+
created?: Date;
|
|
16
|
+
lastModified?: Date;
|
|
17
|
+
links?: Links;
|
|
18
|
+
keys?: ServiceAccountKey[];
|
|
19
|
+
origin?: 'default' | 'builtin';
|
|
20
|
+
}
|