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:
- Testing environment - Apps deploy first
- Staging environment - Apps deploy second
- 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