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[];
|
||
|
};
|
||
|
}
|