35 lines
867 B
TypeScript
35 lines
867 B
TypeScript
import type { IServiceRessources } from './docker.js';
|
|
|
|
export interface IService {
|
|
id: string;
|
|
data: {
|
|
name: string;
|
|
description: string;
|
|
imageId: string;
|
|
imageVersion: string;
|
|
environment: { [key: string]: string };
|
|
/**
|
|
* the main secret bundle id, exclusive to the service
|
|
*/
|
|
secretBundleId: string;
|
|
/**
|
|
* those secret bundle ids do not belong to the service itself
|
|
* and thus live past the service lifecycle
|
|
*/
|
|
additionalSecretBundleIds?: string[];
|
|
scaleFactor: number;
|
|
balancingStrategy: 'round-robin' | 'least-connections';
|
|
ports: {
|
|
web: number;
|
|
custom?: { [domain: string]: string };
|
|
};
|
|
resources?: IServiceRessources;
|
|
domains: {
|
|
name: string;
|
|
port?: number;
|
|
protocol?: 'http' | 'https' | 'ssh';
|
|
}[];
|
|
deploymentIds: string[];
|
|
};
|
|
}
|