Skip to content

flyctl v0.3.149 misinterprets Dockerfile URL in [build] as a local path #4464

@skamensky

Description

@skamensky

Describe the bug
When a URL is supplied for [build] dockerfile in fly.toml, flyctl concatenates the URL to the local working-directory path instead of downloading the file. It then fails with “Dockerfile … not found”.

  • Operating system: Ubuntu 22.04 LTS
  • fly version: v0.3.149

Paste your fly.toml

app = "shmuel-tech-pg-formula"
primary_region = "ams"
kill_signal = "SIGINT"

[build]
dockerfile = "https://raw.githubusercontent.com/skamensky/postgres-formula-compiler/master/Dockerfile"

[env]
  SERVICE_NAME = "pg-formula"
  PORT = "80"

[http_service]
  internal_port = 80
  force_https = true
  auto_stop_machines = "stop"
  auto_start_machines = true
  min_machines_running = 0

  [[http_service.checks]]
    path = "/health"
    method = "GET"
    interval = "30s"
    timeout = "5s"
    grace_period = "10s"

Command output:

shmuel@TopLap123:~/repos/shmuel.tech/services/pg-formula$ fly deploy --remote-only --verbose
==> Verifying app config
Validating /home/shmuel/repos/shmuel.tech/services/pg-formula/fly.toml
✓ Configuration is valid
--> Verified app config
==> Building image
==> Building image
Error: failed to fetch an image or build from source: dockerfile '/home/shmuel/repos/shmuel.tech/services/pg-formula/https:/raw.githubusercontent.com/skamensky/postgres-formula-compiler/master/Dockerfile' not found

Expected behavior

flyctl should recognise the https:// scheme, download the Dockerfile into the temporary build directory, and hand the correct path to BuildKit.

Additional context

Docs state that dockerfile “accepts … a URL”, but the current stable CLI (v0.3.149) treats the value as a relative filesystem path. Docs claiming URL support

A similar path-handling issue exists for the --dockerfile flag (#400).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions