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) ├── Project (your application) │ └── Environment (production, staging, etc.) │ ├── Custom domain (your own hostname for the environment) │ └── 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 orgsSLUG NAME PERSONAL* acme-corp Acme Corporation nojane-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 listNAME SLUG DEFAULT CREATEDProduction production yes 2026-08-15T10:02:11.000000ZStaging staging no 2026-08-20T08:41:57.000000Zske 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. ske link links a local directory to a project and a default environment.
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 listID TYPE STATUS CREATED7246182409966278657 cache:create running 2026-09-20T14:35:02.000000Z7246181998310522881 database:create succeeded 2026-09-20T14:30:41.000000Z7246181523785342977 network:create succeeded 2026-09-20T14:28:09.000000ZAll 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.
Linked directory
Section titled “Linked directory”ske link saves the project and default environment for a directory in .ske/project.json, kept out of git:
ske link --project my-laravel-app --env productionThe CLI uses it to decide which project and environment to target when you run commands like ske deploy. --project and --env, or SKE_PROJECT and SKE_ENV, override it. The environment’s settings themselves are kept in SKE and changed in the dashboard.