Skip to content
SYS.DOCS // DOCS

Apps and add-ons

edka apps installs and manages the apps of the catalog: Edka’s own, the custom apps your organization published, and the community’s. edka addons installs, updates and uninstalls the add-ons of a cluster. Both work in the linked cluster or the one --cluster names.

  • The Edka CLI, signed in with edka login.
  • A cluster. An app that uses PostgreSQL, Valkey or ClickHouse needs an instance of it in the cluster.
  1. Find the app and list its settings, with their defaults and which are required:

    Terminal window
    edka apps catalog --category databases
    edka apps catalog umami
  2. Install it and wait until it runs:

    Terminal window
    edka apps install umami --wait

    In a terminal, install asks for what the app needs:

    • the PostgreSQL, Valkey or ClickHouse instance it uses, then the database and user in that instance, each from a picker;
    • secrets the catalog doesn’t generate, at a hidden prompt;
    • whether to expose the app, then its traffic class, then a hostname from the cluster’s domains on that class. For a wildcard domain, you type the name under it;
    • a name for the new instance, when the app is already installed in the cluster.

    It then shows every setting it will send and asks to go ahead. --yes skips that question. Settings you didn’t set keep the catalog’s defaults, and Edka generates the app’s passwords.

  3. With --wait, the command prints progress until the app is installed, and then the app with the status installed.

--set key=value sets a setting without a question. A setting with a list of options takes the option’s name. --set refuses secrets, since shell history keeps them. Enter them at the prompt, or put them in a file for --data @file.json.

Terminal window
edka apps install umami --set postgres_instance=postgres --set postgres_database=umami --set hostname=stats.example.com
edka apps install n8n --name n8n-staging --data @n8n.json

Scripts and agents never get a question. To find the value of a setting with a list of options, list them:

Terminal window
$ edka apps options umami postgres_database --set postgres_instance=postgres --json
{"data": [{"value": "umami", "label": "umami"}], "open": false}

open is true for lists such as namespaces, where a new name works too. A list that depends on another setting takes that setting with --set.

With --json, a failed install prints each missing setting on stderr, with its options or the setting it depends on:

{
"error": "…",
"status": 400,
"fields": [
{
"field": "postgres_instance",
"message": "Required",
"label": "PostgreSQL instance",
"type": "dynamic-select",
"options": [{ "value": "104b21ed-…", "label": "postgres (postgres.postgres)" }]
},
{
"field": "postgres_database",
"message": "Required",
"label": "PostgreSQL database",
"type": "dynamic-select",
"depends_on": "postgres_instance"
}
]
}
Terminal window
edka apps list # Apps in the linked cluster, or in every cluster
edka apps list --all --json
edka apps get strapi
edka apps logs strapi --follow
edka apps diagnose strapi # Why the app is not running
edka apps update strapi --wait # Move to the latest version
edka apps uninstall strapi

Commands find an app by the name the console shows, or by its instance or release name. apps update moves an app to the latest version of the catalog, or to the one --version names. update and uninstall ask for confirmation, or take --yes. See Diagnose problems for what apps diagnose finds.

To package, publish and share your own app, see Custom apps.

Terminal window
edka addons list # Installed add-ons, their versions and updates
edka addons list --outdated
edka addons get cert-manager
edka addons catalog --category security
edka addons install reflector --wait
edka addons update cert-manager --wait # Update to the catalog version
edka addons update --all --wait # Update every add-on that has an update
edka addons uninstall reflector

The UPDATE column of addons list names the catalog version when it is newer than the installed one, and --outdated lists only those add-ons.

addons update moves an add-on to the catalog version, or to the one --version names, and the add-on keeps its configuration. It shows both versions and asks for confirmation, or takes --yes. --all updates every add-on with a newer catalog version, after the add-ons it depends on, and asks once. With --wait, each update finishes before the next starts, and a failure stops the rest and names them.

addons install installs the catalog version with the add-ons it depends on, and retries an add-on that failed. addons uninstall refuses a required add-on, one that another installed add-on depends on, and one that is still installing or updating. Edka also refuses while an app, a database or a domain uses the add-on, and the error names what uses it.

install, update and uninstall take --wait, which prints progress until the operation ends. A failed operation exits with the reason Edka recorded.

The console installs, updates and uninstalls six add-ons from other views. edka addons lists them:

Add-onConsole view
ZotRegistries
GitHub Actions runner controllerActions
Envoy Gateway, Tailscale operator, MetalLB, Cloudflare connectorGateway