import * as plugins from '../plugins.js'; import * as interfaces from './index.js'; import { DockerNetwork } from '../classes.network.js'; import { DockerSecret } from '../classes.secret.js'; import { DockerImage } from '../classes.image.js'; /** * Service creation descriptor supporting both string references and class instances. * Strings will be resolved to resources internally. */ export interface IServiceCreationDescriptor { name: string; /** Image tag (string) or DockerImage instance */ image: string | DockerImage; labels: interfaces.TLabels; /** Network names (strings) or DockerNetwork instances */ networks: (string | DockerNetwork)[]; networkAlias: string; /** Secret names (strings) or DockerSecret instances */ secrets: (string | DockerSecret)[]; ports: string[]; accessHostDockerSock?: boolean; resources?: { memorySizeMB?: number; volumeMounts?: plugins.tsclass.container.IVolumeMount[]; }; }