Deploy your first application
Go from an empty control plane to a running application on Facets: import a project type, create a project, add a service pointed at an image, launch an environment, and release.
This quickstart takes the fastest path to a visible win: an application running on Facets. It is a linear procedure, not a tour. Each step links into the Platform Guide if you want the full picture.
Before you start
These are one-time setup steps, each covered elsewhere:
- A Facets tenant you can sign in to (Facets hosted or Self-hosted).
- The Praxis CLI installed and logged in. This quickstart uses
raptor, the Praxis CLI binary that drives the control plane. - A cloud account and a git account connected, so Facets can provision infrastructure and store your project's blueprint.
The example below uses a project called checkout, an environment called dev, and a service called web. Substitute your own names.
1. Import a project type
A new control plane starts empty, with no modules to build from. Import the official project type for your cloud to load a working catalogue in one command:
raptor import project-type --managed facets/awsRun raptor import project-type --list-managed to see the other clouds. This is the one step with no console route on a fresh control plane. See Project Types for what a project type contains and how to adapt it.
2. Create a project
A project holds one blueprint of resources that you deploy across environments. Create one against the project type you just imported.
Using prompt
Create a project called checkout from the AWS project type.or
Using command
# See the project types available to you and their names
raptor get project-types
# Create the project, passing the project type's name from above
raptor create project checkout --project-type "<project-type-name>" --description "Checkout service"New to the CLI? Install it first.
- Go to the Projects tab and click Create Project.
- Enter a Project Name and an optional Description.
- Select a Git Account to hold the project's repository.
- Choose the Project Type you imported in step 1.
- Choose the Environments you want (for example
dev). - Click Create.
See Projects for blueprints, environments, and importing an existing repo.
3. Add a service and point it at an image
A service is how your application runs on Facets. Add one to the blueprint, then attach the container image it should run.
Using prompt
Add a service called web to checkout, then attach gcr.io/my-project/checkout:v1 to it in dev.or
Using command
# See which service flavors your project type allows
raptor get resource-types --type service -p checkout
# Add a service to the blueprint
raptor apply resource service/<flavor>/<version> -n web -p checkout
# Point it at an image for the dev environment
raptor set artifact-uri -p checkout -e dev web --uri gcr.io/my-project/checkout:v1New to the CLI? Install it first.
- In the Blueprint tab, create a Service resource and click Configure.
- Open the service's Images tab and select Manual Attach.
- Choose the
devenvironment, click Attach Image, enter the full image URL (for examplegcr.io/my-project/checkout:v1), and click Attach.
To build images automatically from your branches instead of pinning one, see Attach image and CI/CD workflow.
4. Launch the environment
Before you can deploy, the environment has to be launched, which provisions its cloud infrastructure (network, cluster, storage) from your blueprint. Launch bootstraps that infrastructure without deploying your resources yet.
Using prompt
Create and launch an environment called dev in checkout.or
Using command
raptor create environment dev -p checkout --launch -w
# If the environment already exists but is stopped, launch it instead
raptor launch environment dev -p checkout -w-w waits and tails the logs until the launch finishes.
New to the CLI? Install it first.
Open the Launch Wizard from the Environment Overview page and click Launch. The wizard walks you through choosing infrastructure, enabling resources, configuring them, and setting secrets, then provisions the environment. See Dynamic Launch for the full wizard.
5. Deploy your application
A release applies your blueprint to the launched environment, deploying the service and its image.
Using prompt
Release checkout to dev and wait for it to finish.or
Using command
raptor create release -p checkout -e dev -wWith no type flags this is a full release. -w waits for it to finish and tails its logs.
New to the CLI? Install it first.
- Open Projects and select your project, then the Environments tab and the
devenvironment. - Click Release.
- Under Release type, choose Full Release.
- Click Review release, then Release to deploy.
See Releases for selective and custom releases, plans, and rollout strategies.
6. Confirm it is running
When the release finishes, the environment shows as Running. Open the Resource Center (or the Environment Overview) to see your web service live, with its status, logs, and metrics.
To make the application reachable on a custom domain, add an ingress resource, map the domain, and add the CNAME record at your DNS provider. See Exposing to the internet.
You now have a running application
That is the whole path: an imported catalogue, a project, a service pointed at an image, a launched environment, and a release that put it on your cloud. To go deeper:
- Project Types: what a project type bundles and how to shape your own.
- Projects: blueprints, environments, and resources.
- Releases: how deployments plan, apply, and promote.
The Facets GitHub App
How the Facets GitHub App installation works, what "GitHub org approval needed" means, and what to know before changing the installation on GitHub.
Deploy with an AI agent
Describe the outcome to your AI coding agent and it drives the Praxis CLI to stand up a running service on your cloud, with no cloud credentials on your laptop.