#export-image (cli) works, while exportImage (golang) fails

1 messages ยท Page 1 of 1 (latest)

coarse tendon
#

I have a container:

func (m *Headway) TileserverInitImage(ctx context.Context,
    // +defaultPath="./services/tileserver"
    serviceDir *dagger.Directory,
) *dagger.Container {
    return downloadContainer().
        WithFile("/app/init.sh", serviceDir.File("init.sh")).
        WithDefaultArgs([]string{"/app/init.sh"})
}

Which I can successfully build and export from the cli:
๐ŸŽ‰ Success:

โ–ถ tileserver-init-image | export-image tileserver-init 0.5s

I want to export several similar containers, and so I thought to orchestrate this I'd need to call exportImage from golang, like so:

func (m *Headway) ExportTileserverInitImage(ctx context.Context,
    // +defaultPath="./services/tileserver"
    serviceDir *dagger.Directory,
) error {
    container := m.TileserverInitImage(ctx, serviceDir)
    return container.ExportImage(ctx, "tileserver-init")
}

But when I invoke export-tileserver-init-image I get this error:

โ–ผ export-tileserver-init-image 1.1s ERROR r jump โ†ด
โ•ฐโ”€โ–ผ Headway.exportTileserverInitImage(
  โ”‚ โ”† serviceDir: Host.directory(path: "/Users/mkirk/src/headwaymaps/headway/services/tileserver", exclude: [], noCach
  โ”‚ ): Void 1.0s ERROR
  ! client has no supported api for loading image
  โ”œโ”€โ— Directory.file(path: "init.sh"): File! 0.0s
  โ”‚ 
  โ”œโ”€โ— container: Container! 0.0s
  โ”œโ”€$ .from(address: "debian:bookworm-slim"): Container! 0.7s CACHED
  โ”œโ”€โ— .withWorkdir(path: "/data"): Container! 0.0s
  โ”œโ”€$ .withExec(
  โ”‚   โ”† args: ["sh", "-c", "apt-get update && apt-get install -y --no-install-recommends wget ca-certificates zstd && 
  โ”‚   ): Container! 0.0s CACHED
  โ”œโ”€$ .withFile(
  โ”‚   โ”† path: "/app/init.sh"
  โ”‚   โ”† source: Directory.file(path: "init.sh"): File!
  โ”‚   ): Container! 0.0s CACHED
  โ”œโ”€โ— .withDefaultArgs(args: ["/app/init.sh"]): Container! 0.0s
  โ•ฐโ”€โœ˜ .exportImage(name: "tileserver-init"): Void! 0.0s ERROR
    ! client has no supported api for loading image

Am I holding it wrong?