@lakutata/docker 3.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +23 -0
- package/README.md +309 -0
- package/THIRD_PARTY_NOTICES.md +299 -0
- package/dist/cjs/client/BuildContext.d.ts +22 -0
- package/dist/cjs/client/BuildContext.js +76 -0
- package/dist/cjs/client/BuildKitProgress.d.ts +81 -0
- package/dist/cjs/client/BuildKitProgress.js +195 -0
- package/dist/cjs/client/DockerClient.d.ts +196 -0
- package/dist/cjs/client/DockerClient.js +312 -0
- package/dist/cjs/client/DockerConnection.d.ts +154 -0
- package/dist/cjs/client/DockerConnection.js +397 -0
- package/dist/cjs/client/DockerIgnore.d.ts +44 -0
- package/dist/cjs/client/DockerIgnore.js +186 -0
- package/dist/cjs/client/DockerRequestError.d.ts +17 -0
- package/dist/cjs/client/DockerRequestError.js +24 -0
- package/dist/cjs/client/DockerStreams.d.ts +35 -0
- package/dist/cjs/client/DockerStreams.js +117 -0
- package/dist/cjs/client/types/ContainerCreateResponse.d.ts +7 -0
- package/dist/cjs/client/types/ContainerCreateResponse.js +2 -0
- package/dist/cjs/client/types/ContainerStopQuery.d.ts +13 -0
- package/dist/cjs/client/types/ContainerStopQuery.js +2 -0
- package/dist/cjs/client/types/DeviceMapping.d.ts +8 -0
- package/dist/cjs/client/types/DeviceMapping.js +2 -0
- package/dist/cjs/client/types/IdResponse.d.ts +6 -0
- package/dist/cjs/client/types/IdResponse.js +2 -0
- package/dist/cjs/client/types/NetworkCreateResponse.d.ts +7 -0
- package/dist/cjs/client/types/NetworkCreateResponse.js +2 -0
- package/dist/cjs/client/types/PortBinding.d.ts +10 -0
- package/dist/cjs/client/types/PortBinding.js +2 -0
- package/dist/cjs/docker/ConnectionOptionsBuilder.d.ts +128 -0
- package/dist/cjs/docker/ConnectionOptionsBuilder.js +150 -0
- package/dist/cjs/docker/Docker.d.ts +301 -0
- package/dist/cjs/docker/Docker.js +703 -0
- package/dist/cjs/docker/exceptions/DockerConnectionException.d.ts +9 -0
- package/dist/cjs/docker/exceptions/DockerConnectionException.js +16 -0
- package/dist/cjs/docker/exceptions/DockerContainerNotFoundException.d.ts +9 -0
- package/dist/cjs/docker/exceptions/DockerContainerNotFoundException.js +16 -0
- package/dist/cjs/docker/exceptions/DockerImageBuildException.d.ts +9 -0
- package/dist/cjs/docker/exceptions/DockerImageBuildException.js +16 -0
- package/dist/cjs/docker/exceptions/DockerImageImportException.d.ts +9 -0
- package/dist/cjs/docker/exceptions/DockerImageImportException.js +16 -0
- package/dist/cjs/docker/exceptions/DockerImageNotFoundException.d.ts +10 -0
- package/dist/cjs/docker/exceptions/DockerImageNotFoundException.js +17 -0
- package/dist/cjs/docker/exceptions/DockerImagePullException.d.ts +9 -0
- package/dist/cjs/docker/exceptions/DockerImagePullException.js +16 -0
- package/dist/cjs/docker/exceptions/DockerImagePushException.d.ts +8 -0
- package/dist/cjs/docker/exceptions/DockerImagePushException.js +15 -0
- package/dist/cjs/docker/exceptions/DockerImageRepoTagNotFoundException.d.ts +8 -0
- package/dist/cjs/docker/exceptions/DockerImageRepoTagNotFoundException.js +15 -0
- package/dist/cjs/docker/exceptions/DockerNetworkNotFoundException.d.ts +9 -0
- package/dist/cjs/docker/exceptions/DockerNetworkNotFoundException.js +16 -0
- package/dist/cjs/docker/exceptions/DockerRequestException.d.ts +22 -0
- package/dist/cjs/docker/exceptions/DockerRequestException.js +24 -0
- package/dist/cjs/docker/interfaces/IDockerConnectionOptions.d.ts +75 -0
- package/dist/cjs/docker/interfaces/IDockerConnectionOptions.js +2 -0
- package/dist/cjs/docker/interfaces/IDockerHttpConnectionOptions.d.ts +16 -0
- package/dist/cjs/docker/interfaces/IDockerHttpConnectionOptions.js +2 -0
- package/dist/cjs/docker/interfaces/IDockerHttpsConnectionOptions.d.ts +16 -0
- package/dist/cjs/docker/interfaces/IDockerHttpsConnectionOptions.js +2 -0
- package/dist/cjs/docker/interfaces/IDockerKeyObject.d.ts +14 -0
- package/dist/cjs/docker/interfaces/IDockerKeyObject.js +2 -0
- package/dist/cjs/docker/interfaces/IDockerSSHConnectionOptions.d.ts +16 -0
- package/dist/cjs/docker/interfaces/IDockerSSHConnectionOptions.js +2 -0
- package/dist/cjs/docker/interfaces/IDockerSocketConnectionOptions.d.ts +7 -0
- package/dist/cjs/docker/interfaces/IDockerSocketConnectionOptions.js +2 -0
- package/dist/cjs/docker/lib/DockerContainer.d.ts +315 -0
- package/dist/cjs/docker/lib/DockerContainer.js +742 -0
- package/dist/cjs/docker/lib/DockerContainerTTY.d.ts +99 -0
- package/dist/cjs/docker/lib/DockerContainerTTY.js +157 -0
- package/dist/cjs/docker/lib/DockerImage.d.ts +153 -0
- package/dist/cjs/docker/lib/DockerImage.js +273 -0
- package/dist/cjs/docker/lib/EngineSettings.d.ts +41 -0
- package/dist/cjs/docker/lib/EngineSettings.js +86 -0
- package/dist/cjs/docker/lib/ParseBaseImages.d.ts +9 -0
- package/dist/cjs/docker/lib/ParseBaseImages.js +50 -0
- package/dist/cjs/docker/lib/ParseEnvToRecord.d.ts +14 -0
- package/dist/cjs/docker/lib/ParseEnvToRecord.js +25 -0
- package/dist/cjs/docker/lib/ParseRepositoryTag.d.ts +17 -0
- package/dist/cjs/docker/lib/ParseRepositoryTag.js +48 -0
- package/dist/cjs/docker/lib/RegistryAuth.d.ts +8 -0
- package/dist/cjs/docker/lib/RegistryAuth.js +15 -0
- package/dist/cjs/docker/options/DockerPruneOptions.d.ts +38 -0
- package/dist/cjs/docker/options/DockerPruneOptions.js +47 -0
- package/dist/cjs/docker/options/auth/DockerAuthOptions.d.ts +46 -0
- package/dist/cjs/docker/options/auth/DockerAuthOptions.js +59 -0
- package/dist/cjs/docker/options/container/ContainerCommitOptions.d.ts +28 -0
- package/dist/cjs/docker/options/container/ContainerCommitOptions.js +39 -0
- package/dist/cjs/docker/options/container/ContainerCreateTTYOptions.d.ts +32 -0
- package/dist/cjs/docker/options/container/ContainerCreateTTYOptions.js +43 -0
- package/dist/cjs/docker/options/container/ContainerExecOptions.d.ts +26 -0
- package/dist/cjs/docker/options/container/ContainerExecOptions.js +38 -0
- package/dist/cjs/docker/options/container/ContainerExportDirectoryOptions.d.ts +27 -0
- package/dist/cjs/docker/options/container/ContainerExportDirectoryOptions.js +39 -0
- package/dist/cjs/docker/options/container/ContainerKillOptions.d.ts +25 -0
- package/dist/cjs/docker/options/container/ContainerKillOptions.js +36 -0
- package/dist/cjs/docker/options/container/ContainerLogsOptions.d.ts +48 -0
- package/dist/cjs/docker/options/container/ContainerLogsOptions.js +56 -0
- package/dist/cjs/docker/options/container/ContainerRemoveOptions.d.ts +22 -0
- package/dist/cjs/docker/options/container/ContainerRemoveOptions.js +34 -0
- package/dist/cjs/docker/options/container/ContainerSettingOptions.d.ts +137 -0
- package/dist/cjs/docker/options/container/ContainerSettingOptions.js +136 -0
- package/dist/cjs/docker/options/container/ContainerStopOptions.d.ts +28 -0
- package/dist/cjs/docker/options/container/ContainerStopOptions.js +40 -0
- package/dist/cjs/docker/options/container/ContainerTTYConsoleSizeOptions.d.ts +26 -0
- package/dist/cjs/docker/options/container/ContainerTTYConsoleSizeOptions.js +40 -0
- package/dist/cjs/docker/options/image/ImageBuildOptions.d.ts +117 -0
- package/dist/cjs/docker/options/image/ImageBuildOptions.js +111 -0
- package/dist/cjs/docker/options/image/ImageExportOptions.d.ts +33 -0
- package/dist/cjs/docker/options/image/ImageExportOptions.js +44 -0
- package/dist/cjs/docker/options/image/ImageImportOptions.d.ts +28 -0
- package/dist/cjs/docker/options/image/ImageImportOptions.js +42 -0
- package/dist/cjs/docker/options/image/ImagePullOptions.d.ts +49 -0
- package/dist/cjs/docker/options/image/ImagePullOptions.js +63 -0
- package/dist/cjs/docker/options/image/ImagePushOptions.d.ts +41 -0
- package/dist/cjs/docker/options/image/ImagePushOptions.js +56 -0
- package/dist/cjs/docker/options/image/ImageRemoveOptions.d.ts +26 -0
- package/dist/cjs/docker/options/image/ImageRemoveOptions.js +38 -0
- package/dist/cjs/docker/options/image/ImageTagOptions.d.ts +25 -0
- package/dist/cjs/docker/options/image/ImageTagOptions.js +38 -0
- package/dist/cjs/docker/options/network/NetworkCreateOptions.d.ts +54 -0
- package/dist/cjs/docker/options/network/NetworkCreateOptions.js +63 -0
- package/dist/cjs/docker/types/ContainerBind.d.ts +19 -0
- package/dist/cjs/docker/types/ContainerBind.js +2 -0
- package/dist/cjs/docker/types/ContainerCapability.d.ts +286 -0
- package/dist/cjs/docker/types/ContainerCapability.js +290 -0
- package/dist/cjs/docker/types/ContainerConfig.d.ts +67 -0
- package/dist/cjs/docker/types/ContainerConfig.js +2 -0
- package/dist/cjs/docker/types/ContainerDevice.d.ts +19 -0
- package/dist/cjs/docker/types/ContainerDevice.js +2 -0
- package/dist/cjs/docker/types/ContainerExecResult.d.ts +20 -0
- package/dist/cjs/docker/types/ContainerExecResult.js +2 -0
- package/dist/cjs/docker/types/ContainerNetwork.d.ts +46 -0
- package/dist/cjs/docker/types/ContainerNetwork.js +2 -0
- package/dist/cjs/docker/types/ContainerPort.d.ts +25 -0
- package/dist/cjs/docker/types/ContainerPort.js +2 -0
- package/dist/cjs/docker/types/ContainerRestartPolicy.d.ts +11 -0
- package/dist/cjs/docker/types/ContainerRestartPolicy.js +2 -0
- package/dist/cjs/docker/types/ContainerState.d.ts +48 -0
- package/dist/cjs/docker/types/ContainerState.js +2 -0
- package/dist/cjs/docker/types/ContainerStats.d.ts +408 -0
- package/dist/cjs/docker/types/ContainerStats.js +2 -0
- package/dist/cjs/docker/types/DockerOutputCallback.d.ts +8 -0
- package/dist/cjs/docker/types/DockerOutputCallback.js +2 -0
- package/dist/cjs/docker/types/ImageConfig.d.ts +34 -0
- package/dist/cjs/docker/types/ImageConfig.js +2 -0
- package/dist/cjs/docker/types/ImageExposePort.d.ts +17 -0
- package/dist/cjs/docker/types/ImageExposePort.js +2 -0
- package/dist/cjs/docker/types/NetworkInfo.d.ts +59 -0
- package/dist/cjs/docker/types/NetworkInfo.js +2 -0
- package/dist/cjs/docker/types/RepositoryTag.d.ts +15 -0
- package/dist/cjs/docker/types/RepositoryTag.js +2 -0
- package/dist/cjs/exports/Docker.d.ts +73 -0
- package/dist/cjs/exports/Docker.js +92 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/client/BuildContext.js +70 -0
- package/dist/esm/client/BuildKitProgress.js +190 -0
- package/dist/esm/client/DockerClient.js +307 -0
- package/dist/esm/client/DockerConnection.js +355 -0
- package/dist/esm/client/DockerIgnore.js +179 -0
- package/dist/esm/client/DockerRequestError.js +20 -0
- package/dist/esm/client/DockerStreams.js +111 -0
- package/dist/esm/client/types/ContainerCreateResponse.js +1 -0
- package/dist/esm/client/types/ContainerStopQuery.js +1 -0
- package/dist/esm/client/types/DeviceMapping.js +1 -0
- package/dist/esm/client/types/IdResponse.js +1 -0
- package/dist/esm/client/types/NetworkCreateResponse.js +1 -0
- package/dist/esm/client/types/PortBinding.js +1 -0
- package/dist/esm/docker/ConnectionOptionsBuilder.js +142 -0
- package/dist/esm/docker/Docker.js +697 -0
- package/dist/esm/docker/exceptions/DockerConnectionException.js +12 -0
- package/dist/esm/docker/exceptions/DockerContainerNotFoundException.js +12 -0
- package/dist/esm/docker/exceptions/DockerImageBuildException.js +12 -0
- package/dist/esm/docker/exceptions/DockerImageImportException.js +12 -0
- package/dist/esm/docker/exceptions/DockerImageNotFoundException.js +13 -0
- package/dist/esm/docker/exceptions/DockerImagePullException.js +12 -0
- package/dist/esm/docker/exceptions/DockerImagePushException.js +11 -0
- package/dist/esm/docker/exceptions/DockerImageRepoTagNotFoundException.js +11 -0
- package/dist/esm/docker/exceptions/DockerNetworkNotFoundException.js +12 -0
- package/dist/esm/docker/exceptions/DockerRequestException.js +20 -0
- package/dist/esm/docker/interfaces/IDockerConnectionOptions.js +1 -0
- package/dist/esm/docker/interfaces/IDockerHttpConnectionOptions.js +1 -0
- package/dist/esm/docker/interfaces/IDockerHttpsConnectionOptions.js +1 -0
- package/dist/esm/docker/interfaces/IDockerKeyObject.js +1 -0
- package/dist/esm/docker/interfaces/IDockerSSHConnectionOptions.js +1 -0
- package/dist/esm/docker/interfaces/IDockerSocketConnectionOptions.js +1 -0
- package/dist/esm/docker/lib/DockerContainer.js +739 -0
- package/dist/esm/docker/lib/DockerContainerTTY.js +154 -0
- package/dist/esm/docker/lib/DockerImage.js +270 -0
- package/dist/esm/docker/lib/EngineSettings.js +78 -0
- package/dist/esm/docker/lib/ParseBaseImages.js +47 -0
- package/dist/esm/docker/lib/ParseEnvToRecord.js +22 -0
- package/dist/esm/docker/lib/ParseRepositoryTag.js +45 -0
- package/dist/esm/docker/lib/RegistryAuth.js +12 -0
- package/dist/esm/docker/options/DockerPruneOptions.js +43 -0
- package/dist/esm/docker/options/auth/DockerAuthOptions.js +55 -0
- package/dist/esm/docker/options/container/ContainerCommitOptions.js +35 -0
- package/dist/esm/docker/options/container/ContainerCreateTTYOptions.js +39 -0
- package/dist/esm/docker/options/container/ContainerExecOptions.js +34 -0
- package/dist/esm/docker/options/container/ContainerExportDirectoryOptions.js +35 -0
- package/dist/esm/docker/options/container/ContainerKillOptions.js +32 -0
- package/dist/esm/docker/options/container/ContainerLogsOptions.js +52 -0
- package/dist/esm/docker/options/container/ContainerRemoveOptions.js +30 -0
- package/dist/esm/docker/options/container/ContainerSettingOptions.js +132 -0
- package/dist/esm/docker/options/container/ContainerStopOptions.js +36 -0
- package/dist/esm/docker/options/container/ContainerTTYConsoleSizeOptions.js +36 -0
- package/dist/esm/docker/options/image/ImageBuildOptions.js +107 -0
- package/dist/esm/docker/options/image/ImageExportOptions.js +40 -0
- package/dist/esm/docker/options/image/ImageImportOptions.js +38 -0
- package/dist/esm/docker/options/image/ImagePullOptions.js +59 -0
- package/dist/esm/docker/options/image/ImagePushOptions.js +52 -0
- package/dist/esm/docker/options/image/ImageRemoveOptions.js +34 -0
- package/dist/esm/docker/options/image/ImageTagOptions.js +34 -0
- package/dist/esm/docker/options/network/NetworkCreateOptions.js +59 -0
- package/dist/esm/docker/types/ContainerBind.js +1 -0
- package/dist/esm/docker/types/ContainerCapability.js +287 -0
- package/dist/esm/docker/types/ContainerConfig.js +1 -0
- package/dist/esm/docker/types/ContainerDevice.js +1 -0
- package/dist/esm/docker/types/ContainerExecResult.js +1 -0
- package/dist/esm/docker/types/ContainerNetwork.js +1 -0
- package/dist/esm/docker/types/ContainerPort.js +1 -0
- package/dist/esm/docker/types/ContainerRestartPolicy.js +1 -0
- package/dist/esm/docker/types/ContainerState.js +1 -0
- package/dist/esm/docker/types/ContainerStats.js +1 -0
- package/dist/esm/docker/types/DockerOutputCallback.js +1 -0
- package/dist/esm/docker/types/ImageConfig.js +1 -0
- package/dist/esm/docker/types/ImageExposePort.js +1 -0
- package/dist/esm/docker/types/NetworkInfo.js +1 -0
- package/dist/esm/docker/types/RepositoryTag.js +1 -0
- package/dist/esm/exports/Docker.js +73 -0
- package/dist/types/client/BuildContext.d.ts +22 -0
- package/dist/types/client/BuildKitProgress.d.ts +81 -0
- package/dist/types/client/DockerClient.d.ts +196 -0
- package/dist/types/client/DockerConnection.d.ts +154 -0
- package/dist/types/client/DockerIgnore.d.ts +44 -0
- package/dist/types/client/DockerRequestError.d.ts +17 -0
- package/dist/types/client/DockerStreams.d.ts +35 -0
- package/dist/types/client/types/ContainerCreateResponse.d.ts +7 -0
- package/dist/types/client/types/ContainerStopQuery.d.ts +13 -0
- package/dist/types/client/types/DeviceMapping.d.ts +8 -0
- package/dist/types/client/types/IdResponse.d.ts +6 -0
- package/dist/types/client/types/NetworkCreateResponse.d.ts +7 -0
- package/dist/types/client/types/PortBinding.d.ts +10 -0
- package/dist/types/docker/ConnectionOptionsBuilder.d.ts +128 -0
- package/dist/types/docker/Docker.d.ts +301 -0
- package/dist/types/docker/exceptions/DockerConnectionException.d.ts +9 -0
- package/dist/types/docker/exceptions/DockerContainerNotFoundException.d.ts +9 -0
- package/dist/types/docker/exceptions/DockerImageBuildException.d.ts +9 -0
- package/dist/types/docker/exceptions/DockerImageImportException.d.ts +9 -0
- package/dist/types/docker/exceptions/DockerImageNotFoundException.d.ts +10 -0
- package/dist/types/docker/exceptions/DockerImagePullException.d.ts +9 -0
- package/dist/types/docker/exceptions/DockerImagePushException.d.ts +8 -0
- package/dist/types/docker/exceptions/DockerImageRepoTagNotFoundException.d.ts +8 -0
- package/dist/types/docker/exceptions/DockerNetworkNotFoundException.d.ts +9 -0
- package/dist/types/docker/exceptions/DockerRequestException.d.ts +22 -0
- package/dist/types/docker/interfaces/IDockerConnectionOptions.d.ts +75 -0
- package/dist/types/docker/interfaces/IDockerHttpConnectionOptions.d.ts +16 -0
- package/dist/types/docker/interfaces/IDockerHttpsConnectionOptions.d.ts +16 -0
- package/dist/types/docker/interfaces/IDockerKeyObject.d.ts +14 -0
- package/dist/types/docker/interfaces/IDockerSSHConnectionOptions.d.ts +16 -0
- package/dist/types/docker/interfaces/IDockerSocketConnectionOptions.d.ts +7 -0
- package/dist/types/docker/lib/DockerContainer.d.ts +315 -0
- package/dist/types/docker/lib/DockerContainerTTY.d.ts +99 -0
- package/dist/types/docker/lib/DockerImage.d.ts +153 -0
- package/dist/types/docker/lib/EngineSettings.d.ts +41 -0
- package/dist/types/docker/lib/ParseBaseImages.d.ts +9 -0
- package/dist/types/docker/lib/ParseEnvToRecord.d.ts +14 -0
- package/dist/types/docker/lib/ParseRepositoryTag.d.ts +17 -0
- package/dist/types/docker/lib/RegistryAuth.d.ts +8 -0
- package/dist/types/docker/options/DockerPruneOptions.d.ts +38 -0
- package/dist/types/docker/options/auth/DockerAuthOptions.d.ts +46 -0
- package/dist/types/docker/options/container/ContainerCommitOptions.d.ts +28 -0
- package/dist/types/docker/options/container/ContainerCreateTTYOptions.d.ts +32 -0
- package/dist/types/docker/options/container/ContainerExecOptions.d.ts +26 -0
- package/dist/types/docker/options/container/ContainerExportDirectoryOptions.d.ts +27 -0
- package/dist/types/docker/options/container/ContainerKillOptions.d.ts +25 -0
- package/dist/types/docker/options/container/ContainerLogsOptions.d.ts +48 -0
- package/dist/types/docker/options/container/ContainerRemoveOptions.d.ts +22 -0
- package/dist/types/docker/options/container/ContainerSettingOptions.d.ts +137 -0
- package/dist/types/docker/options/container/ContainerStopOptions.d.ts +28 -0
- package/dist/types/docker/options/container/ContainerTTYConsoleSizeOptions.d.ts +26 -0
- package/dist/types/docker/options/image/ImageBuildOptions.d.ts +117 -0
- package/dist/types/docker/options/image/ImageExportOptions.d.ts +33 -0
- package/dist/types/docker/options/image/ImageImportOptions.d.ts +28 -0
- package/dist/types/docker/options/image/ImagePullOptions.d.ts +49 -0
- package/dist/types/docker/options/image/ImagePushOptions.d.ts +41 -0
- package/dist/types/docker/options/image/ImageRemoveOptions.d.ts +26 -0
- package/dist/types/docker/options/image/ImageTagOptions.d.ts +25 -0
- package/dist/types/docker/options/network/NetworkCreateOptions.d.ts +54 -0
- package/dist/types/docker/types/ContainerBind.d.ts +19 -0
- package/dist/types/docker/types/ContainerCapability.d.ts +286 -0
- package/dist/types/docker/types/ContainerConfig.d.ts +67 -0
- package/dist/types/docker/types/ContainerDevice.d.ts +19 -0
- package/dist/types/docker/types/ContainerExecResult.d.ts +20 -0
- package/dist/types/docker/types/ContainerNetwork.d.ts +46 -0
- package/dist/types/docker/types/ContainerPort.d.ts +25 -0
- package/dist/types/docker/types/ContainerRestartPolicy.d.ts +11 -0
- package/dist/types/docker/types/ContainerState.d.ts +48 -0
- package/dist/types/docker/types/ContainerStats.d.ts +408 -0
- package/dist/types/docker/types/DockerOutputCallback.d.ts +8 -0
- package/dist/types/docker/types/ImageConfig.d.ts +34 -0
- package/dist/types/docker/types/ImageExposePort.d.ts +17 -0
- package/dist/types/docker/types/NetworkInfo.d.ts +59 -0
- package/dist/types/docker/types/RepositoryTag.d.ts +15 -0
- package/dist/types/exports/Docker.d.ts +73 -0
- package/package.json +57 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
/**
|
|
13
|
+
* The credentials of an image registry: checked by {@link Docker.loginRepository} and
|
|
14
|
+
* {@link Docker.checkRepositoryAuth}, and sent with the image pulls ({@link ImagePullOptions.auth}), pushes
|
|
15
|
+
* ({@link ImagePushOptions.auth}) and builds ({@link ImageBuildOptions.auth}), each of them given every field set
|
|
16
|
+
* (the tokens included). Only `serverAddress` is required.
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
20
|
+
*
|
|
21
|
+
* declare const docker: Docker
|
|
22
|
+
*
|
|
23
|
+
* const valid: boolean = await docker.checkRepositoryAuth({
|
|
24
|
+
* serverAddress: 'registry.example.com:5000',
|
|
25
|
+
* username: 'ci',
|
|
26
|
+
* password: process.env.REGISTRY_PASSWORD ?? ''
|
|
27
|
+
* })
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export class DockerAuthOptions extends DTO {
|
|
31
|
+
}
|
|
32
|
+
__decorate([
|
|
33
|
+
Expect(DTO.String().optional()),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], DockerAuthOptions.prototype, "username", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
Expect(DTO.String().optional()),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], DockerAuthOptions.prototype, "password", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
Expect(DTO.String().required()),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], DockerAuthOptions.prototype, "serverAddress", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
Expect(DTO.String().optional()),
|
|
46
|
+
__metadata("design:type", Object)
|
|
47
|
+
], DockerAuthOptions.prototype, "email", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
Expect(DTO.String().optional()),
|
|
50
|
+
__metadata("design:type", Object)
|
|
51
|
+
], DockerAuthOptions.prototype, "identityToken", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
Expect(DTO.String().optional()),
|
|
54
|
+
__metadata("design:type", Object)
|
|
55
|
+
], DockerAuthOptions.prototype, "registryToken", void 0);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
/**
|
|
13
|
+
* How `DockerContainer.commit()` creates an image of the container's current file system (`docker commit`), the
|
|
14
|
+
* created image returned.
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
18
|
+
*
|
|
19
|
+
* declare const docker: Docker
|
|
20
|
+
*
|
|
21
|
+
* const container = await docker.getContainer('web')
|
|
22
|
+
* const image = await container.commit({repoTag: 'web-snapshot:2026-10-04'})
|
|
23
|
+
* console.log(image.id)
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export class ContainerCommitOptions extends DTO {
|
|
27
|
+
}
|
|
28
|
+
__decorate([
|
|
29
|
+
Expect(DTO.String().optional()),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], ContainerCommitOptions.prototype, "repoTag", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
Expect(DTO.Boolean().optional().default(true)),
|
|
34
|
+
__metadata("design:type", Boolean)
|
|
35
|
+
], ContainerCommitOptions.prototype, "pauseBeforeCommitting", void 0);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
import { ContainerTTYConsoleSizeOptions } from './ContainerTTYConsoleSizeOptions.js';
|
|
13
|
+
/**
|
|
14
|
+
* The interactive command `DockerContainer.createTTY()` runs in a running container with a terminal (`docker exec -it`),
|
|
15
|
+
* read and written through the returned `DockerContainerTTY`.
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
19
|
+
*
|
|
20
|
+
* declare const docker: Docker
|
|
21
|
+
*
|
|
22
|
+
* const container = await docker.getContainer('web')
|
|
23
|
+
* const tty = await container.createTTY({cmd: ['/bin/bash', '-l'], consoleSize: {cols: 120, rows: 40}})
|
|
24
|
+
* tty.onData((chunk: Buffer): void => {
|
|
25
|
+
* process.stdout.write(chunk)
|
|
26
|
+
* })
|
|
27
|
+
* tty.write('ls -la\n')
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export class ContainerCreateTTYOptions extends DTO {
|
|
31
|
+
}
|
|
32
|
+
__decorate([
|
|
33
|
+
Expect(DTO.Alternatives(DTO.String(), DTO.Array(DTO.String()).min(1)).optional()),
|
|
34
|
+
__metadata("design:type", Object)
|
|
35
|
+
], ContainerCreateTTYOptions.prototype, "cmd", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
Expect(ContainerTTYConsoleSizeOptions.optional()),
|
|
38
|
+
__metadata("design:type", ContainerTTYConsoleSizeOptions)
|
|
39
|
+
], ContainerCreateTTYOptions.prototype, "consoleSize", void 0);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
/**
|
|
13
|
+
* The command `DockerContainer.exec()` runs in a running container, without a terminal nor an input (`docker exec`); it
|
|
14
|
+
* resolves once the command exits, with its exit code and its standard output and error output apart.
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import {Docker, type ContainerExecResult} from 'lakutata/com/docker'
|
|
18
|
+
*
|
|
19
|
+
* declare const docker: Docker
|
|
20
|
+
*
|
|
21
|
+
* const container = await docker.getContainer('web')
|
|
22
|
+
* const listing: ContainerExecResult = await container.exec({cmd: ['ls', '-la', '/app']})
|
|
23
|
+
* //A command line, run by /bin/sh -c
|
|
24
|
+
* const count: ContainerExecResult = await container.exec({cmd: 'ls /app | wc -l'})
|
|
25
|
+
* if (count.exitCode !== 0) console.error(count.stderr)
|
|
26
|
+
* console.log(listing.stdout, count.stdout)
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export class ContainerExecOptions extends DTO {
|
|
30
|
+
}
|
|
31
|
+
__decorate([
|
|
32
|
+
Expect(DTO.Alternatives(DTO.String(), DTO.Array(DTO.String()).min(1)).required()),
|
|
33
|
+
__metadata("design:type", Object)
|
|
34
|
+
], ContainerExecOptions.prototype, "cmd", void 0);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
import { Stream } from 'node:stream';
|
|
13
|
+
/**
|
|
14
|
+
* What `DockerContainer.exportDirectory()` copies out of a container (`docker cp`): a file or directory of the
|
|
15
|
+
* container, written as an uncompressed tar archive to a file or a stream. The container may be stopped.
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
19
|
+
*
|
|
20
|
+
* declare const docker: Docker
|
|
21
|
+
*
|
|
22
|
+
* const container = await docker.getContainer('web')
|
|
23
|
+
* await container.exportDirectory({path: '/var/log/nginx', destination: '/backup/nginx-logs.tar'})
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export class ContainerExportDirectoryOptions extends DTO {
|
|
27
|
+
}
|
|
28
|
+
__decorate([
|
|
29
|
+
Expect(DTO.String().required()),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], ContainerExportDirectoryOptions.prototype, "path", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
Expect(DTO.Alternatives(DTO.String(), DTO.InstanceOf(Stream)).required()),
|
|
34
|
+
__metadata("design:type", Object)
|
|
35
|
+
], ContainerExportDirectoryOptions.prototype, "destination", void 0);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
/**
|
|
13
|
+
* How `DockerContainer.kill()` kills a running container (`docker kill`).
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
17
|
+
*
|
|
18
|
+
* declare const docker: Docker
|
|
19
|
+
*
|
|
20
|
+
* const container = await docker.getContainer('web')
|
|
21
|
+
* //Reload the configuration of the main process
|
|
22
|
+
* await container.kill({signal: 'SIGHUP'})
|
|
23
|
+
* //SIGKILL
|
|
24
|
+
* await container.kill()
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export class ContainerKillOptions extends DTO {
|
|
28
|
+
}
|
|
29
|
+
__decorate([
|
|
30
|
+
Expect(DTO.Alternatives(DTO.String(), DTO.Number().integer().positive()).optional().default('SIGKILL')),
|
|
31
|
+
__metadata("design:type", Object)
|
|
32
|
+
], ContainerKillOptions.prototype, "signal", void 0);
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
/**
|
|
13
|
+
* Which logs `DockerContainer.logs()` reads (`docker logs`): a readable stream of the container's standard output and
|
|
14
|
+
* error output, interleaved, as text (the multiplexing of a container without a terminal removed).
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
18
|
+
*
|
|
19
|
+
* declare const docker: Docker
|
|
20
|
+
*
|
|
21
|
+
* const container = await docker.getContainer('web')
|
|
22
|
+
* //The last 100 lines of the past hour, then the new ones as they are written
|
|
23
|
+
* const logs: NodeJS.ReadableStream = await container.logs({
|
|
24
|
+
* since: Math.floor(Date.now() / 1000) - 3600,
|
|
25
|
+
* tail: 100,
|
|
26
|
+
* timestamps: true
|
|
27
|
+
* })
|
|
28
|
+
* logs.pipe(process.stdout)
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export class ContainerLogsOptions extends DTO {
|
|
32
|
+
}
|
|
33
|
+
__decorate([
|
|
34
|
+
Expect(DTO.Boolean().optional().default(true)),
|
|
35
|
+
__metadata("design:type", Boolean)
|
|
36
|
+
], ContainerLogsOptions.prototype, "follow", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
Expect(DTO.Number().integer().optional().default(0)),
|
|
39
|
+
__metadata("design:type", Number)
|
|
40
|
+
], ContainerLogsOptions.prototype, "since", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
Expect(DTO.Number().integer().optional().default(0)),
|
|
43
|
+
__metadata("design:type", Number)
|
|
44
|
+
], ContainerLogsOptions.prototype, "until", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
Expect(DTO.Boolean().optional().default(false)),
|
|
47
|
+
__metadata("design:type", Boolean)
|
|
48
|
+
], ContainerLogsOptions.prototype, "timestamps", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
Expect(DTO.Number().integer().optional()),
|
|
51
|
+
__metadata("design:type", Number)
|
|
52
|
+
], ContainerLogsOptions.prototype, "tail", void 0);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
/**
|
|
13
|
+
* How `DockerContainer.remove()` removes a container (`docker rm -v`): its anonymous volumes are removed with it, the
|
|
14
|
+
* named volumes are kept.
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
18
|
+
*
|
|
19
|
+
* declare const docker: Docker
|
|
20
|
+
*
|
|
21
|
+
* const container = await docker.getContainer('web')
|
|
22
|
+
* await container.remove({force: true})
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export class ContainerRemoveOptions extends DTO {
|
|
26
|
+
}
|
|
27
|
+
__decorate([
|
|
28
|
+
Expect(DTO.Boolean().optional().default(false)),
|
|
29
|
+
__metadata("design:type", Boolean)
|
|
30
|
+
], ContainerRemoveOptions.prototype, "force", void 0);
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
import { ContainerCapability } from '../../types/ContainerCapability.js';
|
|
13
|
+
/**
|
|
14
|
+
* The settings of a container: given to {@link Docker.createContainer} and `DockerImage.run()` (create, then start),
|
|
15
|
+
* which use the image's defaults (command, environment…) for the settings absent, and to `DockerContainer.update()`,
|
|
16
|
+
* which changes the settings given and keeps the others: the limits and the restart policy live, the others by
|
|
17
|
+
* recreating the container. Every option is optional.
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import {Docker, ContainerCapability} from 'lakutata/com/docker'
|
|
21
|
+
*
|
|
22
|
+
* declare const docker: Docker
|
|
23
|
+
*
|
|
24
|
+
* const image = await docker.pullImage({repo: 'nginx', tag: '1.27'})
|
|
25
|
+
* const container = await image.run({
|
|
26
|
+
* name: 'web',
|
|
27
|
+
* env: {TZ: 'UTC'},
|
|
28
|
+
* memoryLimit: 256 * 1024 * 1024,
|
|
29
|
+
* restartPolicy: 'unless-stopped',
|
|
30
|
+
* ports: [{port: 80, type: 'tcp', hostPorts: [8080]}],
|
|
31
|
+
* binds: [{hostPath: '/srv/web/html', containerPath: '/usr/share/nginx/html', rw: false}],
|
|
32
|
+
* networks: [{networkName: 'front'}],
|
|
33
|
+
* capabilities: [ContainerCapability.NET_ADMIN]
|
|
34
|
+
* })
|
|
35
|
+
* //The same container, with 512 MiB of memory, restarted 3 times at most when it fails
|
|
36
|
+
* await container.update({memoryLimit: 512 * 1024 * 1024, restartPolicy: 'on-failure:3'})
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export class ContainerSettingOptions extends DTO {
|
|
40
|
+
}
|
|
41
|
+
__decorate([
|
|
42
|
+
Expect(DTO.String().optional()),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], ContainerSettingOptions.prototype, "name", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
Expect(DTO.String().optional()),
|
|
47
|
+
__metadata("design:type", String)
|
|
48
|
+
], ContainerSettingOptions.prototype, "hostname", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
Expect(DTO.Boolean().optional()),
|
|
51
|
+
__metadata("design:type", Boolean)
|
|
52
|
+
], ContainerSettingOptions.prototype, "privileged", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
Expect(DTO.Boolean().optional()),
|
|
55
|
+
__metadata("design:type", Boolean)
|
|
56
|
+
], ContainerSettingOptions.prototype, "tty", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
Expect(DTO.Object().optional()),
|
|
59
|
+
__metadata("design:type", Object)
|
|
60
|
+
], ContainerSettingOptions.prototype, "env", void 0);
|
|
61
|
+
__decorate([
|
|
62
|
+
Expect(DTO.Number().optional()),
|
|
63
|
+
__metadata("design:type", Number)
|
|
64
|
+
], ContainerSettingOptions.prototype, "memoryLimit", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
Expect(DTO.Array(DTO.Number().integer()).optional()),
|
|
67
|
+
__metadata("design:type", Array)
|
|
68
|
+
], ContainerSettingOptions.prototype, "cpuSet", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
Expect(DTO.Alternatives(DTO.String().allow('').valid('', 'no', 'always', 'unless-stopped', 'on-failure'), DTO.String().pattern(/^on-failure:\d+$/)).optional()),
|
|
71
|
+
__metadata("design:type", String)
|
|
72
|
+
], ContainerSettingOptions.prototype, "restartPolicy", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
Expect(DTO.Array(DTO.Object({
|
|
75
|
+
port: DTO.Number().port().required(),
|
|
76
|
+
type: DTO.String().valid('tcp', 'udp').required(),
|
|
77
|
+
hostPorts: DTO.Array(DTO.Number().port()).optional().default([])
|
|
78
|
+
})).optional()),
|
|
79
|
+
__metadata("design:type", Array)
|
|
80
|
+
], ContainerSettingOptions.prototype, "ports", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
Expect(DTO.Array(DTO.Object({
|
|
83
|
+
hostPath: DTO.String().required(),
|
|
84
|
+
containerPath: DTO.String().required(),
|
|
85
|
+
rw: DTO.Boolean().required()
|
|
86
|
+
})).optional()),
|
|
87
|
+
__metadata("design:type", Array)
|
|
88
|
+
], ContainerSettingOptions.prototype, "binds", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
Expect(DTO.Array(DTO.Object({
|
|
91
|
+
hostPath: DTO.String().required(),
|
|
92
|
+
containerPath: DTO.String().required(),
|
|
93
|
+
cgroupPermissions: DTO.String().optional().default('rwm')
|
|
94
|
+
})).optional()),
|
|
95
|
+
__metadata("design:type", Array)
|
|
96
|
+
], ContainerSettingOptions.prototype, "devices", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
Expect(DTO.Array(DTO.Object({
|
|
99
|
+
networkName: DTO.String().required(),
|
|
100
|
+
ip: DTO.String().allow('').ip({ version: 'ipv4' }).optional(),
|
|
101
|
+
ipv6: DTO.String().allow('').ip({ version: 'ipv6' }).optional()
|
|
102
|
+
})).optional()),
|
|
103
|
+
__metadata("design:type", Array)
|
|
104
|
+
], ContainerSettingOptions.prototype, "networks", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
Expect(DTO.Boolean().optional()),
|
|
107
|
+
__metadata("design:type", Boolean)
|
|
108
|
+
], ContainerSettingOptions.prototype, "OOMKillDisable", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
Expect(DTO.Array(DTO.String().valid(...Object.values(ContainerCapability))).optional()),
|
|
111
|
+
__metadata("design:type", Array)
|
|
112
|
+
], ContainerSettingOptions.prototype, "capabilities", void 0);
|
|
113
|
+
__decorate([
|
|
114
|
+
Expect(DTO.String().optional()),
|
|
115
|
+
__metadata("design:type", String)
|
|
116
|
+
], ContainerSettingOptions.prototype, "cgroup", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
Expect(DTO.String().optional()),
|
|
119
|
+
__metadata("design:type", String)
|
|
120
|
+
], ContainerSettingOptions.prototype, "cgroupParent", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
Expect(DTO.String().optional()),
|
|
123
|
+
__metadata("design:type", String)
|
|
124
|
+
], ContainerSettingOptions.prototype, "pidMode", void 0);
|
|
125
|
+
__decorate([
|
|
126
|
+
Expect(DTO.Array(DTO.String()).optional()),
|
|
127
|
+
__metadata("design:type", Array)
|
|
128
|
+
], ContainerSettingOptions.prototype, "cmd", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
Expect(DTO.Array(DTO.String()).optional()),
|
|
131
|
+
__metadata("design:type", Array)
|
|
132
|
+
], ContainerSettingOptions.prototype, "entrypoint", void 0);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
/**
|
|
13
|
+
* How `DockerContainer.stop()` and `DockerContainer.restart()` stop a running container (`docker stop`): Docker sends
|
|
14
|
+
* the stop signal to its main process, then kills it with `SIGKILL` when it has not exited after the timeout.
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
18
|
+
*
|
|
19
|
+
* declare const docker: Docker
|
|
20
|
+
*
|
|
21
|
+
* const container = await docker.getContainer('web')
|
|
22
|
+
* //Up to 30 seconds to finish the requests in progress
|
|
23
|
+
* await container.stop({signal: 'SIGINT', timeout: 30})
|
|
24
|
+
* await container.restart({timeout: 5})
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export class ContainerStopOptions extends DTO {
|
|
28
|
+
}
|
|
29
|
+
__decorate([
|
|
30
|
+
Expect(DTO.String().optional()),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], ContainerStopOptions.prototype, "signal", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
Expect(DTO.Number().optional()),
|
|
35
|
+
__metadata("design:type", Number)
|
|
36
|
+
], ContainerStopOptions.prototype, "timeout", void 0);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
/**
|
|
13
|
+
* The size of a container terminal, in characters: its initial size ({@link ContainerCreateTTYOptions.consoleSize}),
|
|
14
|
+
* and its new size given to `DockerContainerTTY.resize()` when the user's terminal is resized. Both are required.
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
18
|
+
*
|
|
19
|
+
* declare const docker: Docker
|
|
20
|
+
*
|
|
21
|
+
* const container = await docker.getContainer('web')
|
|
22
|
+
* const tty = await container.createTTY({cmd: 'sh', consoleSize: {cols: 120, rows: 40}})
|
|
23
|
+
* //The user's terminal was resized
|
|
24
|
+
* await tty.resize({cols: 160, rows: 50})
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export class ContainerTTYConsoleSizeOptions extends DTO {
|
|
28
|
+
}
|
|
29
|
+
__decorate([
|
|
30
|
+
Expect(DTO.Number().required()),
|
|
31
|
+
__metadata("design:type", Number)
|
|
32
|
+
], ContainerTTYConsoleSizeOptions.prototype, "cols", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
Expect(DTO.Number().required()),
|
|
35
|
+
__metadata("design:type", Number)
|
|
36
|
+
], ContainerTTYConsoleSizeOptions.prototype, "rows", void 0);
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DTO } from '@lakutata/core';
|
|
11
|
+
import { Expect } from '@lakutata/core/decorator/dto';
|
|
12
|
+
import { DockerAuthOptions } from '../auth/DockerAuthOptions.js';
|
|
13
|
+
/**
|
|
14
|
+
* How {@link Docker.buildImage} builds an image with BuildKit (`docker build`), the built image returned. The build
|
|
15
|
+
* context is the listed files and directories of the working directory, without the ones its `.dockerignore` excludes;
|
|
16
|
+
* the Dockerfile is always sent. `workdir` and `files` are required.
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
20
|
+
*
|
|
21
|
+
* declare const docker: Docker
|
|
22
|
+
*
|
|
23
|
+
* const image = await docker.buildImage({
|
|
24
|
+
* workdir: '/srv/projects/api',
|
|
25
|
+
* files: ['package.json', 'package-lock.json', 'dist'],
|
|
26
|
+
* repoTag: 'api:1.4.0',
|
|
27
|
+
* platform: 'linux/amd64',
|
|
28
|
+
* buildargs: {NODE_VERSION: '22'},
|
|
29
|
+
* outputCallback: (output: Record<string, any>): void => {
|
|
30
|
+
* if (output.stream) console.log(output.stream)
|
|
31
|
+
* }
|
|
32
|
+
* })
|
|
33
|
+
* console.log(image.id)
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export class ImageBuildOptions extends DTO {
|
|
37
|
+
}
|
|
38
|
+
__decorate([
|
|
39
|
+
Expect(DTO.String().required()),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], ImageBuildOptions.prototype, "workdir", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
Expect(DTO.Array(DTO.String()).required()),
|
|
44
|
+
__metadata("design:type", Array)
|
|
45
|
+
], ImageBuildOptions.prototype, "files", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
Expect(DTO.String().optional().default('Dockerfile')),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], ImageBuildOptions.prototype, "dockerfile", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
Expect(DTO.String().optional()),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], ImageBuildOptions.prototype, "repoTag", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
Expect(DTO.String().allow('').optional().default('')),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], ImageBuildOptions.prototype, "platform", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
Expect(DTO.String().allow('').optional().default('')),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], ImageBuildOptions.prototype, "target", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
Expect(DTO.String().optional()),
|
|
64
|
+
__metadata("design:type", String)
|
|
65
|
+
], ImageBuildOptions.prototype, "remote", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
Expect(DTO.Boolean().optional().default(false)),
|
|
68
|
+
__metadata("design:type", Boolean)
|
|
69
|
+
], ImageBuildOptions.prototype, "quiet", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
Expect(DTO.Boolean().optional()),
|
|
72
|
+
__metadata("design:type", Boolean)
|
|
73
|
+
], ImageBuildOptions.prototype, "quite", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
Expect(DTO.Boolean().optional().default(false)),
|
|
76
|
+
__metadata("design:type", Boolean)
|
|
77
|
+
], ImageBuildOptions.prototype, "nocache", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
Expect(DTO.Boolean().optional().default(true)),
|
|
80
|
+
__metadata("design:type", Boolean)
|
|
81
|
+
], ImageBuildOptions.prototype, "rm", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
Expect(DTO.Boolean().optional().default(false)),
|
|
84
|
+
__metadata("design:type", Boolean)
|
|
85
|
+
], ImageBuildOptions.prototype, "forcerm", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
Expect(DTO.Number().optional()),
|
|
88
|
+
__metadata("design:type", Number)
|
|
89
|
+
], ImageBuildOptions.prototype, "shmsize", void 0);
|
|
90
|
+
__decorate([
|
|
91
|
+
Expect(DTO.Object().pattern(DTO.String(), DTO.String()).optional()),
|
|
92
|
+
__metadata("design:type", Object)
|
|
93
|
+
], ImageBuildOptions.prototype, "buildargs", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
Expect(DockerAuthOptions.optional()),
|
|
96
|
+
__metadata("design:type", DockerAuthOptions
|
|
97
|
+
/**
|
|
98
|
+
* Receive the build progress as it arrives: the BuildKit progress as the lines of `docker build --progress=plain`
|
|
99
|
+
* (`{id: 'moby.buildkit.trace', stream: '#2 [1/2] FROM alpine'}`), and the other messages of Docker as they are
|
|
100
|
+
* sent (the built image's ID, `{aux: {ID: 'sha256:…'}}`, the errors, `{error: '…'}`).
|
|
101
|
+
*/
|
|
102
|
+
)
|
|
103
|
+
], ImageBuildOptions.prototype, "auth", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
Expect(DTO.Function().optional()),
|
|
106
|
+
__metadata("design:type", Function)
|
|
107
|
+
], ImageBuildOptions.prototype, "outputCallback", void 0);
|