interfaces/ts/data/cluster.ts
2024-05-28 01:11:22 +02:00

45 lines
846 B
TypeScript

import * as plugins from '../plugins.js';
import { type IDockerRegistryInfo } from '../data/docker.js';
import type { IServer } from './server.js';
export interface IClusterIdentifier {
clusterId: string;
clusterName: string;
jwt: string;
}
export interface ICluster {
id: string;
data: {
name: string;
jumpCode: string;
/**
* when was the jump code used
* avoid replay attacks
*/
jumpCodeUsedAt: number;
/**
* 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[];
};
}