← Back to all products
$39
GitOps Workflow Templates
ArgoCD and Flux configurations for GitOps deployments with environment promotion and rollback strategies.
JSONMarkdownShellYAMLKubernetes
📄 Product Preview
Try the interactive reader and demo tools below, or get the full product with all content unlocked.
📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample📁 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 .sh preview
scripts/bootstrap-argocd.sh#!/usr/bin/env bash
# ============================================================
# bootstrap-argocd.sh - Install and Configure ArgoCD
# ============================================================
# Installs ArgoCD into a Kubernetes cluster, configures
# repositories, creates projects, and sets up notifications.
#
# Usage:
# ./bootstrap-argocd.sh [options]
#
# Options:
# --namespace NAMESPACE ArgoCD namespace (default: argocd)
# --version VERSION ArgoCD version (default: v2.13.2)
# --domain DOMAIN ArgoCD ingress domain
# --repo-url URL Git repository URL
# --repo-key FILE SSH private key file for repo access
# --slack-token TOKEN Slack bot token for notifications
# --dry-run Print commands without executing
# -h, --help Show this help message
# ============================================================
set -euo pipefail
# ── Default Configuration ──
ARGOCD_NAMESPACE="${ARGOCD_NAMESPACE:-argocd}"
ARGOCD_VERSION="${ARGOCD_VERSION:-v2.13.2}"
ARGOCD_DOMAIN="${ARGOCD_DOMAIN:-}"
REPO_URL="${REPO_URL:-}"
REPO_KEY_FILE="${REPO_KEY_FILE:-}"
SLACK_TOKEN="${SLACK_TOKEN:-}"
DRY_RUN=false
# ── Colors ──
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[INFO]${NC} $*"; }