﻿# Supported Use Cases

The Octopus and Argo CD integration supports a variety of application configurations. This page covers how each step behaves for different application shapes, and any constraints to be aware of.

## Constraints

- Octopus updates content in the repositories referenced by your application. It does not update pinned `TargetRevisions` in your `Application.yaml`.
  - If your application specifies a constant `TargetRevision`, Octopus treats it as a branch and will fail to push back to your repository.
- Helm sources that directly reference a chart from a Helm repository or OCI feed are read-only and can't be updated by Octopus.
  - If your application is represented as a Helm chart *in a directory*, Octopus can update the directory content in the application's repository.
- Pull requests can be created for GitHub, GitLab, and Azure DevOps hosted repositories (e.g. \*.github.com, \*.gitlab.com).
  - Please [let us know](https://oc.to/roadmap-argo-cd) which other providers you would like to see supported.
- Multiple source applications require Argo CD 2.14.0 or above (corresponding to the introduction of named sources in Argo CD).
  - Single source applications are supported in all versions of Argo CD.

For details on how each step behaves, see:

- [Update Argo CD Application Image Tags](/docs/argo-cd/steps/update-application-image-tags)
- [Update Argo CD Application Manifests](/docs/argo-cd/steps/update-application-manifests)
