Argo CD Plugin

Published on January 31st, 2022

Introduction

The Argo CD plugin can present the current status of an application in your Roadie Backstage catalog.

Argo CD Overview Card

This page explains how to configure it in Roadie Backstage.

Prerequisites

  1. You must be an admin in Roadie. By default, all users are admins. Learn how to designate certain users as admins here.

Step 1: Create an API token

Roadie requires an API token to be able to connect to Argo CD.

You can generate a token via the Argo CD CLI or UI.

Via the CLI run:

argocd account generate-token --account <your-account> --id <optional-id>

Alternatively, visit the Argo CD UI at /settings/accounts/<your-account> click “Generate New” in the “Tokens” section.

Step 2: Store the API token in Roadie

Visit the Roadie Secrets page (show me how) and enter the token into the argo-cd-token secret.

Set argo-cd-token via UI

Step 3: Configure Roadie with your Argo CD endpoint

Enter your Argo CD server API endpoint into Roadie.

  1. Click “Administration” in the sidebar, then “Settings” in the tabs.
  2. Find “Argo CD” in the Configuration sidebar.
  3. Enter your Argo CD server API endpoint click “Save” then “Apply & Restart”.

Set Argo CD Config

Step 4: Add the UI elements

The Argo CD plugin provides two type of UI elements.

The EntityArgoCDOverviewCard presents the current status of an application:

Argo CD Overview Card

The EntityArgoCDHistoryCard displays the deployment history of an appliction:

Argo CD History Card

Both can be added to component dashboards.

The EntityArgoCDContent displays similar information to the history card and can be added as a tab to component layouts.

Argo CD Tab

Step 5: Add annotations

Add one of the following annotations to the yaml config file of a component

metadata:
  annotations:
    argocd/app-name: <your-app-name>
metadata:
  annotations:
    argocd/app-selector: <app-selector>

Multiple Argo CD Instances

If you require integrating with multiple Argo CD servers contact Roadie via the in-app chat widget and we will enable it for you.

References