> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/internal-developer-portal/use-idp/plugins/available-plugins/argo-cd.md).

# Argo CD Plugin

| Plugin details |                                                                                                                                                 |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Created by** | [Roadie](https://roadie.io/)                                                                                                                    |
| **Category**   | Image                                                                                                                                           |
| **Source**     | [GitHub](https://github.com/RoadieHQ/roadie-backstage-plugins/tree/main/plugins/frontend/backstage-plugin-argo-cd#argo-cd-plugin-for-backstage) |
| **Type**       | Open-source plugin                                                                                                                              |

![](/files/BpJV60NdAwSUew14sryL)

### Configuration <a href="#configuration" id="configuration"></a>

#### Application configuration YAML <a href="#application-configuration-yaml" id="application-configuration-yaml"></a>

This plugin requires a backend proxy configuration to make calls to your argo-cd instance with authentication.

* Under the **Plugins** tab in **Configure**, go to `app-config.yaml` and **Edit YAML** to configure your `username` along with the `url` to your argo instance in the format as shown below.

```yaml
# app-config.yaml <a href="#app-configyaml" id="app-configyaml"></a>
argocd:
  username: your-username
  password: ${ARGOCD_PASSWORD}
  appLocatorMethods:
    - type: 'config'
      instances:
        - name: argoInstance1
          url: https://argoInstance1.com
          token: ${ARGOCD_AUTH_TOKEN}
```

#### Secrets <a href="#secrets" id="secrets"></a>

* You need to add the `ARGOCD_PASSWORD` and `ARGOCD_AUTH_TOKEN`(Optional) as a Harness Secret. Also, if both are mentioned `ARGOCD_PASSWORD` will take precedence.
* **Create secret in Harness** to store API token, click on “New Secret Text” and enter values as shown below.

![](/files/5xlv8py0pkDk9uMOK8Kd)

### Layout <a href="#layout" id="layout"></a>

*No action required*

This plugin exports a UI card that you can show on the **Overview** tab of a service or any other layout page. The following configuration is set by default in **Layout** under **Catalog Entities** for **Service** and you do not need to change anything:

```yaml
- component: EntityArgoCDOverviewCard
```

### Annotations <a href="#annotations" id="annotations"></a>

* Details of your argo-cd instance are correlated to IDP entities using an annotation added in the entity's `catalog-info.yaml` file.

```yaml
metadata:
  annotations:
    argocd/app-name: <your-app-name>
```

### Note <a href="#note" id="note"></a>

When using Argo CD without SSL(HTTPS), the plugin may fail to retrieve data correctly, even if configured with the HTTPS endpoint. This occurs because when operating over HTTP, Argo CD will not accept the connection unless the `server.insecure` configuration is set to `true`.

In Kubernetes (K8s) environments where Argo CD is deployed, the associated ConfigMap may not include this configuration flag by default. The `server.insecure` flag needs to be enabled in the ConfigMap to allow HTTP access. The following Kubernetes commands can be used to enable this configuration:

```bash
kubectl patch configmap argocd-cmd-params-cm -n argocd --type merge -p '{"data":{"server.insecure":"true"}}'
kubectl rollout restart deployment argocd-server -n argocd
```

### Support <a href="#support" id="support"></a>

The plugin is owned by RedHat and managed in this [repository](https://github.com/RoadieHQ/roadie-backstage-plugins/tree/main/plugins/frontend/backstage-plugin-argo-cd#argo-cd-plugin-for-backstage) as an open-source project. Create a GitHub issue to report bugs or suggest new features for the plugin.
