37 lines
717 B
TypeScript
37 lines
717 B
TypeScript
import * as plugins from '../plugins.js';
|
|
|
|
import { type IDockerRegistryInfo } from '../data/docker.js';
|
|
import type { IServer } from './server.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;
|
|
|
|
/**
|
|
* what servers are expected to be part of the cluster
|
|
*/
|
|
servers: IServer[];
|
|
|
|
/**
|
|
* ACME info. This is used to get SSL certificates.
|
|
*/
|
|
acmeInfo: {
|
|
serverAddress: string;
|
|
serverSecret: string;
|
|
};
|
|
|
|
sshKeys: plugins.tsclass.network.ISshKey[];
|
|
};
|
|
}
|