LogoLogo
HomeBlogGitHubGet Started FreeLogin
Earthly 0.8
Earthly 0.8
  • 👋Introduction
  • 💻Install Earthly
  • 🎓Learn the basics
    • Part 1: A simple Earthfile
    • Part 2: Outputs
    • Part 3: Adding dependencies With Caching
    • Part 4: Args
    • Part 5: Importing
    • Part 6: Using Docker In Earthly
    • Part 7: Using remote runners
    • Part 8a: Using Earthly in your current CI
    • Final words
  • ⭐Featured guides
    • Rust
  • 📖Docs
    • Guides
      • Importing
      • Build arguments and variables
      • Secrets
      • Functions
      • Using Docker in Earthly
      • Multi-platform builds
      • Authenticating Git and image registries
      • Integration Testing
      • Debugging techniques
      • Podman
      • Configuring registries
        • AWS ECR
        • GCP Artifact Registry
        • Azure ACR
        • Self-signed certificates
      • Using the Earthly Docker Images
        • earthly/earthly
        • earthly/buildkitd
      • ✅Best practices
    • Caching
      • Caching in Earthfiles
      • Managing cache
      • Caching via remote runners
    • Remote runners
    • Earthfile reference
      • Builtin args
      • Excluding patterns
      • Version-specific features
    • The earthly command
    • Earthly lib
    • Configuration reference
    • Examples
    • Misc
      • Alternative installation
      • Data collection
      • Definitions
      • Public key authentication
  • 🔧CI Integration
    • Overview
    • Use the Earthly CI Image
    • Build your own Earthly CI Image
    • Pull-Through Cache
    • Remote BuildKit
    • Vendor-Specific Guides
      • GitHub Actions
      • Circle CI
      • GitLab CI/CD
      • Jenkins
      • AWS CodeBuild
      • Google Cloud Build
      • Bitbucket Pipelines
      • Woodpecker CI
      • Kubernetes
  • ☁️Earthly Cloud
    • Overview
    • Managing permissions
    • Cloud secrets
    • Earthly Satellites
      • Managing Satellites
      • Using Satellites
      • Self-Hosted Satellites
      • GitHub runners
      • Best Practices
      • Bring Your Own Cloud (BYOC)
        • AWS
          • Requirements
          • CloudFormation
          • Terraform
          • Manual
        • VPN
          • Tailscale
Powered by GitBook
On this page
  • Comparing Earthly Satellite Offerings
  • Installation
  • Step 1: Install Your Cloud Provider
  • Step 2: Networking
  • Step 3. Test Drive
  • Step 4. Launch A Satellite
  • Step 5. Use The Cloud

Was this helpful?

Edit on GitHub
  1. Earthly Cloud
  2. Earthly Satellites

Bring Your Own Cloud (BYOC)

PreviousBest PracticesNextAWS

Last updated 9 months ago

Was this helpful?

This feature is experimental.

Not recommended for production usage yet, since it might introduce breaking changes in the future.

Feedback is welcome and much appreciated!

"Bring Your Own Cloud" (BYOC) satellites are a hybrid between and satellites. These satellites are managed by Earthly; just like our managed offering, but within your infrastructure. This blends the ease-of-use of managed satellites with the security benefits that self hosting can bring.

BYOC satellites are .

Comparing Earthly Satellite Offerings

Earthly Cloud
Earthly BYOC
Earthly Self-Hosted

Who is responsible for monitoring and reliability of the Satellite

✅ Earthly

✅ Earthly

❌ You

Satellites are deployed within your internal network

❌ No

✅ Yes

✅ Yes

Earthly Cloud and Earthly staff are prevented from accessing your internal network

✅ N/A

✅ Yes

✅ Yes

How is compute billed

✅ Zero-margin compute via Earthly

✅ To you via your cloud provider

✅ To you via your cloud provider

Automatic updates

✅ Yes

✅ Yes

❌ No

Auto-sleep to drastically reduce compute cost

✅ Yes

✅ Yes

❌ No

Automatic management and GCing of cache volumes

✅ Yes

✅ Yes

❌ No

Users can launch and remove satellites via the earthly sat CLI

✅ Yes

✅ Yes

❌ No

Requires access to a set of limited AWS capabilities

✅ No

❌ Yes

✅ No

Installation

Step 1: Install Your Cloud Provider

Make sure that you meet the base requirements for your cloud provider:

Assuming you meet these requirements, there are multiple methods you can use to provision resources required to operate BYOC. Choose the one that works best for your organization:

Follow the instructions for your selected installation method to provision the required resources and install BYOC.

Step 2: Networking

To use a satellite created by BYOC, you'll need to configure your networking (usually a VPN) to ensure access. We have guides to enable BYOC on VPNs for the following VPN providers:

Step 3. Test Drive

Now that you have your cloud installation configured in your cloud provider and Earthly, it's time to take it for a test drive!

First, make sure you can see your new cloud by running earthly cloud list, which lists all the cloud installations within your organization. Your output should look something like this:

❯ earthly cloud list
   NAME           SATELLITES  STATUS          
   my-new-cloud   0           Green  
*  earthly-cloud  2           Green  

The * indicates the default cloud that will be used when launching satellites within your organization, unless otherwise specified.

Note that the earthly-cloud installation is a special cloud present in all organizations. Satellites within this cloud are managed within Earthly's cloud, by Earthly. You can change back to use Earthly-managed satellites at any time by running the earthly cloud use earthly-cloud installation.

Step 4. Launch A Satellite

To test-launch a new satellite within the cloud, run:

earthly satellite launch --cloud <name> my-byoc-sat

This will launch a new satellite using your newly created cloud. Assuming that works, kick the tires by trying to run one of your builds on it!

Step 5. Use The Cloud

If everything looks good, you're done! If you would like this new cloud to be the default, simply run:

earthly cloud use <name>

This makes the new cloud you created be the default for the entire organization.

This setting is global for all users within the org. This prevents people from launching satellites in the wrong cloud, and accidentally disseminating information that shouldn't be.

To get a better idea of what will be provisioned, see this section about . All installation methods create the same resources.

☁️
self hosted
earthly-managed
available with an Enterprise plan
AWS
AWS CloudFormation
Terraform
Manual
Tailscale
configuring byoc manually