Super-simple builtin builders and smart certificates creation - it's all in the latest flyctl (v0.0.139) available now for your command line. Find out more about it in the Changelog.
For the latest version of flyctl, we've focussed on making your life fast and simple. From getting your first deployment up and running to setting up a host's certificate.
First up, we've got the new “builtin” builders which you can select when you init your App. We have builtin builders for Node, Ruby, Deno and Go and there's also a static web server available. No need for a Dockerfile - just init and deploy.
You can find out more at the command line with
flyctl builtins list which will give you information on all of the builtins, and
flyctl builtins show <builtin-name> which will give you all the details of the named builtin, including the virtual Dockerfile that the builtins use.
With builtins all you need to do is:
- Write your code
- Select a builtin for the code's language, press return for defaults on the other prompts
- Finally, run
flyctl opento view your app in a browser
You can see full examples for Go, Node, Ruby, Deno and a static web server in the documentation.
In previous versions of
flyctl, we have been able to deploy an image from the command line. In this version, you can now use the image builder (or
--image flag on
flyctl init) to select a public Docker image to be published to Fly. This persists the selected image in a
By using the
fly.toml file, it also lets you configure the ports and health checks for the image. Best of all, it lets you save that information into your git repository so you can perform repeatable builds with images.
When, for whatever reason, an App instance is unable to deploy in a particular region, Fly will look to deploying it in a backup region. This is a longstanding behavior of Fly, but flyctl has been not been good in communicating that that is what is happening, leading to confusion over why an App is deploying in a region but not in the region list.
flyctl regions list will now show the regions and the associated backup regions that an app instance may appear in. Also,
flyctl status will display
(b) next to any region which is not in the region pool and is therefore in a backup region. This should give everyone a better view of where their app is running.
In the past, when creating a certificate for a hostname, you had to refer to the documentation or UI for the various steps you needed to take. In this version of
flyctl, we've embedded some smart-documentation into the process. When you add a certificate now,
flyctl will give you detailed instructions on what you need to set with your DNS provider to direct traffic to your App through your domain name and verify your ownership (allowing a certificate to be generated). It's all part of making
flyctl your preferred way to work with Fly.
Orgs and DNS
Also implemented in 0.0.138, are the
dns commands. Orgs allows you to add and remove organizations - which you can also do from the Web UI. What you currently can't do is invite and remove users from the organization; you'll have to use the Web UI for that. This, and the dns command, are works in progress and could change in a later version. We thought it was better to let you see what was in the longer pipeline.
flyctl initnow has an
--importoption which will use the settings of the imported
fly.tomlfile while creating a new app name and slot.
- JSON status output now has timestamps.
flyctl deploynow has a --local-only flag to force builds to happen locally or not at all.
This is the Fly Changelog where we list all significant changes to the Fly platform, tooling and web sites. You can also use the RSS feed of just changelog posts available on fly.io/changelog.xml or consult our dedicated ChangeLog page with all the recent updates.
flyctl: Version 0.0.139 released.
- fix issue with builtin init.
- Updated documentation in sync with new flyctl.
flyctl: Version 0.0.138 released
- Added flyctl builtins and
flyctl builtins list.
flyctl builtins show.
- Added images as an option to builder selection.
- Added --image as flag to
- Added prompting to
certsprocess to give directions to user on next steps after adding or checking a certificate.
- Changed certs create/delete to add/remove (aliased for back compatibility).
- Added prompting for internal port to
- Added display of backup regions.
- Displays app URL before deployment.
- JSON status output now has timestamp.
- Caught errors in suspend (thanks @alrs).
- Clarified monitoring error messages.
- Only display auth URL when an error has occurred.
- Setting secret to same value no longer causes a "no deployment available" error.
- Improved internal API use.
- Immediate duplicates in logs supressed in client.