Deploy with legacy builder failing due to un-bracketed IPv6 literal in URL

Error is:

flyctl deploy --config infra/fly.toml --remote-only --depot=false --recreate-builder --wait-timeout 900 -a PRIVACY-REMOVED
==> Verifying app config
Validating infra/fly.toml
✓ Configuration is valid
--> Verified app config
==> Building image
Remote builder fly-builder-PRIVACY-REMOVED ready
WARN Failed to start remote builder heartbeat: parse "http://fdaa:49:2bd7:PRIVACY-REMOVED:2:8080/flyio/v1/extendDeadline": invalid port ":49:2bd7:PRIVACY-REMOVED:8080" after host

...

Error: failed to fetch an image or build from source: error building: failed to dial gRPC: rpc error: code = Unavailable desc = rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: unable to upgrade to h2c, received 500"

seems just parsing problem in APIs… but it prevents my remote builds….

Hello @Phil-infra-P, thanks for reporting this. A fix is on the way fix: harden IPv6 host/port URL handling for remote builder and tunnel paths by dangra · Pull Request #4792 · superfly/flyctl · GitHub

and v0.4.26 is out with the bugfix.

1 Like

Confirmed fix.

Thank you very much.