Skip to content
English
  • There are no suggestions because the search field is empty.

Plugin Generator for ApplicationSet on Akuity — how to deploy and wire it up

How should an ApplicationSet plugin generator be deployed and configured when using Akuity’s control plane? Where does the plugin run, how does Argo CD (on Akuity) talk to it, and how is the plugin referenced from an ApplicationSet?

An ApplicationSet plugin can be used with Akuity. The plugin itself runs as a reachable HTTP(S) service (either inside a cluster or externally). Argo CD (the Akuity control plane) needs a small config entry that points at that service (base URL, timeout, optional token). That config is stored as a ConfigMap named plugin-<name> and referenced from the ApplicationSet generator. Deploy the plugin service where the control plane can reach it (commonly the control-plane cluster or a publicly-routable/ingress endpoint), secure it with TLS and auth, create the plugin-<name> ConfigMap in the argocd/Akuity namespace (or via the Akuity UI), and then reference it from the ApplicationSet.

plugin-gen

 

How it works (conceptual)

  1. Plugin service – a small HTTP service implementing the ApplicationSet plugin generator contract. When Argo CD calls it, the plugin returns the list of elements/app definitions (JSON/YAML).

  2. ConfigMap in Argo CD – a ConfigMap named plugin-<name> (or created via the Akuity “Plugins Generator” UI) holds the plugin metadata Argo CD needs: base URL, request timeout, token, etc.

  3. ApplicationSet generator – the ApplicationSet uses generator: plugin and references that plugin-<name> config entry. Argo CD will call the plugin endpoint and use its response to generate Applications.

Where to deploy the plugin service

Options (pick one based on network/security/operations):

  • Control-plane cluster (in-cluster)

    • Deploy the plugin as a Deployment + Service in the same cluster/namespace where the control plane (argocd) runs or in a namespace routable to it. Advantage: minimal networking friction; Argo CD can reach the service via cluster DNS (or an internal LB).

  • Dedicated service cluster / team cluster

    • Deploy in a separate cluster but expose it via an ingress or internal LB reachable by the Akuity control plane. Ensure network path and firewall/NAT are correct.

  • External managed service

    • Host the plugin as an externally accessible HTTPS endpoint (e.g., behind an API gateway). Secure with TLS and token auth.

Recommendation: run the plugin inside the control plane’s network or on a cluster with direct connectivity to the control plane to avoid NAT/IP allow-list headaches.

References:

  • Argo CD: ApplicationSet plugin generator docs — (see the ApplicationSet generator plugin section in Argo CD docs).
    (Example canonical doc: Argo CD — ApplicationSet generators — Plugins.)

  • Akuity docs: look for Plugins Generator settings or the ApplicationSet guidance in the Akuity control plane docs. The control panel UI (“Plugins Generator”) shows the Base URL / Token / Request Timeout columns and is the same logical config.