@serve.zone/interfaces
Version:
**TypeScript interfaces for the Cloudly ecosystem.** Type-safe contracts for multi-cloud infrastructure management.
33 lines (32 loc) • 914 B
TypeScript
import * as plugins from '../plugins.js';
import type { IClusterNode } from './clusternode.js';
export interface ICluster {
id: string;
data: {
name: string;
/**
* a cluster has a machine user that governs access rights.
*/
userId: string;
/**
* how can the cluster reach cloudly
*/
cloudlyUrl?: string;
/**
* Cluster setup mode - manual by default, or auto-provision with cloud provider
*/
setupMode?: 'manual' | 'hetzner' | 'aws' | 'digitalocean';
/**
* Nodes that are part of the cluster
*/
nodes: IClusterNode[];
/**
* ACME info. This is used to get SSL certificates.
*/
acmeInfo: {
serverAddress: string;
serverSecret: string;
};
sshKeys: plugins.tsclass.network.ISshKey[];
};
}