UNPKG

firmament-docker

Version:

Typescript classes for performing Docker operations

368 lines (367 loc) 11 kB
export interface DockerMachineDriverOptionsBase { nodeCount: number; nodeName: string; engineLabels: { role: string; affinity: string; }; } export interface DockerMachineDriverOptions extends DockerMachineDriverOptionsBase { driver: string; engineInsecureRegistry: string; } export interface DockerMachineDriverOptions_vmwarevsphere extends DockerMachineDriverOptions { vmwarevsphereUsername: string; vmwarevspherePassword: string; vmwarevsphereCpuCount: number; vmwarevsphereDiskSize: number; vmwarevsphereMemorySize: number; vmwarevsphereVcenter: string; } export interface DockerMachineDriverOptions_virtualbox extends DockerMachineDriverOptions { virtualboxCpuCount: number; virtualboxMemory: number; } export interface DockerMachineDriverOptions_openstack extends DockerMachineDriverOptions { openstackUsername: string; openstackPassword: string; openstackAuthUrl: string; openstackFlavorId: string; openstackImageId: string; openstackSecGroups: string; openstackSshUser: string; openstackFloatingipPool: string; openstackTenantName: string; } export interface DockerMachineDriverOptions_amazonec2 extends DockerMachineDriverOptions { amazonec2AccessKey: string; amazonec2Ami: string; amazonec2BlockDurationMinutes: string; amazonec2DeviceName: string; amazonec2Endpoint: string; amazonec2IamInstanceProfile: string; amazonec2InsecureTransport: string; amazonec2InstanceType: string; amazonec2KeypairName: string; amazonec2Monitoring: string; amazonec2OpenPort: string; amazonec2PrivateAddressOnly: string; amazonec2Region: string; amazonec2RequestSpotInstance: string; amazonec2Retries: string; amazonec2RootSize: string; amazonec2SecretKey: string; amazonec2SecurityGroup: string; amazonec2SessionToken: string; amazonec2SpotPrice: string; amazonec2SshKeypath: string; amazonec2SshUser: string; amazonec2SubnetId: string; amazonec2Tags: string; amazonec2UseEbsOptimizedInstance: string; amazonec2UsePrivateAddress: string; amazonec2Userdata: string; amazonec2VolumeType: string; amazonec2VpcId: string; amazonec2Zone: string; } export interface DockerServiceDescription { image: string; deploy: { labels: string[]; }; } export interface DockerVolumeDescription { driver: string; driver_opts: { type: string; device: string; o: string; }; } export interface DockerComposeYaml { services: any; volumes: any; } export interface NfsConfig { nfsUser: string; nfsPassword?: string; nfsSshKeyPath?: string; nfsSshPort?: number; exportBaseDir: string; serverAddr: string; options: string; } export interface DockerStackConfigTemplate { stackName: string; clusterPrefix: string; hostMachineDnsServer: string; defaultDockerRegistry: string; defaultDockerImageTag: string; traefikZoneName: string; nfsConfig?: NfsConfig; dockerComposeYaml: DockerComposeYaml; dockerMachineDriverOptions: DockerMachineDriverOptions; dockerMachines: { common: any; manager: DockerMachineDriverOptionsBase; workers: DockerMachineDriverOptionsBase[]; }; } export declare class DockerDescriptors { static dockerContainerConfigTemplate: ({ name: string; Image: string; DockerFilePath: string; Hostname: string; HostConfig: { Links?: undefined; PortBindings?: undefined; }; ExpressApps?: undefined; } | { name: string; Image: string; DockerFilePath: string; Hostname: string; HostConfig: { Links: string[]; PortBindings: { '3001/tcp': { HostPort: string; }[]; '8701/tcp': { HostPort: string; }[]; '3002/tcp'?: undefined; '3003/tcp'?: undefined; }; }; ExpressApps: { GitUrl: string; GitSrcBranchName: string; StrongLoopBranchName: string; StrongLoopServerUrl: string; ServiceName: string; }[]; } | { name: string; Image: string; DockerFilePath: string; Hostname: string; HostConfig: { Links: string[]; PortBindings: { '3001/tcp': { HostPort: string; }[]; '3002/tcp': { HostPort: string; }[]; '3003/tcp': { HostPort: string; }[]; '8701/tcp': { HostPort: string; }[]; }; }; ExpressApps: { GitUrl: string; GitSrcBranchName: string; StrongLoopBranchName: string; StrongLoopServerUrl: string; ServiceName: string; DoBowerInstall: boolean; ClusterSize: number; EnvironmentVariables: { PORT: number; NODE_ENV: string; }; Scripts: { StopDeployOnFailure: boolean; RelativeWorkingDir: string; Command: string; Args: string[]; }[]; }[]; })[]; static dockerContainerDefaultDescriptor: { "Hostname": string; "Domainname": string; "User": string; "AttachStdin": boolean; "AttachStdout": boolean; "AttachStderr": boolean; "Tty": boolean; "OpenStdin": boolean; "StdinOnce": boolean; "Env": string[]; "Cmd": any[]; "Entrypoint": string; "Image": string; "Labels": { "com.example.vendor": string; "com.example.license": string; "com.example.version": string; }; "Mounts": { "Name": string; "Source": string; "Destination": string; "Driver": string; "Mode": string; "RW": boolean; "Propagation": string; }[]; "WorkingDir": string; "NetworkDisabled": boolean; "MacAddress": string; "ExposedPorts": { "22/tcp": {}; }; "StopSignal": string; "HostConfig": { "Binds": string[]; "Links": string[]; "Memory": number; "MemorySwap": number; "MemoryReservation": number; "KernelMemory": number; "CpuShares": number; "CpuPeriod": number; "CpuQuota": number; "CpusetCpus": string; "CpusetMems": string; "BlkioWeight": number; "BlkioWeightDevice": {}[]; "BlkioDeviceReadBps": {}[]; "BlkioDeviceReadIOps": {}[]; "BlkioDeviceWriteBps": {}[]; "BlkioDeviceWriteIOps": {}[]; "MemorySwappiness": number; "OomKillDisable": boolean; "OomScoreAdj": number; "PortBindings": { "22/tcp": { "HostPort": string; }[]; }; "PublishAllPorts": boolean; "Privileged": boolean; "ReadonlyRootfs": boolean; "Dns": string[]; "DnsOptions": string[]; "DnsSearch": string[]; "ExtraHosts": any; "VolumesFrom": string[]; "CapAdd": string[]; "CapDrop": string[]; "GroupAdd": string[]; "RestartPolicy": { "Name": string; "MaximumRetryCount": number; }; "NetworkMode": string; "Devices": any[]; "Ulimits": {}[]; "LogConfig": { "Type": string; "Config": {}; }; "SecurityOpt": string[]; "CgroupParent": string; "VolumeDriver": string; "ShmSize": number; }; }; static dockerContainerDefaultTemplate: { "Hostname": string; "Domainname": string; "User": string; "AttachStdin": boolean; "AttachStdout": boolean; "AttachStderr": boolean; "Tty": boolean; "OpenStdin": boolean; "StdinOnce": boolean; "Env": string[]; "Cmd": any[]; "Entrypoint": string; "Image": string; "Labels": { "com.example.vendor": string; "com.example.license": string; "com.example.version": string; }; "Mounts": { "Name": string; "Source": string; "Destination": string; "Driver": string; "Mode": string; "RW": boolean; "Propagation": string; }[]; "WorkingDir": string; "NetworkDisabled": boolean; "MacAddress": string; "ExposedPorts": { "22/tcp": {}; }; "StopSignal": string; "HostConfig": { "Binds": string[]; "Links": string[]; "Memory": number; "MemorySwap": number; "MemoryReservation": number; "KernelMemory": number; "CpuShares": number; "CpuPeriod": number; "CpuQuota": number; "CpusetCpus": string; "CpusetMems": string; "BlkioWeight": number; "BlkioWeightDevice": {}[]; "BlkioDeviceReadBps": {}[]; "BlkioDeviceReadIOps": {}[]; "BlkioDeviceWriteBps": {}[]; "BlkioDeviceWriteIOps": {}[]; "MemorySwappiness": number; "OomKillDisable": boolean; "OomScoreAdj": number; "PortBindings": { "22/tcp": { "HostPort": string; }[]; }; "PublishAllPorts": boolean; "Privileged": boolean; "ReadonlyRootfs": boolean; "Dns": string[]; "DnsOptions": string[]; "DnsSearch": string[]; "ExtraHosts": any; "VolumesFrom": string[]; "CapAdd": string[]; "CapDrop": string[]; "GroupAdd": string[]; "RestartPolicy": { "Name": string; "MaximumRetryCount": number; }; "NetworkMode": string; "Devices": any[]; "Ulimits": {}[]; "LogConfig": { "Type": string; "Config": {}; }; "SecurityOpt": string[]; "CgroupParent": string; "VolumeDriver": string; "ShmSize": number; }; }[]; }