feat: Add distribution Docker Engine API#102
feat: Add distribution Docker Engine API#102HofmeisterAn merged 9 commits intotestcontainers:mainfrom
Conversation
Agent-Logs-Url: https://github.com/bbartels/Docker.DotNet/sessions/291566e2-fea2-4eb9-acb2-377176972eb0 Co-authored-by: bbartels <23058572+bbartels@users.noreply.github.com>
Agent-Logs-Url: https://github.com/bbartels/Docker.DotNet/sessions/291566e2-fea2-4eb9-acb2-377176972eb0 Co-authored-by: bbartels <23058572+bbartels@users.noreply.github.com>
Agent-Logs-Url: https://github.com/bbartels/Docker.DotNet/sessions/291566e2-fea2-4eb9-acb2-377176972eb0 Co-authored-by: bbartels <23058572+bbartels@users.noreply.github.com>
Agent-Logs-Url: https://github.com/bbartels/Docker.DotNet/sessions/291566e2-fea2-4eb9-acb2-377176972eb0 Co-authored-by: bbartels <23058572+bbartels@users.noreply.github.com>
…async Add distribution inspect operations to Docker.DotNet
|
@HofmeisterAn I've been trying to use the distribution api, but wasn't available via the SDK. This PR implements calling out to that api |
|
Looks like the generated code was modified by hand. You could add the distribution inspect types from here: into https://github.com/testcontainers/Docker.DotNet/blob/main/tools/specgen/specgen.go and then regenerated the code. |
Agent-Logs-Url: https://github.com/bbartels/Docker.DotNet/sessions/15862762-6b54-4094-a000-63d1c9d81798 Co-authored-by: bbartels <23058572+bbartels@users.noreply.github.com>
Agent-Logs-Url: https://github.com/bbartels/Docker.DotNet/sessions/15862762-6b54-4094-a000-63d1c9d81798 Co-authored-by: bbartels <23058572+bbartels@users.noreply.github.com>
…types Generate `DistributionInspectResponse` from specgen
Ah right, amended! |
Docker.DotNet did not expose the Docker Engine
GET /distribution/{name}/jsonendpoint, so callers could not inspect registry-backed image metadata without pulling the image first. This change adds a minimalDistributionAPI surface onIDockerClientfor remote descriptor/platform inspection.API surface
IDistributionOperationswithInspectAsync(string name, CancellationToken)DistributionintoIDockerClientandDockerClientEndpoint implementation
DistributionOperationsto calldistribution/{name}/json404responses toDockerImageNotFoundExceptionModel support
DistributionInspectResponseusing the existingDescriptorandPlatformmodelsTests
alpine:3.20