Skip to main content

Install an application

Pick a marketplace package, target an edge, configure values, install. Most installs take 10-60 seconds; large charts may take several minutes.

From the marketplace​

  1. Sidebar → Marketplace
  2. Find the package (use the category chips or search box)
  3. Click the card → click Install

The install drawer slides in. Three sections to fill:

Target​

  • Edge instance — the cluster to install on. Only shows edges this org owns + public edges flagged installable.
  • Namespace — k8s namespace. Pre-fills with the package's default. Change if you need to.
  • Release name — helm release name. Pre-fills, but make it meaningful — this is what shows in your Applications list and what you use for upgrades.

Protected namespaces (e.g. kube-system, cert-manager, dtedge itself) are blocked at install time. Pick a different namespace.

Version​

Most packages have multiple versions. The dropdown shows them newest-first. Stick with the latest unless you have a specific version pin requirement.

Values​

Two views, toggle at the top of the section:

  • Form — typed inputs the package author defined via x-form-schemas. Validates as you type. Easiest path.
  • YAML — the raw values.yaml the chart receives. Full flexibility; you're responsible for syntax.

If the package didn't ship a form schema, only YAML shows up.

You can switch between the two; switching from Form to YAML serializes your form inputs to YAML. Switching back tries to deserialize; if your YAML doesn't fit the schema, you'll see warnings and the form fills in what it can.

From an existing release (reinstall)​

Sidebar → Applications → find the release → Reinstall.

Same drawer as a fresh install but with the previous values pre-filled. Useful when you want the same configuration with the same release name on the same target.

What happens after you click Install​

  1. The drawer closes; you see a toast "Operation queued".
  2. A new row appears in Applications with status pending → running → deployed (or failed).
  3. DT Edge Platform stamps the helm release with the dtedge.io/managed=true label so it shows in your Applications list.

The page polls + receives WebSocket updates; you don't need to refresh. If you want a live log tail, click into the release → Detail → the operation card shows streamed output.

Image-pull credentials (mostly automatic)​

If the chart pulls container images from a private registry:

  • If the chart's helm registry was registered with is_image_registry=true, DT Edge Platform automatically creates a dockerconfigjson Secret in the install namespace and patches the default ServiceAccount with imagePullSecrets. You don't do anything.
  • If the chart uses multiple image registries, the package publisher should have linked extra registries to it (visible on the package detail page → "Image registries" section). The install wires all of them in automatically.
  • For one-off cases, the install request supports an optional image_registry_ids field — surfaced in the install drawer's Advanced section as a multi-select.

If pods come up with ImagePullBackOff, check this section first.

Install a package the marketplace doesn't have​

Two options:

  1. Publish it to the marketplace first — see How-to: publish a marketplace package. Recommended when other people will need it too.
  2. Direct helm install via the API — there's a backend endpoint that takes a chart_ref + version + values without a marketplace row. Not surfaced in the UI; use the API docs in the backend repo. Don't do this for routine work — the marketplace path gives you discoverability + form schemas.

Common errors​

  • PROTECTED_NAMESPACE — pick a different namespace
  • OPERATION_IN_PROGRESS — another install/upgrade is already running for the same release name on the same edge; wait or cancel
  • FLEET_QUOTA_EXCEEDED — the install would push the license over a fleet capacity cap; see Handle fleet quota exceeded
  • Chart pull failed (in the operation log) — registry unreachable or wrong creds. Test the registry from Registries → Test connection and re-attempt.
  • Validation error — form values don't match the schema; the form will highlight which field

See also​