Concepts
SKE organizes resources in a hierarchy. Understanding this hierarchy is essential for managing projects, permissions, and infrastructure.
Resource hierarchy
Section titled “Resource hierarchy”Organization (billing root, team membership)└── Workspace (isolation boundary for projects and infrastructure) ├── Cloud Provider (AWS account or GCP project credentials) ├── Network (VPC / subnet configuration) │ ├── Database (RDS or Cloud SQL instance) │ └── Cache (ElastiCache or Memorystore instance) ├── Domain (registered domain for custom URLs) ├── Project (your application) │ └── Environment (production, staging, etc.) │ └── Deployment (a released version of your code)Organization
Section titled “Organization”An organization is the top-level billing and membership boundary. Every user has a personal organization created at signup. You can create additional organizations for companies or teams.
Organizations own billing, members, teams, and roles. All resources ultimately belong to an organization.
Switch between organizations:
ske orgs SLUG NAME PERSONAL* acme-corp Acme Corporation no jane-doe Jane Doe yesske orgs switch acme-corpWorkspace
Section titled “Workspace”A workspace groups related projects and infrastructure within an organization. Every organization has a default workspace created automatically.
Workspaces provide isolation — cloud providers, networks, databases, and caches are scoped to a workspace. A common pattern is one workspace per client or product line.
ske workspace list NAME SLUG DEFAULT CREATED Production production yes 2026-08-15 Staging staging no 2026-08-20ske workspace switch productionCloud Provider
Section titled “Cloud Provider”A cloud provider connects an external AWS account or GCP project to your workspace. SKE uses the provided credentials to provision and manage infrastructure inside that account.
Each workspace can have multiple cloud providers. An environment references a specific provider for deployment.
See Cloud Providers for setup instructions.
Project
Section titled “Project”A project represents a single application. It has a name, a runtime (e.g., laravel), and one or more environments.
Projects live in a workspace and are identified by a slug. The ske.yml file in your repository root links your local code to an SKE project.
Environment
Section titled “Environment”An environment is a deployment target within a project — typically production, staging, or development. Each environment has its own:
- Cloud provider and region
- Container image version
- Secrets and environment variables
- Database, cache, and network configuration
- Custom domains
- Deployment history
Environments are isolated from each other. A deployment to staging does not affect production.
Deployment
Section titled “Deployment”A deployment is a specific release of your code to an environment. Each deployment produces an immutable container image stored in your cloud provider’s registry.
Deployments have a status lifecycle:
| Status | Meaning |
|---|---|
pending |
Deployment created, waiting to start |
building |
Container image being built and pushed |
deploying |
Infrastructure being provisioned or updated |
succeeded |
Live and serving traffic |
failed |
Something went wrong (check deployment output) |
cancelled |
Cancelled before completion |
Deployment types:
| Type | Meaning |
|---|---|
deploy |
A new code release |
rollback |
Reactivating a previous deployment’s image |
env_sync |
Applying configuration changes without new code |
maintenance |
Toggling maintenance mode |
Infrastructure Operation
Section titled “Infrastructure Operation”Infrastructure operations are asynchronous jobs for provisioning or modifying cloud resources — creating a database, setting up a VPC, or issuing an SSL certificate. They run in the background and report progress through the API.
ske job list ID TYPE STATUS CREATED 42 database:create succeeded 2026-09-15 14:30 41 network:create succeeded 2026-09-15 14:28 40 cache:create running 2026-09-15 14:35All infrastructure operations are non-blocking. SKE submits the operation and polls for completion with exponential backoff, so the CLI returns immediately while the work happens in your cloud account.
ske.yml
Section titled “ske.yml”The ske.yml file in your project root maps your local code to an SKE project and environment:
name: my-laravel-appenvironments: production: {} staging: region: eu-west-1Run ske init to create it interactively, or edit it by hand. The CLI uses this file to determine which project and environment to target when you run commands like ske deploy.