@topgroup/diginext
Version:
A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.
95 lines • 3.04 kB
TypeScript
import mongoose, { Types } from "mongoose";
import type { HiddenBodyKeys } from "../interfaces";
import type { CloudProviderType } from "../interfaces/SystemTypes";
import type { IBase } from "./Base";
import type { ICloudProvider } from "./CloudProvider";
export interface ICluster extends IBase {
/**
* Cluster name
*/
name?: string;
/**
* Cluster slug
*/
slug?: string;
/**
* Is cluster verified
*/
isVerified?: boolean;
/**
* Is this a default cluster
*/
isDefault?: boolean;
/**
* A cluster name on the cloud provider
* - **Applied for GKE & DOK only**
*/
shortName?: string;
/**
* Cluster context name (to access via `kubectl context`)
*/
contextName?: string;
/**
* Cloud provider of this cluster
*/
provider?: string | Types.ObjectId | ICloudProvider;
/**
* Short name of the cloud provider
* @example "gcloud", "digitalocean", "custom"
*/
providerShortName?: CloudProviderType;
/**
* Cloud zone of this cluster
*/
zone?: string;
/**
* Cloud region of this cluster
*/
region?: string;
/**
* [GOOGLE ONLY] Project ID of this cluster
*
* @remarks This is not a project ID of BUILD SERVER database
*/
projectID?: string;
/**
* #### `REQUIRES`
* ---
* The PRIMARY domain of this cluster
*/
primaryDomain?: string;
/**
* The PRIMARY IP ADDRESS of this cluster
*/
primaryIP?: string;
/**
* Alternative domains or project's domains of this cluster
*/
domains?: string[];
/**
* The KUBECONFIG data to access to this cluster
*/
kubeConfig?: string;
/**
* Content of the Service Account credentials to access this cluster
*/
serviceAccount?: string;
/**
* Content of the API ACCESS TOKEN to access this cluster
*/
apiAccessToken?: string;
}
export type ClusterDto = Omit<ICluster, keyof HiddenBodyKeys>;
export declare const clusterSchema: mongoose.Schema<ICluster, mongoose.Model<ICluster, any, any, any, mongoose.Document<unknown, any, ICluster> & ICluster & Required<{
_id: string | Types.ObjectId;
}>, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, ICluster, mongoose.Document<unknown, {}, mongoose.FlatRecord<ICluster>> & mongoose.FlatRecord<ICluster> & Required<{
_id: string | Types.ObjectId;
}>>;
export declare const ClusterModel: mongoose.Model<ICluster, {}, {}, {}, mongoose.Document<unknown, {}, ICluster> & ICluster & Required<{
_id: string | Types.ObjectId;
}>, mongoose.Schema<ICluster, mongoose.Model<ICluster, any, any, any, mongoose.Document<unknown, any, ICluster> & ICluster & Required<{
_id: string | Types.ObjectId;
}>, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, ICluster, mongoose.Document<unknown, {}, mongoose.FlatRecord<ICluster>> & mongoose.FlatRecord<ICluster> & Required<{
_id: string | Types.ObjectId;
}>>>;
//# sourceMappingURL=Cluster.d.ts.map