:_mod-docs-content-type: ASSEMBLY
[id="microshift-gitops"]
= Automating application management with the GitOps controller
include::_attributes/attributes-microshift.adoc[]
:context: microshift-gitops

toc::[]

GitOps with Argo CD for {microshift-short} is a lightweight, optional add-on controller derived from the Red Hat OpenShift GitOps Operator. GitOps for {microshift-short} uses the command-line interface (CLI) of Argo CD to interact with the GitOps controller that acts as the declarative GitOps engine. You can consistently configure and deploy Kubernetes-based infrastructure and applications across clusters and development lifecycles.

[id="microshift-gitops-can-do_{context}"]
== What you can do with the GitOps agent
By using the GitOps with Argo CD agent with {microshift-short}, you can utilize the following principles:

* Implement application lifecycle management.
** Create and manage your clusters and application configuration files using the core principles of developing and maintaining software in a Git repository.
** You can update the single repository and GitOps automates the deployment of new applications or updates to existing ones.
** For example, if you have 1,000 edge devices, each using {microshift-short} and a local GitOps agent, you can easily add or update an application on all 1,000 devices with just one change in your central Git repository.
* The Git repository contains a declarative description of the infrastructure you need in your specified environment and contains an automated process to make your environment match the described state.
* You can also use the Git repository as an audit trail of changes so that you can create processes based on Git flows such as review and approval for merging pull requests that implement configuration changes.

[id="microshift-gitops-cannot-do_{context}"]
== Limitations of using the GitOps agent with {microshift-short}
GitOps with Argo CD for {microshift-short} has the following differences from the Red Hat OpenShift GitOps Operator:

* The `gitops-operator` component is not used with {microshift-short}.
* To maintain the small resource use of {microshift-short}, the Argo CD web console is not available. You can use the Argo CD CLI or use a pull-based approach.
* Because {microshift-short} is single-node, there is no multi-cluster support. Each instance of {microshift-short} is paired with a local GitOps agent.
* Use sos reports for debugging because `oc adm must-gather` is not available in {microshift-short}.

[id="additional-resources_microshift-gitops_{context}"]
[role="_additional-resources"]
== Additional resources
* link:https://access.redhat.com/documentation/en-us/red_hat_openshift_gitops/1.12[Red Hat OpenShift GitOps]

* xref:../microshift_support/microshift-sos-report.adoc#microshift-sos-report[Using sos reports]
