Services
Create, inspect, update, and delete services. Manage ingress rules.
A service is a containerised workload running inside an environment. Simplifyd Cloud supports two service types:
| Type | Description |
|---|---|
docker | Any Docker image. Configure image, tag, vCPUs, memory, replicas, and region. |
postgres | A managed PostgreSQL cluster (backed by CloudNativePG). |
The service command can be shortened to svc:
edge svc listAll service commands require a workspace, project, and environment.
list
List all services in the active environment.
edge service list
edge service list --jsonExample output
SLUG NAME TYPE STATUS REGION
api API docker running ng-west-1
db Database postgres running ng-west-1
worker Worker docker stopped ng-west-1create
Create a new service.
edge service create --name <name> --type <type> [flags]Required flags
| Flag | Description |
|---|---|
--name | Service name |
--type | Service type: docker or postgres |
Optional flags
| Flag | Description |
|---|---|
--image | Docker image name (e.g. nginx) |
--tag | Docker image tag (e.g. latest, 1.25) |
--vcpus | Number of vCPUs |
--memory | Memory in MB |
--replicas | Number of replicas |
--region | Region slug |
Examples
# Docker service with custom resources
edge service create \
--name api \
--type docker \
--image my-org/api \
--tag v2.1.0 \
--vcpus 2 \
--memory 512 \
--replicas 3 \
--region ng-west-1
# Managed Postgres
edge service create --name db --type postgresget
Get detailed information about a specific service.
edge service get <slug>
edge service get api --jsonExample output
FIELD VALUE
Slug api
Name API
Type docker
Image my-org/api
Tag v2.1.0
vCPUs 2
Memory (MB) 512
Replicas 3
Region ng-west-1
Status runningupdate
Update one attribute of a service's configuration. Exactly one flag must be provided per call.
edge service update <slug> [flags]Flags
| Flag | Description |
|---|---|
--name | New service name |
--vcpus | New vCPU count |
--memory | New memory in MB |
--image | New Docker image, optionally including a tag (e.g. nginx:1.27, registry.example.com/app:v2) |
Only one flag may be passed at a time. Run separate update calls to change multiple attributes.
Changes to --vcpus, --memory, and --image are staged in the service's changeset and take effect on the next deployment. Use edge service changeset to review and act on pending changes.
Examples
# Rename a service
edge service update api --name api-v2
# Scale memory (staged — deploy to apply)
edge service update api --memory 1024
# Change vCPU allocation (staged — deploy to apply)
edge service update api --vcpus 4
# Change the Docker image and tag (staged — deploy to apply)
edge service update api --image my-org/api:v3.0.0
# Switch to a fully-qualified registry image
edge service update worker --image ghcr.io/my-org/worker:sha-abc1234changeset
View the pending changes for a service and choose whether to deploy or discard them.
Changes made with edge service update --vcpus, --memory, or --image, as well as variable mutations (edge variables set), are staged in a changeset rather than applied immediately. The changeset accumulates changes until you either deploy the service (which applies and clears it) or explicitly discard it.
edge service changeset <svc-slug>What it does
- Fetches the service and displays all staged changes as a table.
- If running interactively, prompts you for an action:
| Choice | Key | Effect |
|---|---|---|
| Approve | a | Deploys the service — all staged changes are applied and the changeset is cleared. |
| Discard | d | Rolls back all staged changes to their previous values and clears the changeset. |
| Exit | e | Does nothing. The changeset remains as-is. |
In non-interactive mode (e.g. piped output or CI) the table is printed and the command exits without prompting.
Example
edge service changeset apiPending changes for service api:
TYPE ACTION NAME FROM TO
docker_image update docker_image my-org/api:v2.1.0 my-org/api:v3.0.0
memory update memory 512 1024
What would you like to do?
[a] approve — deploy the service with these changes
[d] discard — roll back all pending changes
[e] exit — do nothing
Choice [a/d/e]: a
✓ Deployment started (slug: dep-01j2k3..., status: pending)JSON output
edge service changeset api --jsonPrints the raw changeset array to stdout:
[
{
"type": "docker_image",
"action": "update",
"name": "docker_image",
"previous_value": "my-org/api:v2.1.0",
"new_value": "my-org/api:v3.0.0"
},
{
"type": "memory",
"action": "update",
"name": "memory",
"previous_value": "512",
"new_value": "1024"
}
]Deploying a service with edge deploy up also applies and clears the changeset automatically — you don't need to run changeset first.
delete
Delete a service. Prompts for confirmation unless --force is passed.
edge service delete <slug>
edge service delete api --forceFlags
| Flag | Description |
|---|---|
--force | Skip the confirmation prompt |
Deleting a service is permanent. All deployments, variables, and ingress rules for that service are also removed.
ingress
Manage ingress rules for a service. Ingress exposes a service port to the public internet via an auto-assigned FQDN (or a custom domain).
ingress add
edge service ingress add <svc-slug> --protocol <protocol> --port <port> [--custom-fqdn <domain>]| Flag | Description |
|---|---|
--protocol | http or grpc (required) |
--port | Container port to expose (required) |
--custom-fqdn | Custom domain name (optional) |
# Expose port 8080 over HTTP
edge service ingress add api --protocol http --port 8080
# Use a custom domain
edge service ingress add api --protocol http --port 8080 --custom-fqdn api.acme.comingress delete
edge service ingress delete <svc-slug> <ingress-slug>edge service ingress delete api ingress-01j2k3...config
Mount static config files (e.g. Caddyfile, nginx.conf) into a service at deploy time — without building a custom Docker image.
See the Configs reference for the full command documentation, including variable interpolation and a complete Caddy example.