Skip to content

Ama2352/ride-hail-gitops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

84 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ride-hail-gitops (Repo 3 of 3)

GitOps source of truth for the Ride-Hailing platform. Part of a 3-repo GitOps architecture.


πŸ”— Related Repositories


πŸ›οΈ Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  ride-hail-platform β”‚     β”‚  ride-hail-services  β”‚     β”‚  ride-hail-gitops   β”‚
β”‚      (Repo 1)       β”‚     β”‚      (Repo 2)        β”‚     β”‚  >>> THIS REPO <<<  β”‚
β”‚                     β”‚     β”‚                      β”‚     β”‚                     β”‚
β”‚  Vagrant, Ansible,  β”‚     β”‚  Go source code,     β”‚     β”‚  K8s manifests,     β”‚
β”‚  K8s bootstrap,     β”‚     β”‚  Dockerfiles,        β”‚     β”‚  Helm values,       β”‚
β”‚  ArgoCD install     β”‚     β”‚  Jenkins & GitLab CI β”‚     β”‚  ArgoCD App defs    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β”‚  git commit image tag      β”‚
                                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Ίβ”˜
                                              ArgoCD reconciles

All cluster state (infrastructure tools and deployed APIs) flows exclusively through commits to this repository. No kubectl apply or helm install is ever run manually after Day 0.


πŸš€ Dual-CI Workflows

This system supports two independent Continuous Integration (CI) methods. Both pipelines end by publishing a container image and automatically triggering a deployment via GitOps.

Jenkins Workflow (Legacy/Alternative):

  1. Code pushed to ride-hail-services.
  2. Jenkins builds the Docker images and pushes to Docker Hub.
  3. Jenkins clones ride-hail-gitops, patches the dev Kustomize overlays with the new tag, and pushes back to main.
  4. ArgoCD detects the new tag and rolls out the deployment.

GitLab CI Workflow (Primary):

  1. Code pushed to ride-hail-services.
  2. GitLab CI natively builds, scans (Trivy), and pushes images using Docker-in-Docker.
  3. The gitops_update_dev job clones ride-hail-gitops, natively updates the newTag in Kustomization files, and pushes the commit.
  4. ArgoCD handles the sync.

βš™οΈ Setup Guide (Fresh Environment)

  1. Infrastructure: Go to ride-hail-platform and run vagrant up to provision the VMs and install Kubernetes/ArgoCD.
  2. Bootstrap: The Vagrant provisioning natively executes kubectl apply -n argocd -f root-app.yaml.
  3. Reconciliation: ArgoCD uses the parameterized Helm "App of Apps" pattern (platform/argocd/) to resolve and deploy all dependent shared tools and custom apps.

(To migrate origin URLs from GitHub to GitLab, simply update repoURL in root-app.yaml and platform/argocd/values.yaml.)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors