Effixo effixo ← Home

efx — CLI Reference

Command-line interface for the Effixo platform.

Global flags

Available on every command.

FlagTypeDefaultDescription
--api-urlstringBackend API URL (overrides config)
--auth-urlstringAuth service URL (overrides config)
-o, --outputstringtableOutput format: table, json

efx

Effixo CLI — manage apps, services, and deployments

efx [flags]

efx is the command-line interface for the Effixo platform. Use it to create and manage apps, deploy and scale services, and handle secrets, volumes, organizations, and invites — from your terminal or CI. Configuration is resolved in order: command flags, then environment variables (EFX_API_URL, EFX_AUTH_URL, EFX_API_KEY), then ~/.efx/config.yaml, then built-in defaults. Authenticate once with 'efx login'.

Subcommands

apps · invites · login · logout · orgs · secrets · services · status · volumes · whoami

efx apps

Manage apps

efx apps

Aliases: app

Manage apps — the top-level grouping that owns your services. An app holds one or more services and carries team-based access (admin, writer, reader). Create an app first, then deploy services into it. Pausing or resuming an app cascades to its services, and teams can be assigned to an app to control who may view, deploy, or manage it.

# Create an app and list all apps
  efx apps create acme
  efx apps list

  # Grant a team writer access, then pause the app
  efx apps assign-team acme --team platform --role writer
  efx apps pause acme

Subcommands

assign-team · create · delete · get · list · pause · resume · teams · update

efx apps assign-team

Assign a team to an app with a role

efx apps assign-team <app> <team-name-or-id> [flags]

Flags

FlagTypeDefaultDescription
--rolestringwriterRole: admin, writer, reader

efx apps create

Create a new app

efx apps create <name>

efx apps delete

Delete an app

efx apps delete <id-or-name> [flags]

Flags

FlagTypeDefaultDescription
-y, --yesboolfalseSkip confirmation

efx apps get

Show app details

efx apps get <id-or-name>

efx apps list

List apps

efx apps list

efx apps pause

Pause an app

efx apps pause <id-or-name>

efx apps resume

Resume a paused app

efx apps resume <id-or-name>

efx apps teams

List team assignments for an app

efx apps teams <id-or-name>

efx apps update

Update an app (rename)

efx apps update <id-or-name> [flags]

Flags

FlagTypeDefaultDescription
--namestringNew app name

efx invites

Manage organization invites

efx invites

Invite users to your organization and manage pending invites. Create an invite for an email address, list outstanding invites, and revoke one that is no longer needed. Requires organization admin permissions.

efx invites create [email protected]
  efx invites list
  efx invites revoke [email protected]

Subcommands

create · list · revoke

efx invites create

Create an organization invite

efx invites create <email> [flags]

Flags

FlagTypeDefaultDescription
--rolestringmemberRole: admin or member
--teamstringSlice[]Optional team IDs to assign on accept (repeatable)

efx invites list

List pending invites

efx invites list

efx invites revoke

Revoke a pending invite

efx invites revoke <invite-id>

efx login

Authenticate with an API key

efx login [flags]

Authenticate with an Effixo API key. Provide the key with --api-key, the EFX_API_KEY environment variable, or the interactive prompt. The key is exchanged for a token and saved to ~/.efx/config.yaml so subsequent commands are authenticated. Create API keys in the console under Teams → API Keys.

efx login --api-key efx_xxx
  EFX_API_KEY=efx_xxx efx login

Flags

FlagTypeDefaultDescription
--api-keystringAPI key (or set EFX_API_KEY env var)

efx logout

Clear stored credentials

efx logout

efx orgs

List and switch organization context

efx orgs

List the organizations you belong to and switch the active one. The active org determines which apps, services, and secrets you see. Switching re-issues your token for the selected org and updates ~/.efx/config.yaml.

efx orgs list
  efx orgs switch acme-inc

Subcommands

list · switch

efx orgs list

List organizations for the current user

efx orgs list

efx orgs switch

Switch the current organization context

efx orgs switch <org-id|org-name>

efx secrets

Manage secrets

efx secrets

Aliases: secret

Manage secrets — encrypted key/value pairs injected into services. Secrets are org-scoped by default, or app-scoped with --app. Reference them from a service's environment at deploy time (for example via --secret-env on 'services create'). Values are write-only over the API and can be shown again only by users with permission, using 'secrets reveal'.

# Create an org-scoped and an app-scoped secret
  efx secrets create DB_PASSWORD --value s3cr3t
  efx secrets create API_KEY --value abc123 --app acme

  # List, then reveal a value
  efx secrets list
  efx secrets reveal DB_PASSWORD

Subcommands

create · delete · list · reveal · update

efx secrets create

Create a secret

efx secrets create <name> [flags]

Flags

FlagTypeDefaultDescription
--appstringApp name or ID (for app-scoped secrets)
--valuestringSecret value

efx secrets delete

Delete a secret

efx secrets delete <id-or-name> [flags]

Flags

FlagTypeDefaultDescription
-y, --yesboolfalseSkip confirmation

efx secrets list

List secrets

efx secrets list

efx secrets reveal

Reveal a secret's value (admin only)

efx secrets reveal <id-or-name>

efx secrets update

Update a secret's value

efx secrets update <id-or-name> [flags]

Flags

FlagTypeDefaultDescription
--valuestringNew secret value

efx services

Manage services

efx services

Aliases: svc, service

Manage services — the deployable workloads inside an app. A service runs a container image with a port, an optional HTTP route, scaling bounds, environment variables, secrets, and persistent volumes. Creating or updating a service produces a deployment; use 'redeploy' to roll it again with the current definition. Services belong to an app and deploy to a region.

# Create a web service in the "acme" app
  efx services create --app acme --name web \
    --image nginx:latest --port 80/http --route 80:/ --min-scale 1

  # Create a service with a persistent volume, then redeploy
  efx services create --app acme --name api --image myapi:1 \
    --volume data:/var/lib/data
  efx services redeploy web

Subcommands

create · delete · get · list · redeploy · update

efx services create

Create a service from a definition file or flags

efx services create [flags]

Flags

FlagTypeDefaultDescription
--appstringApp name or ID (required)
--envstringSlice[]Environment variable (KEY=VALUE, repeatable)
-f, --filestringDefinition JSON file
--imagestringDocker image
--instance-typestringInstance type (e.g. micro, small, medium)
--max-scaleint1Maximum number of instances
--min-scaleint1Minimum number of instances
--namestringService name
--portstringSlice[]Port (PORT/PROTOCOL e.g. 8080/http, repeatable)
--regionstringwep01Region
--routestringSlice[]Route (PORT:PATH e.g. 8080:/, repeatable)
--secret-envstringSlice[]Secret env var (KEY=SECRET_NAME, repeatable)
--typestringWEBService type (WEB, WORKER)
--volumestringSlice[]Volume mount (NAME:/mount/path, repeatable)

efx services delete

Delete a service

efx services delete <id-or-name> [flags]

Flags

FlagTypeDefaultDescription
--appstringApp name or ID (disambiguate same-named services)
-y, --yesboolfalseSkip confirmation

efx services get

Show service details

efx services get <id-or-name> [flags]

Flags

FlagTypeDefaultDescription
--appstringApp name or ID (disambiguate same-named services)

efx services list

List services

efx services list [flags]

Flags

FlagTypeDefaultDescription
--appstringFilter by app name or ID

efx services redeploy

Trigger a redeployment

efx services redeploy <id-or-name> [flags]

Flags

FlagTypeDefaultDescription
--appstringApp name or ID (disambiguate same-named services)

efx services update

Update a service's definition

efx services update <id-or-name> [flags]

Flags

FlagTypeDefaultDescription
--appstringApp name or ID (disambiguate same-named services)
--envstringSlice[]Environment variable (KEY=VALUE, repeatable)
-f, --filestringDefinition JSON file
--imagestringDocker image
--instance-typestringInstance type (e.g. micro, small, medium)
--max-scaleint0Maximum number of instances
--min-scaleint0Minimum number of instances
--namestringNew service name (rename)
--portstringSlice[]Port (PORT/PROTOCOL e.g. 8080/http, repeatable)
--regionstringRegion
--routestringSlice[]Route (PORT:PATH e.g. 8080:/, repeatable)
--secret-envstringSlice[]Secret env var (KEY=SECRET_NAME, repeatable)
--typestringService type (WEB, WORKER)

efx status

Show quick status overview

efx status [service-id] [flags]

Show a quick health overview. With no argument, prints a summary of your apps and services and their current status. Pass a service name or ID to drill into that service's deployments and instances. Use --app to disambiguate when a service name exists in multiple apps.

# Overview of everything
  efx status

  # Drill into one service
  efx status web --app acme

Flags

FlagTypeDefaultDescription
--appstringApp name or ID (disambiguate same-named services)

efx volumes

Manage persistent volumes

efx volumes

Aliases: volume, vol

Manage persistent volumes — movable disks that outlive a service. A volume is a named, org- or app-scoped disk. Its backing storage (PVC) is created lazily when a service that mounts it first deploys, survives detach, and can be handed off to another service one at a time (ReadWriteOnce). Deleting the volume is what destroys the data. Attach one to a service with the '--volume NAME:/mount/path' flag on 'services create'.

# Create volumes (default 1Gi, storage class local-path)
  efx volumes create data --size 5Gi
  efx volumes create cache --size 1Gi --app acme --storage-class local-path

  # List, then attach to a service
  efx volumes list
  efx services create --app acme --name db --image postgres:16 \
    --volume data:/var/lib/postgresql/data

Subcommands

create · delete · list

efx volumes create

Create a persistent volume

efx volumes create <name> [flags]

Flags

FlagTypeDefaultDescription
--appstringApp name or ID (for app-scoped volumes)
--sizestring1GiVolume size (e.g. 1Gi, 10Gi)
--storage-classstringStorage class (default: local-path)

efx volumes delete

Delete a persistent volume (destroys its data)

efx volumes delete <id-or-name> [flags]

Flags

FlagTypeDefaultDescription
-y, --yesboolfalseSkip confirmation

efx volumes list

List volumes

efx volumes list

efx whoami

Show current user, org, and role

efx whoami

Show who you are currently authenticated as. Prints your email, active organization, and your org and platform roles, based on the stored token. Useful for confirming which org context commands will run against before making changes.