Skip to content

Latest commit

 

History

History
91 lines (61 loc) · 3.56 KB

README.md

File metadata and controls

91 lines (61 loc) · 3.56 KB

ACE (Automated Cloud Environment)

Introduction

ACE (Automated Cloud Environment) is a powerful SDK for managing and deploying applications to Fly.io. It provides a high-level, declarative way to define your infrastructure and applications, making it easy to create, update, and manage your Fly.io resources.

Philosophy

ACE embraces the philosophy of "serverless" in the sense that you shouldn't need to worry about servers, unless you need to. By providing a flexible and powerful way to define infrastructure, whether you need a simple VM or a complex application, ACE has you covered.

Example

Deploy a remix website.

import { FlyStack } from "./sdk/core/FlyStack";
import { RemixSite } from "./sdk/constructs/RemixConstruct";

const RemixDeployment = new RemixSite(new FlyStack(), "remix-site", {
    name: "Awesome Website",
    domain: "awesome.website",
    env: {
        NODE_ENV: "production",
    }
});

const deployment = await RemixDeployment.deploy();

SDK & Constructs

Constructs are the building blocks of ACE. They are used to define your infrastructure and applications. Currently, ACE has the following constructs, for building applicaitons on Fly.io:

Core Constructs

Resources

Configs

These can be composed together to create a fully featured applications.

Examples can be found, including a robist full-stack app in the examples directory.

Other Parts of ACE

Community Packages

ACE (Fly) is built on top of a number of other packages:

CLI

The CLI is a command-line interface for ACE. It is used to create, update, and manage your infrastructure and applications.

Local Development

ACE has a local development dashboard that allows you to develop your application locally. It is built using Remix and runs locally in your browser.

The Backend Service the Runs Deployments

ACE has a backend service that is responsible for running deployments. This is a Node.js application that is deployed to Fly.io. It is responsible for creating and managing your infrastructure and applications. It is built using Remix and Supabase and deployed to Fly.io.

Credit

This project is shamelessly inspired by: https://sst.dev/