Skip to content

GitOps Workflow

This section documents the GitOps workflow used in the RCIIS DevOps project.

Overview

The RCIIS DevOps project follows GitOps principles using ArgoCD for continuous deployment.

Workflow Process

1. Code Changes

  • Developers commit changes to application repositories
  • CI/CD pipelines build and push container images
  • Chart versions are automatically updated

2. GitOps Repository Updates

  • This repository contains the desired state of all environments
  • ApplicationSets manage multiple applications across environments
  • Rolling sync strategy ensures safe deployments

3. ArgoCD Synchronization

  • ArgoCD monitors this repository for changes
  • Automatically applies changes to Kubernetes clusters
  • Provides rollback capabilities and deployment history

ApplicationSet Strategy

The project uses ArgoCD ApplicationSets with a rolling sync strategy:

  1. Testing environment - Apps deploy first
  2. Staging environment - Apps deploy second
  3. Production environment - Apps deploy last (currently disabled)

Wave-based Deployment

Applications are organized in waves for proper dependency ordering:

  • Wave 1: Infrastructure components (databases, message queues)
  • Wave 2: Core services and APIs
  • Wave 3: Frontend applications and integrations

Multi-Source Pattern

Applications use multiple sources:

  • Values repository: git@github.com:MagnaBC/rciis-devops.git (this repo)
  • Chart repositories: Various Helm registries and Harbor registry
  • Manifest repositories: Direct manifest deployments

Monitoring and Observability

  • ArgoCD UI provides deployment status and history
  • Kubernetes events are monitored for deployment issues
  • Application health checks ensure service availability