Simplifyd Cloud

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:

TypeDescription
dockerAny Docker image. Configure image, tag, vCPUs, memory, replicas, and region.
postgresA managed PostgreSQL cluster (backed by CloudNativePG).

The service command can be shortened to svc:

edge svc list

All service commands require a workspace, project, and environment.


list

List all services in the active environment.

edge service list
edge service list --json

Example 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-1

create

Create a new service.

edge service create --name <name> --type <type> [flags]

Required flags

FlagDescription
--nameService name
--typeService type: docker or postgres

Optional flags

FlagDescription
--imageDocker image name (e.g. nginx)
--tagDocker image tag (e.g. latest, 1.25)
--vcpusNumber of vCPUs
--memoryMemory in MB
--replicasNumber of replicas
--regionRegion 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 postgres

get

Get detailed information about a specific service.

edge service get <slug>
edge service get api --json

Example 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        running

update

Update one attribute of a service's configuration. Exactly one flag must be provided per call.

edge service update <slug> [flags]

Flags

FlagDescription
--nameNew service name
--vcpusNew vCPU count
--memoryNew memory in MB
--imageNew 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-abc1234

changeset

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

  1. Fetches the service and displays all staged changes as a table.
  2. If running interactively, prompts you for an action:
ChoiceKeyEffect
ApproveaDeploys the service — all staged changes are applied and the changeset is cleared.
DiscarddRolls back all staged changes to their previous values and clears the changeset.
ExiteDoes 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 api
Pending 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 --json

Prints 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 --force

Flags

FlagDescription
--forceSkip 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>]
FlagDescription
--protocolhttp or grpc (required)
--portContainer port to expose (required)
--custom-fqdnCustom 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.com

ingress 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.