https://github.com/mcaimi/k8s-demo-argocd
https://github.com/mcaimi/k8s-demo-argocd
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/mcaimi/k8s-demo-argocd
- Owner: mcaimi
- Created: 2021-06-14T08:13:14.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-02-05T16:11:24.000Z (over 2 years ago)
- Last Synced: 2025-06-14T18:08:12.328Z (about 1 year ago)
- Language: Shell
- Size: 85.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
K8S QUARKUS APPLICATION DEMO: GitOps with ArgoCD
================================================
This repo holds the deployment manifests templates that are used to deploy the demo application built from this_ repository into a compatible Kubernetes or Openshift cluster.
This demo uses:
- Git as the source of truth for templates
- ArgoCD as the deployment manager.
- Quarkus as the application runtime for the demo app
- PostgreSQL as a backend relational DB
- ServiceMesh for security, observability
Deploy Operators
----------------
Cluster configuration is performed in a GitOps native way. Relevant components are deployed as part of the application itself:
- The Openshift GitOps Operator and ArgoCD Application Controller
- The Openshift Pipelines Operator
- The Openshift Service Mesh Operator and Control Plane instance
.. code:: bash
$ oc apply -k config/ocp-gitops/operator
Once ArgoCD is up & running, let's install the remaining dependencies
.. code:: bash
$ oc apply -k config/ocp-pipelines/argocd
$ oc apply -k config/ocp-servicemesh/argocd
At some point, the status of every application will converge to an healthy and synced state.
Deploy Tekton Pipelines and Build the Application
-------------------------------------------------
The application lifecycle is managed through ArgoCD:
- There is one folder that contains Tekton Build Pipelines and Pipeline Triggers used to build the runnable container image
- Another folder contains the Quarkus Application deployment manifests
- Servicemesh configuration is configured as a standalone ArgoCD Application as well as the backend DB.
First step, deploy the CI Pipelines and frontend deployment manifests:
.. code:: bash
$ oc apply -k application/quarkus-notes/
At this point, the Backend Database deployment Application and Servicemesh Configuration Application can be created:
.. code:: bash
$ oc apply -k application/postgres
$ oc apply -k application/servicemesh
Lastly, the Quarkus App must be built. Either run the pipeline or configure a Git webhook that calls into the EventListener in tekton.
.. _this: https://github.com/mcaimi/quarkus-notes.git