@controlplane/schema
Version:
Control Plane Corporation Schema
111 lines (110 loc) • 4.19 kB
TypeScript
import { GenericProvider } from './mk8sGeneric';
import { HetznerProvider } from './mk8sHetzner';
import { AwsProvider } from './mk8sAws';
import { LinodeProvider } from './mk8sLinode';
import { OblivusProvider } from './mk8sOblivus';
import { LambdalabsProvider } from './mk8sLambdalabs';
import { PaperspaceProvider } from './mk8sPaperspace';
import { EphemeralProvider } from './mk8sEphemeral';
import { TritonProvider } from './mk8sTriton';
import { AzureProvider } from './mk8sAzure';
import { DigitalOceanProvider } from './mk8sDigitalOcean';
import { NonCustomizableAddonConfig, AzureAddonConfig, MetricsAddonConfig, LogsAddonConfig, RegistryMirrorConfig, NvidiaAddonConfig, AwsEFSAddonConfig, AwsECRAddonConfig, AwsELBAddonConfig, AzureACRAddonConfig, DashboardAddonStatus, AwsWorkloadIdentityAddonStatus, MetricsAddonStatus, LogsAddonStatus, AwsTrustPolicyConfig } from './mk8sAddons';
import { Name, Kind, Tags, Links } from './base';
export interface Mk8sSpec {
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';
firewall?: {
sourceCIDR: string;
description?: string;
}[];
provider: {
generic?: GenericProvider;
hetzner?: HetznerProvider;
aws?: AwsProvider;
linode?: LinodeProvider;
oblivus?: OblivusProvider;
lambdalabs?: LambdalabsProvider;
paperspace?: PaperspaceProvider;
ephemeral?: EphemeralProvider;
triton?: TritonProvider;
azure?: AzureProvider;
digitalocean?: DigitalOceanProvider;
};
addOns?: {
dashboard?: NonCustomizableAddonConfig;
azureWorkloadIdentity?: AzureAddonConfig;
awsWorkloadIdentity?: NonCustomizableAddonConfig;
localPathStorage?: NonCustomizableAddonConfig;
metrics?: MetricsAddonConfig;
logs?: LogsAddonConfig;
registryMirror?: RegistryMirrorConfig;
nvidia?: NvidiaAddonConfig;
awsEFS?: AwsEFSAddonConfig;
awsECR?: AwsECRAddonConfig;
awsELB?: AwsELBAddonConfig;
azureACR?: AzureACRAddonConfig;
sysbox?: NonCustomizableAddonConfig;
};
}
export interface Mk8sStatus {
oidcProviderUrl?: string;
serverUrl?: string;
homeLocation?: string;
addOns?: {
dashboard?: DashboardAddonStatus;
awsWorkloadIdentity?: AwsWorkloadIdentityAddonStatus;
metrics?: MetricsAddonStatus;
logs?: LogsAddonStatus;
awsECR?: AwsTrustPolicyConfig;
awsEFS?: AwsTrustPolicyConfig;
awsELB?: AwsTrustPolicyConfig;
};
}
export interface Mk8sCluster {
id?: string;
name?: Name;
kind?: Kind;
version?: number;
description?: string;
tags?: Tags;
created?: Date;
lastModified?: Date;
links?: Links;
spec: {
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';
firewall?: {
sourceCIDR: string;
description?: string;
}[];
provider: {
generic?: GenericProvider;
hetzner?: HetznerProvider;
aws?: AwsProvider;
linode?: LinodeProvider;
oblivus?: OblivusProvider;
lambdalabs?: LambdalabsProvider;
paperspace?: PaperspaceProvider;
ephemeral?: EphemeralProvider;
triton?: TritonProvider;
azure?: AzureProvider;
digitalocean?: DigitalOceanProvider;
};
addOns?: {
dashboard?: NonCustomizableAddonConfig;
azureWorkloadIdentity?: AzureAddonConfig;
awsWorkloadIdentity?: NonCustomizableAddonConfig;
localPathStorage?: NonCustomizableAddonConfig;
metrics?: MetricsAddonConfig;
logs?: LogsAddonConfig;
registryMirror?: RegistryMirrorConfig;
nvidia?: NvidiaAddonConfig;
awsEFS?: AwsEFSAddonConfig;
awsECR?: AwsECRAddonConfig;
awsELB?: AwsELBAddonConfig;
azureACR?: AzureACRAddonConfig;
sysbox?: NonCustomizableAddonConfig;
};
};
alias?: string;
status?: Mk8sStatus;
}