Using Satellites
This feature is part of the Earthly Satellites paid plan.
Important
This feature is currently in Beta stage
The feature may break or change significantly in future versions of Earthly.
Give us feedback on
This page describes how to use Earthly Satellites.
Prerequisites
In order to use Earthly Satellites, you must have an Earthly account and you must be a member of an Earthly organization. For more information, see the Earthly Cloud overview and the Satellites page.
If you are new to Earthly or to Earthly Cloud, you must:
Download and Install Earthly. As Earthly Satellites is under active development, it is strongly recommended that you ensure that you have the very latest version of Earthly installed.
On Linux, simply repeat the installation steps to upgrade to the latest version of Earthly, if you installed Earthly some time ago.
On Mac, you can perform:
Create an account by visiting the Earthly CI website to log in with GitHub or by using
earthly account register --email <email>
in your terminal.Either create an Earthly organization, or ask your Earthly admin to add you to an existing organization. In order to be added to an existing Earthly organization you need to first create an Earthly account as described above. To verify that you are part of an organization you can run:
You should see an output similar to:
Background
Earthly Satellites allow Earthly to execute builds in the cloud seamlessly. You execute build commands in the terminal, like you always have (for example, earthly +build
), and Earthly takes care of running the build in the cloud in real time, instead of your local machine.
It uploads parts of your working directory, passes along any secrets, executes the build in the cloud while streaming the build log in real-time back to you, and then downloads the resulting build images and artifacts back to your computer.
For more information about how Earthly Satellites work, see the Satellites page.
Using satellites
When you are added to an Earthly organization, you get access to its satellites. To view the satellites currently available in the organization, you can run:
If you are part of multiple organizations, you may need to specify the organization name too:
Selecting a satellite
In order to start using satellites, you can select one for use. Selecting a satellite causes Earthly to use that satellite for any builds from that point onwards.
Any build performed after selecting a satellite will be performed in the cloud on that satellite. You will notice that the output of the build contains information about the satellite that is being used:
To go back to using your local machine for builds, instead of the satellite, you can unselect the satellite by running:
Specifying a satellite for one build only
If a satellite is not currently selected, you can still use it for a specific build by using the --sat
flag.
Conversely, if a satellite is currently selected, you can choose to use the local machine for a specific build using the --no-sat
flag.
Managing performance
As satellites run the execution in the cloud, behind the scenes, they require upload of the current directory contents that may be needed as part of the build, and download of the results of the build. This is performed automatically by Earthly, however, if the file transfers are large and/or if the network bandwidth is low, the performance impact can be noticeable.
Oftentimes, you will find that running a build with the flag --no-output
executes significantly faster. This flag disables downloading the build results from the satellite at the end of a build.
The --no-output
flag can still be combined with --push
, thus allowing Earthly Satellites to be used as a highly performant deployment tool.
Last updated