@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,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ImageBuildOptions = void 0;
|
|
13
|
+
const core_1 = require("@lakutata/core");
|
|
14
|
+
const dto_1 = require("@lakutata/core/decorator/dto");
|
|
15
|
+
const DockerAuthOptions_js_1 = require("../auth/DockerAuthOptions.js");
|
|
16
|
+
/**
|
|
17
|
+
* How {@link Docker.buildImage} builds an image with BuildKit (`docker build`), the built image returned. The build
|
|
18
|
+
* context is the listed files and directories of the working directory, without the ones its `.dockerignore` excludes;
|
|
19
|
+
* the Dockerfile is always sent. `workdir` and `files` are required.
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
23
|
+
*
|
|
24
|
+
* declare const docker: Docker
|
|
25
|
+
*
|
|
26
|
+
* const image = await docker.buildImage({
|
|
27
|
+
* workdir: '/srv/projects/api',
|
|
28
|
+
* files: ['package.json', 'package-lock.json', 'dist'],
|
|
29
|
+
* repoTag: 'api:1.4.0',
|
|
30
|
+
* platform: 'linux/amd64',
|
|
31
|
+
* buildargs: {NODE_VERSION: '22'},
|
|
32
|
+
* outputCallback: (output: Record<string, any>): void => {
|
|
33
|
+
* if (output.stream) console.log(output.stream)
|
|
34
|
+
* }
|
|
35
|
+
* })
|
|
36
|
+
* console.log(image.id)
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
class ImageBuildOptions extends core_1.DTO {
|
|
40
|
+
}
|
|
41
|
+
exports.ImageBuildOptions = ImageBuildOptions;
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, dto_1.Expect)(core_1.DTO.String().required()),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], ImageBuildOptions.prototype, "workdir", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, dto_1.Expect)(core_1.DTO.Array(core_1.DTO.String()).required()),
|
|
48
|
+
__metadata("design:type", Array)
|
|
49
|
+
], ImageBuildOptions.prototype, "files", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, dto_1.Expect)(core_1.DTO.String().optional().default('Dockerfile')),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], ImageBuildOptions.prototype, "dockerfile", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, dto_1.Expect)(core_1.DTO.String().optional()),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], ImageBuildOptions.prototype, "repoTag", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, dto_1.Expect)(core_1.DTO.String().allow('').optional().default('')),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], ImageBuildOptions.prototype, "platform", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, dto_1.Expect)(core_1.DTO.String().allow('').optional().default('')),
|
|
64
|
+
__metadata("design:type", String)
|
|
65
|
+
], ImageBuildOptions.prototype, "target", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, dto_1.Expect)(core_1.DTO.String().optional()),
|
|
68
|
+
__metadata("design:type", String)
|
|
69
|
+
], ImageBuildOptions.prototype, "remote", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, dto_1.Expect)(core_1.DTO.Boolean().optional().default(false)),
|
|
72
|
+
__metadata("design:type", Boolean)
|
|
73
|
+
], ImageBuildOptions.prototype, "quiet", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, dto_1.Expect)(core_1.DTO.Boolean().optional()),
|
|
76
|
+
__metadata("design:type", Boolean)
|
|
77
|
+
], ImageBuildOptions.prototype, "quite", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, dto_1.Expect)(core_1.DTO.Boolean().optional().default(false)),
|
|
80
|
+
__metadata("design:type", Boolean)
|
|
81
|
+
], ImageBuildOptions.prototype, "nocache", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, dto_1.Expect)(core_1.DTO.Boolean().optional().default(true)),
|
|
84
|
+
__metadata("design:type", Boolean)
|
|
85
|
+
], ImageBuildOptions.prototype, "rm", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, dto_1.Expect)(core_1.DTO.Boolean().optional().default(false)),
|
|
88
|
+
__metadata("design:type", Boolean)
|
|
89
|
+
], ImageBuildOptions.prototype, "forcerm", void 0);
|
|
90
|
+
__decorate([
|
|
91
|
+
(0, dto_1.Expect)(core_1.DTO.Number().optional()),
|
|
92
|
+
__metadata("design:type", Number)
|
|
93
|
+
], ImageBuildOptions.prototype, "shmsize", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, dto_1.Expect)(core_1.DTO.Object().pattern(core_1.DTO.String(), core_1.DTO.String()).optional()),
|
|
96
|
+
__metadata("design:type", Object)
|
|
97
|
+
], ImageBuildOptions.prototype, "buildargs", void 0);
|
|
98
|
+
__decorate([
|
|
99
|
+
(0, dto_1.Expect)(DockerAuthOptions_js_1.DockerAuthOptions.optional()),
|
|
100
|
+
__metadata("design:type", DockerAuthOptions_js_1.DockerAuthOptions
|
|
101
|
+
/**
|
|
102
|
+
* Receive the build progress as it arrives: the BuildKit progress as the lines of `docker build --progress=plain`
|
|
103
|
+
* (`{id: 'moby.buildkit.trace', stream: '#2 [1/2] FROM alpine'}`), and the other messages of Docker as they are
|
|
104
|
+
* sent (the built image's ID, `{aux: {ID: 'sha256:…'}}`, the errors, `{error: '…'}`).
|
|
105
|
+
*/
|
|
106
|
+
)
|
|
107
|
+
], ImageBuildOptions.prototype, "auth", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
(0, dto_1.Expect)(core_1.DTO.Function().optional()),
|
|
110
|
+
__metadata("design:type", Function)
|
|
111
|
+
], ImageBuildOptions.prototype, "outputCallback", void 0);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DTO } from '@lakutata/core';
|
|
2
|
+
/**
|
|
3
|
+
* How `DockerImage.export()` saves an image as a tar archive (`docker save`), which {@link Docker.importImage} or
|
|
4
|
+
* `docker load` loads back. `destination` is required.
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
8
|
+
*
|
|
9
|
+
* declare const docker: Docker
|
|
10
|
+
*
|
|
11
|
+
* const image = await docker.getImage('api:1.4.0')
|
|
12
|
+
* //Loaded back as api:stable
|
|
13
|
+
* await image.export({destination: '/backup/api.tar', repoTag: 'api:stable'})
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare class ImageExportOptions extends DTO {
|
|
17
|
+
/**
|
|
18
|
+
* Where the archive is written: the path of a file, created or replaced, or a writable stream, ended once the
|
|
19
|
+
* archive is written. Required.
|
|
20
|
+
*/
|
|
21
|
+
destination: string | NodeJS.WritableStream;
|
|
22
|
+
/**
|
|
23
|
+
* The `repo:tag` the archive names the image with, which the image gets back when loaded (`api:1.4.0`). Without it,
|
|
24
|
+
* the image is saved by its ID: it is loaded back without a name.
|
|
25
|
+
*/
|
|
26
|
+
repoTag?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Tag the image with `repoTag` first when it does not have it; `false` fails the export with
|
|
29
|
+
* `DockerImageRepoTagNotFoundException` instead.
|
|
30
|
+
* @default true
|
|
31
|
+
*/
|
|
32
|
+
createRepoTagIfNotExists?: boolean;
|
|
33
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ImageExportOptions = void 0;
|
|
13
|
+
const core_1 = require("@lakutata/core");
|
|
14
|
+
const dto_1 = require("@lakutata/core/decorator/dto");
|
|
15
|
+
const node_stream_1 = require("node:stream");
|
|
16
|
+
/**
|
|
17
|
+
* How `DockerImage.export()` saves an image as a tar archive (`docker save`), which {@link Docker.importImage} or
|
|
18
|
+
* `docker load` loads back. `destination` is required.
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
22
|
+
*
|
|
23
|
+
* declare const docker: Docker
|
|
24
|
+
*
|
|
25
|
+
* const image = await docker.getImage('api:1.4.0')
|
|
26
|
+
* //Loaded back as api:stable
|
|
27
|
+
* await image.export({destination: '/backup/api.tar', repoTag: 'api:stable'})
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
class ImageExportOptions extends core_1.DTO {
|
|
31
|
+
}
|
|
32
|
+
exports.ImageExportOptions = ImageExportOptions;
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, dto_1.Expect)(core_1.DTO.Alternatives(core_1.DTO.String(), core_1.DTO.InstanceOf(node_stream_1.Stream)).required()),
|
|
35
|
+
__metadata("design:type", Object)
|
|
36
|
+
], ImageExportOptions.prototype, "destination", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, dto_1.Expect)(core_1.DTO.String().optional()),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], ImageExportOptions.prototype, "repoTag", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, dto_1.Expect)(core_1.DTO.Boolean().optional().default(true)),
|
|
43
|
+
__metadata("design:type", Boolean)
|
|
44
|
+
], ImageExportOptions.prototype, "createRepoTagIfNotExists", void 0);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DTO } from '@lakutata/core';
|
|
2
|
+
/**
|
|
3
|
+
* How {@link Docker.importImage} loads an image from a tar archive made by `DockerImage.export()` or `docker save`
|
|
4
|
+
* (`docker load`), the loaded image returned. `source` is required.
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import {createReadStream} from 'node:fs'
|
|
8
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
9
|
+
*
|
|
10
|
+
* declare const docker: Docker
|
|
11
|
+
*
|
|
12
|
+
* const image = await docker.importImage({source: '/backup/api.tar'})
|
|
13
|
+
* //Or from a stream: an upload, a download
|
|
14
|
+
* const copy = await docker.importImage({source: createReadStream('/backup/api.tar')})
|
|
15
|
+
* console.log(image.repoTags, copy.id)
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class ImageImportOptions extends DTO {
|
|
19
|
+
/**
|
|
20
|
+
* The archive: the path of a file, or a readable stream of it. Required.
|
|
21
|
+
*/
|
|
22
|
+
source: string | NodeJS.ReadableStream;
|
|
23
|
+
/**
|
|
24
|
+
* Have Docker report no progress while it loads the archive (`docker load --quiet`).
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
quiet?: boolean;
|
|
28
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ImageImportOptions = void 0;
|
|
13
|
+
const core_1 = require("@lakutata/core");
|
|
14
|
+
const dto_1 = require("@lakutata/core/decorator/dto");
|
|
15
|
+
const node_stream_1 = require("node:stream");
|
|
16
|
+
/**
|
|
17
|
+
* How {@link Docker.importImage} loads an image from a tar archive made by `DockerImage.export()` or `docker save`
|
|
18
|
+
* (`docker load`), the loaded image returned. `source` is required.
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import {createReadStream} from 'node:fs'
|
|
22
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
23
|
+
*
|
|
24
|
+
* declare const docker: Docker
|
|
25
|
+
*
|
|
26
|
+
* const image = await docker.importImage({source: '/backup/api.tar'})
|
|
27
|
+
* //Or from a stream: an upload, a download
|
|
28
|
+
* const copy = await docker.importImage({source: createReadStream('/backup/api.tar')})
|
|
29
|
+
* console.log(image.repoTags, copy.id)
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
class ImageImportOptions extends core_1.DTO {
|
|
33
|
+
}
|
|
34
|
+
exports.ImageImportOptions = ImageImportOptions;
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, dto_1.Expect)(core_1.DTO.Alternatives(core_1.DTO.String(), core_1.DTO.InstanceOf(node_stream_1.Stream)).required()),
|
|
37
|
+
__metadata("design:type", Object)
|
|
38
|
+
], ImageImportOptions.prototype, "source", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, dto_1.Expect)(core_1.DTO.Boolean().optional().default(false)),
|
|
41
|
+
__metadata("design:type", Boolean)
|
|
42
|
+
], ImageImportOptions.prototype, "quiet", void 0);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { DTO } from '@lakutata/core';
|
|
2
|
+
import { DockerAuthOptions } from '../auth/DockerAuthOptions.js';
|
|
3
|
+
import type { DockerOutputCallback } from '../../types/DockerOutputCallback.js';
|
|
4
|
+
/**
|
|
5
|
+
* Which image {@link Docker.pullImage} pulls from its registry (`docker pull`), the pulled image returned. `repo` is
|
|
6
|
+
* required.
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
10
|
+
*
|
|
11
|
+
* declare const docker: Docker
|
|
12
|
+
*
|
|
13
|
+
* const nginx = await docker.pullImage({repo: 'nginx', tag: '1.27-alpine'})
|
|
14
|
+
* const app = await docker.pullImage({
|
|
15
|
+
* repo: 'registry.example.com:5000/team/app',
|
|
16
|
+
* tag: '2.1.0',
|
|
17
|
+
* platform: 'linux/arm64',
|
|
18
|
+
* auth: {serverAddress: 'registry.example.com:5000', username: 'ci', password: process.env.REGISTRY_PASSWORD ?? ''},
|
|
19
|
+
* outputCallback: (output: Record<string, any>): void => console.log(output.status, output.id ?? '')
|
|
20
|
+
* })
|
|
21
|
+
* console.log(nginx.id, app.id)
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare class ImagePullOptions extends DTO {
|
|
25
|
+
/**
|
|
26
|
+
* The repository, with its registry when it is not Docker Hub (`nginx`, `bitnami/redis`,
|
|
27
|
+
* `registry.example.com:5000/team/app`), without the tag. Required.
|
|
28
|
+
*/
|
|
29
|
+
repo: string;
|
|
30
|
+
/**
|
|
31
|
+
* The tag pulled (`1.27-alpine`).
|
|
32
|
+
* @default 'latest'
|
|
33
|
+
*/
|
|
34
|
+
tag?: string;
|
|
35
|
+
/**
|
|
36
|
+
* The platform pulled from a multi-platform image, `os[/arch[/variant]]` (`linux/arm64`); the Docker host's
|
|
37
|
+
* platform when absent.
|
|
38
|
+
*/
|
|
39
|
+
platform?: string;
|
|
40
|
+
/**
|
|
41
|
+
* The credentials of a private registry; all of them are sent, the tokens included.
|
|
42
|
+
*/
|
|
43
|
+
auth?: DockerAuthOptions;
|
|
44
|
+
/**
|
|
45
|
+
* Receive the pull progress as Docker sends it (`{status: 'Downloading', id: '<layer>', progressDetail: {current,
|
|
46
|
+
* total}}`).
|
|
47
|
+
*/
|
|
48
|
+
outputCallback?: DockerOutputCallback;
|
|
49
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ImagePullOptions = void 0;
|
|
13
|
+
const core_1 = require("@lakutata/core");
|
|
14
|
+
const dto_1 = require("@lakutata/core/decorator/dto");
|
|
15
|
+
const DockerAuthOptions_js_1 = require("../auth/DockerAuthOptions.js");
|
|
16
|
+
/**
|
|
17
|
+
* Which image {@link Docker.pullImage} pulls from its registry (`docker pull`), the pulled image returned. `repo` is
|
|
18
|
+
* required.
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
22
|
+
*
|
|
23
|
+
* declare const docker: Docker
|
|
24
|
+
*
|
|
25
|
+
* const nginx = await docker.pullImage({repo: 'nginx', tag: '1.27-alpine'})
|
|
26
|
+
* const app = await docker.pullImage({
|
|
27
|
+
* repo: 'registry.example.com:5000/team/app',
|
|
28
|
+
* tag: '2.1.0',
|
|
29
|
+
* platform: 'linux/arm64',
|
|
30
|
+
* auth: {serverAddress: 'registry.example.com:5000', username: 'ci', password: process.env.REGISTRY_PASSWORD ?? ''},
|
|
31
|
+
* outputCallback: (output: Record<string, any>): void => console.log(output.status, output.id ?? '')
|
|
32
|
+
* })
|
|
33
|
+
* console.log(nginx.id, app.id)
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
class ImagePullOptions extends core_1.DTO {
|
|
37
|
+
}
|
|
38
|
+
exports.ImagePullOptions = ImagePullOptions;
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, dto_1.Expect)(core_1.DTO.String().required()),
|
|
41
|
+
__metadata("design:type", String)
|
|
42
|
+
], ImagePullOptions.prototype, "repo", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, dto_1.Expect)(core_1.DTO.String().optional().default('latest')),
|
|
45
|
+
__metadata("design:type", String)
|
|
46
|
+
], ImagePullOptions.prototype, "tag", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, dto_1.Expect)(core_1.DTO.String().optional()),
|
|
49
|
+
__metadata("design:type", String)
|
|
50
|
+
], ImagePullOptions.prototype, "platform", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, dto_1.Expect)(DockerAuthOptions_js_1.DockerAuthOptions.optional()),
|
|
53
|
+
__metadata("design:type", DockerAuthOptions_js_1.DockerAuthOptions
|
|
54
|
+
/**
|
|
55
|
+
* Receive the pull progress as Docker sends it (`{status: 'Downloading', id: '<layer>', progressDetail: {current,
|
|
56
|
+
* total}}`).
|
|
57
|
+
*/
|
|
58
|
+
)
|
|
59
|
+
], ImagePullOptions.prototype, "auth", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, dto_1.Expect)(core_1.DTO.Function().optional()),
|
|
62
|
+
__metadata("design:type", Function)
|
|
63
|
+
], ImagePullOptions.prototype, "outputCallback", void 0);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { DTO } from '@lakutata/core';
|
|
2
|
+
import { DockerAuthOptions } from '../auth/DockerAuthOptions.js';
|
|
3
|
+
import { type DockerOutputCallback } from '../../types/DockerOutputCallback.js';
|
|
4
|
+
/**
|
|
5
|
+
* Where `DockerImage.push()` pushes an image (`docker push`): the image is tagged `repo:tag` first, then pushed to the
|
|
6
|
+
* registry of `repo`. `repo` is required.
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
10
|
+
*
|
|
11
|
+
* declare const docker: Docker
|
|
12
|
+
*
|
|
13
|
+
* const image = await docker.getImage('api:1.4.0')
|
|
14
|
+
* await image.push({
|
|
15
|
+
* repo: 'registry.example.com:5000/team/api',
|
|
16
|
+
* tag: '1.4.0',
|
|
17
|
+
* auth: {serverAddress: 'registry.example.com:5000', username: 'ci', password: process.env.REGISTRY_PASSWORD ?? ''}
|
|
18
|
+
* })
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare class ImagePushOptions extends DTO {
|
|
22
|
+
/**
|
|
23
|
+
* The repository pushed to, with its registry when it is not Docker Hub (`registry.example.com:5000/team/api`,
|
|
24
|
+
* `myuser/api`), without the tag. Required.
|
|
25
|
+
*/
|
|
26
|
+
repo: string;
|
|
27
|
+
/**
|
|
28
|
+
* The tag pushed (`1.4.0`).
|
|
29
|
+
* @default 'latest'
|
|
30
|
+
*/
|
|
31
|
+
tag?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The credentials of the registry; all of them are sent, the tokens included.
|
|
34
|
+
*/
|
|
35
|
+
auth?: DockerAuthOptions;
|
|
36
|
+
/**
|
|
37
|
+
* Receive the push progress as Docker sends it (`{status: 'Pushing', id: '<layer>', progressDetail: {current,
|
|
38
|
+
* total}}`).
|
|
39
|
+
*/
|
|
40
|
+
outputCallback?: DockerOutputCallback;
|
|
41
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ImagePushOptions = void 0;
|
|
13
|
+
const core_1 = require("@lakutata/core");
|
|
14
|
+
const dto_1 = require("@lakutata/core/decorator/dto");
|
|
15
|
+
const DockerAuthOptions_js_1 = require("../auth/DockerAuthOptions.js");
|
|
16
|
+
/**
|
|
17
|
+
* Where `DockerImage.push()` pushes an image (`docker push`): the image is tagged `repo:tag` first, then pushed to the
|
|
18
|
+
* registry of `repo`. `repo` is required.
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
22
|
+
*
|
|
23
|
+
* declare const docker: Docker
|
|
24
|
+
*
|
|
25
|
+
* const image = await docker.getImage('api:1.4.0')
|
|
26
|
+
* await image.push({
|
|
27
|
+
* repo: 'registry.example.com:5000/team/api',
|
|
28
|
+
* tag: '1.4.0',
|
|
29
|
+
* auth: {serverAddress: 'registry.example.com:5000', username: 'ci', password: process.env.REGISTRY_PASSWORD ?? ''}
|
|
30
|
+
* })
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
class ImagePushOptions extends core_1.DTO {
|
|
34
|
+
}
|
|
35
|
+
exports.ImagePushOptions = ImagePushOptions;
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, dto_1.Expect)(core_1.DTO.String().required()),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], ImagePushOptions.prototype, "repo", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, dto_1.Expect)(core_1.DTO.String().optional().default('latest')),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], ImagePushOptions.prototype, "tag", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, dto_1.Expect)(DockerAuthOptions_js_1.DockerAuthOptions.optional()),
|
|
46
|
+
__metadata("design:type", DockerAuthOptions_js_1.DockerAuthOptions
|
|
47
|
+
/**
|
|
48
|
+
* Receive the push progress as Docker sends it (`{status: 'Pushing', id: '<layer>', progressDetail: {current,
|
|
49
|
+
* total}}`).
|
|
50
|
+
*/
|
|
51
|
+
)
|
|
52
|
+
], ImagePushOptions.prototype, "auth", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, dto_1.Expect)(core_1.DTO.Function().optional()),
|
|
55
|
+
__metadata("design:type", Function)
|
|
56
|
+
], ImagePushOptions.prototype, "outputCallback", void 0);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DTO } from '@lakutata/core';
|
|
2
|
+
/**
|
|
3
|
+
* How `DockerImage.remove()` removes an image by its ID (`docker rmi`).
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
7
|
+
*
|
|
8
|
+
* declare const docker: Docker
|
|
9
|
+
*
|
|
10
|
+
* const image = await docker.getImage('api:1.3.0')
|
|
11
|
+
* //Fails when a container uses the image
|
|
12
|
+
* await image.remove({force: false})
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare class ImageRemoveOptions extends DTO {
|
|
16
|
+
/**
|
|
17
|
+
* Remove the image even when it has several tags or stopped containers use it (`docker rmi --force`); `false`
|
|
18
|
+
* fails the removal in these cases. A running container's image is not removed.
|
|
19
|
+
* @default true
|
|
20
|
+
*/
|
|
21
|
+
force?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Keep the untagged parent images (`docker rmi --no-prune`); they are removed with the image when absent.
|
|
24
|
+
*/
|
|
25
|
+
noprune?: boolean;
|
|
26
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ImageRemoveOptions = void 0;
|
|
13
|
+
const core_1 = require("@lakutata/core");
|
|
14
|
+
const dto_1 = require("@lakutata/core/decorator/dto");
|
|
15
|
+
/**
|
|
16
|
+
* How `DockerImage.remove()` removes an image by its ID (`docker rmi`).
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
20
|
+
*
|
|
21
|
+
* declare const docker: Docker
|
|
22
|
+
*
|
|
23
|
+
* const image = await docker.getImage('api:1.3.0')
|
|
24
|
+
* //Fails when a container uses the image
|
|
25
|
+
* await image.remove({force: false})
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
class ImageRemoveOptions extends core_1.DTO {
|
|
29
|
+
}
|
|
30
|
+
exports.ImageRemoveOptions = ImageRemoveOptions;
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, dto_1.Expect)(core_1.DTO.Boolean().optional().default(true)),
|
|
33
|
+
__metadata("design:type", Boolean)
|
|
34
|
+
], ImageRemoveOptions.prototype, "force", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, dto_1.Expect)(core_1.DTO.Boolean().optional()),
|
|
37
|
+
__metadata("design:type", Boolean)
|
|
38
|
+
], ImageRemoveOptions.prototype, "noprune", void 0);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DTO } from '@lakutata/core';
|
|
2
|
+
/**
|
|
3
|
+
* The name `DockerImage.tag()` gives an image (`docker tag`), in addition to its other ones. `repo` is required.
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
7
|
+
*
|
|
8
|
+
* declare const docker: Docker
|
|
9
|
+
*
|
|
10
|
+
* const image = await docker.getImage('api:1.4.0')
|
|
11
|
+
* await image.tag({repo: 'registry.example.com:5000/team/api', tag: 'stable'})
|
|
12
|
+
* console.log(image.repoTags)
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare class ImageTagOptions extends DTO {
|
|
16
|
+
/**
|
|
17
|
+
* The repository, with its registry when it is not Docker Hub (`someuser/someimage`,
|
|
18
|
+
* `registry.example.com:5000/team/api`). Required.
|
|
19
|
+
*/
|
|
20
|
+
repo: string;
|
|
21
|
+
/**
|
|
22
|
+
* The tag (`stable`); Docker uses `latest` when absent.
|
|
23
|
+
*/
|
|
24
|
+
tag?: string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ImageTagOptions = void 0;
|
|
13
|
+
const core_1 = require("@lakutata/core");
|
|
14
|
+
const dto_1 = require("@lakutata/core/decorator/dto");
|
|
15
|
+
/**
|
|
16
|
+
* The name `DockerImage.tag()` gives an image (`docker tag`), in addition to its other ones. `repo` is required.
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
20
|
+
*
|
|
21
|
+
* declare const docker: Docker
|
|
22
|
+
*
|
|
23
|
+
* const image = await docker.getImage('api:1.4.0')
|
|
24
|
+
* await image.tag({repo: 'registry.example.com:5000/team/api', tag: 'stable'})
|
|
25
|
+
* console.log(image.repoTags)
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
class ImageTagOptions extends core_1.DTO {
|
|
29
|
+
}
|
|
30
|
+
exports.ImageTagOptions = ImageTagOptions;
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, dto_1.Expect)(core_1.DTO.String().required()),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], ImageTagOptions.prototype, "repo", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, dto_1.Expect)(core_1.DTO.String().optional()),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], ImageTagOptions.prototype, "tag", void 0);
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { DTO } from '@lakutata/core';
|
|
2
|
+
import { NetworkIPAMConfig } from '../../types/NetworkInfo.js';
|
|
3
|
+
/**
|
|
4
|
+
* The network {@link Docker.createNetwork} creates (`docker network create`), the created network returned. Only `name`
|
|
5
|
+
* is required.
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import {Docker} from 'lakutata/com/docker'
|
|
9
|
+
*
|
|
10
|
+
* declare const docker: Docker
|
|
11
|
+
*
|
|
12
|
+
* const network = await docker.createNetwork({
|
|
13
|
+
* name: 'back',
|
|
14
|
+
* internal: true,
|
|
15
|
+
* NetworkIPAMConfigs: [{subnet: '172.28.0.0/16', range: '172.28.5.0/24', gateway: '172.28.0.1'}]
|
|
16
|
+
* })
|
|
17
|
+
* //Its containers get their addresses from 172.28.5.0/24, or the static ones given to their settings
|
|
18
|
+
* console.log(network.id)
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare class NetworkCreateOptions extends DTO {
|
|
22
|
+
/**
|
|
23
|
+
* The network name, unique on the Docker host. Required.
|
|
24
|
+
*/
|
|
25
|
+
name: string;
|
|
26
|
+
/**
|
|
27
|
+
* The driver's options, by name (`{'com.docker.network.bridge.name': 'br-back'}` for `bridge`,
|
|
28
|
+
* `{parent: 'eth0'}` for `macvlan` and `ipvlan`).
|
|
29
|
+
* @default {}
|
|
30
|
+
*/
|
|
31
|
+
options?: Record<string, string>;
|
|
32
|
+
/**
|
|
33
|
+
* The network driver: `'bridge'`, `'ipvlan'` or `'macvlan'`; another value fails the validation.
|
|
34
|
+
* @default 'bridge'
|
|
35
|
+
*/
|
|
36
|
+
driver?: 'bridge' | 'ipvlan' | 'macvlan';
|
|
37
|
+
/**
|
|
38
|
+
* The network's address ranges, each one required to have its `subnet` (in CIDR notation) and its `gateway` (an
|
|
39
|
+
* address without a prefix length), its `range` optional (in CIDR notation); a value in another notation fails the
|
|
40
|
+
* validation. Empty or absent for a subnet Docker chooses. Its name is in PascalCase, unlike the other options.
|
|
41
|
+
* @default []
|
|
42
|
+
*/
|
|
43
|
+
NetworkIPAMConfigs?: NetworkIPAMConfig[];
|
|
44
|
+
/**
|
|
45
|
+
* Isolate the network from the outside (`docker network create --internal`): its containers reach each other, not
|
|
46
|
+
* the host's networks nor the Internet.
|
|
47
|
+
*/
|
|
48
|
+
internal?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Enable IPv6 on the network (`docker network create --ipv6`); give it an IPv6 subnet in `NetworkIPAMConfigs`, or
|
|
51
|
+
* Docker allocates one from its default pools when configured.
|
|
52
|
+
*/
|
|
53
|
+
enableIPv6?: boolean;
|
|
54
|
+
}
|