Deployment Approaches
GitOps with GitHub Actions
Recommended for teamsAutomated deployments with GitHub Actions, code review workflows, and multi-environment promotion
CLI for Development
Best for local developmentDirect CLI access for rapid iteration and local testing before committing changes
Why GitOps for Kodexa?
Traditional Deployment Challenges
Before GitOps, managing Kodexa configurations across environments involved:- ❌ Manual changes prone to human error
- ❌ No audit trail of who changed what
- ❌ Difficult to rollback problematic changes
- ❌ Hard to maintain consistency across environments
- ❌ No code review for infrastructure changes
GitOps Benefits
With Git-based workflows, you get:- ✅ Version Control - Full history of all changes
- ✅ Code Review - Pull requests for infrastructure changes
- ✅ Rollback - Easy revert to any previous state
- ✅ Multi-Environment - Promote changes dev → staging → production
- ✅ Automation - CI/CD pipelines for deployment
- ✅ Collaboration - Team can review and approve changes
Quick Comparison
| Aspect | GitHub Actions | CLI |
|---|---|---|
| Best For | Production deployments | Local development |
| Automation | Fully automated | Manual |
| Code Review | Built-in via PRs | N/A |
| Multi-Environment | Easy with workflows | Manual switching |
| Audit Trail | Git history | Local only |
| Team Collaboration | Excellent | Limited |
| Setup Complexity | Moderate | Minimal |
Common Use Cases
Multi-Environment Deployment
Deploy configurations across development, staging, and production with automated promotion:Pull Request Validation
Validate changes before they reach production:Local Development
Use the CLI for rapid development iteration:Repository Structure
Both approaches use the same repository structure:Getting Started
1
Choose Your Approach
For teams: Start with GitOps with GitHub ActionsFor solo development: Start with CLI
2
Initialize Repository
Pull existing configuration or create new structure
3
Configure Workflows
Set up deployment workflows for your needs
4
Deploy
Push changes and let automation handle deployment
