Skip to main content
Version: 6.16.0

How to Deploy Applications with Argo CD

note

This guide is intended for platform administrators with administrative access to Argo CD and kubectl access to the SmoothGlue cluster.

Application developers are not granted sufficient permissions to fully complete their application's onboarding for SmoothGlue, so platform administrators/system integrators may be called upon to help facilitate the process. Before proceeding with this guide, ensure that the application developers have completed the steps in Preparing Applications for Deployment and have provided the following information:

This guide covers how to configure applications for deployment.

Configure Namespace Labels

Conventionally, each team will deploy their applications within a single target Kubernetes namespace. If the application's target namespace does not yet exist, create it with the following kubectl command (replacing YOUR_NAMESPACE as appropriate):

kubectl create namespace YOUR_NAMESPACE

In order for Argo CD applications to be successfully deployed on SmoothGlue Enterprise, the following labels should be applied to the namespace:

  • istio-injection=enabled
    • This label ensures that the Istio sidecar is injected and the application is integrated into the Istio service mesh. This is required for external traffic to reach the application (via an Istio Virtual Service).
  • zarf.dev/agent=ignore
    • This label bypasses Zarf's mutating webhook, allowing container images to be pulled from registries outside of Zarf's local cache.
    • Note that because applications are Istio-injected, SmoothGlue uses containerd mirroring to allow the Istio sidecar to be pulled locally from the Zarf registry even when this flag is present. See Disabling Zarf Registry Iron Bank Mirror for more information on this.

Both labels can be applied simultaneously using the following command:

kubectl label namespace YOUR_NAMESPACE istio-injection=enabled zarf.dev/agent=ignore

Obtain Registry Credentials

Configure Argo CD

  • AppProject
  • Applications
  • Secrets