-
Generate the Argo CD Application or AppProject Kubernetes custom resources for the Quarkus application
-
Command Line interface to install / uninstall and list Argo CD Application(s)
-
Integration with Quarkus Helm
-
DevServices able to install Argo CD on kubernetes cluster: kind or k3s
-
Project added under a version control system and pushed on a repository (e.g. GitHub, etc.)
-
A Kubernetes cluster with Argo CD installed and supporting
argoproj.io/v1alpha1
.
To get the Argo CD custom resources generated, it is needed to add the quarkus-argocd
extension to a Quarkus project.
To add the extension to the project, manually edit the pom.xml
or build.gradle
file.
<dependency>
<groupId>io.quarkiverse.argocd</groupId>
<artifactId>quarkus-argocd</artifactId>
<version>999-SNAPSHOT</version>
</dependency>
The project provides a companion CLI that can be used to generate, install / uninstall and list the Argo CD Applications. The CLI can be added with the following command:
quarkus plug add io.quarkiverse.argocd:quarkus-argocd-cli:999-SNAPSHOT
To re-trigger the file generation:
quarkus argocd project generate
Note: Several parameters can be used to configure the generated CR. Use quarkus argocd generate -h
to display the usage.
To install the generated Application
and AppProject
(optional) custom resources to the currently connected Kubernetes cluster:
quarkus argocd project install
Note: In case of un-committed or un-pushed changes the command will prompt users to decide if they want to proceed with the installation.
The currently connected Kubernetes cluster
is the one that is configured in the ~/.kube/config
file.
It can be overridden by setting in applcation.properties
a different API server URL and token. See the quarkus-kubernetes-client
extension for more details.
To uninstall:
quarkus argocd project uninstall