← Back to all products

GitOps Workflow Templates

$39

ArgoCD and Flux configurations for GitOps deployments with environment promotion and rollback strategies.

📁 21 files🏷 v1.0.0
YAMLMarkdownJSONShellKubernetes

📁 File Structure 21 files

gitops-workflow-templates/ ├── LICENSE ├── README.md ├── argocd/ │ ├── application.yaml │ ├── applicationset.yaml │ ├── notifications/ │ │ └── slack-template.yaml │ ├── project.yaml │ └── sync-policy.yaml ├── fluxcd/ │ ├── alert.yaml │ ├── app-helmrelease.yaml │ ├── app-kustomization.yaml │ ├── git-repository.yaml │ └── slack-provider.yaml ├── guides/ │ └── gitops-patterns.md ├── kustomize/ │ ├── base/ │ │ └── kustomization.yaml │ └── overlays/ │ ├── dev/ │ │ └── kustomization.yaml │ ├── prod/ │ │ └── kustomization.yaml │ └── staging/ │ └── kustomization.yaml └── scripts/ ├── bootstrap-argocd.sh ├── bootstrap-fluxcd.sh └── promote.sh

📖 Documentation Preview README excerpt

GitOps Workflow Templates

Production-ready ArgoCD, FluxCD, and Kustomize configurations for declarative infrastructure delivery.

Part of the DevOps Toolkit by [Datanest Digital](https://datanest.dev)

---

What You Get

  • 5 ArgoCD configurations — Application, ApplicationSet, AppProject, sync policies with waves/hooks, Slack notifications
  • 5 FluxCD configurations — GitRepository, Kustomization, HelmRelease, notification provider, alerts
  • 4 Kustomize environments — Base + dev/staging/prod overlays with progressive resource scaling
  • 3 automation scripts — ArgoCD bootstrap, FluxCD bootstrap, environment promotion
  • 1 comprehensive guide — GitOps patterns, strategies, and best practices

File Structure


gitops-workflow-templates/
├── argocd/
│   ├── application.yaml           # Single application deployment
│   ├── applicationset.yaml        # Multi-app generation (git, list, matrix)
│   ├── project.yaml               # AppProject with RBAC & restrictions
│   ├── sync-policy.yaml           # Sync waves, hooks, pruning
│   └── notifications/
│       └── slack-template.yaml    # Slack notification templates
├── fluxcd/
│   ├── git-repository.yaml        # Git source definition
│   ├── app-kustomization.yaml     # Kustomize reconciliation
│   ├── app-helmrelease.yaml       # Helm chart deployment
│   ├── slack-provider.yaml        # Notification provider
│   └── alert.yaml                 # Alert routing rules
├── kustomize/
│   ├── base/
│   │   └── kustomization.yaml     # Base resources & labels
│   └── overlays/
│       ├── dev/kustomization.yaml
│       ├── staging/kustomization.yaml
│       └── prod/kustomization.yaml
├── scripts/
│   ├── bootstrap-argocd.sh        # Install & configure ArgoCD
│   ├── bootstrap-fluxcd.sh        # Install & configure FluxCD
│   └── promote.sh                 # Promote across environments
├── guides/
│   └── gitops-patterns.md         # Patterns & best practices
├── README.md
├── manifest.json
└── LICENSE

Getting Started

ArgoCD Setup


# Bootstrap ArgoCD in your cluster
chmod +x scripts/bootstrap-argocd.sh
./scripts/bootstrap-argocd.sh


*... continues with setup instructions, usage examples, and more.*

📄 Code Sample .yaml preview

argocd/application.yaml # ArgoCD Application - Single Application Deployment # Defines a single application tracked by ArgoCD from a Git repository. # Customize the source repo, path, and destination namespace for your app. --- apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: myapp namespace: argocd labels: app.kubernetes.io/part-of: myapp app.kubernetes.io/managed-by: argocd # Finalizer ensures cascade deletion of child resources finalizers: - resources-finalizer.argocd.argoproj.io annotations: # Notification annotations (requires argocd-notifications) notifications.argoproj.io/subscribe.on-sync-succeeded.slack: deployments notifications.argoproj.io/subscribe.on-sync-failed.slack: deployments spec: # The AppProject this application belongs to project: myproject source: # Git repository containing the Kubernetes manifests repoURL: https://github.com/your-org/your-repo.git targetRevision: main path: kustomize/overlays/dev # --- Alternative: Helm chart source --- # repoURL: https://charts.example.com # chart: myapp # targetRevision: 1.2.3 # helm: # releaseName: myapp # values: | # replicaCount: 2 # image: # repository: your-registry/myapp # tag: latest # parameters: # - name: service.type # value: ClusterIP destination: # Target cluster (use https://kubernetes.default.svc for in-cluster) server: https://kubernetes.default.svc namespace: myapp-dev # Sync policy controls automatic synchronization behavior # ... 41 more lines ...