{"id":31747685,"url":"https://github.com/kobeep/k8s-gitops-template","last_synced_at":"2026-05-17T00:08:50.374Z","repository":{"id":318086372,"uuid":"1068748395","full_name":"Kobeep/k8s-gitops-template","owner":"Kobeep","description":null,"archived":false,"fork":false,"pushed_at":"2025-10-05T00:08:55.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-05T02:31:57.109Z","etag":null,"topics":["argocd","automation","gitops","gitops-deploy-repo","k8s","k8s-cluster","k8s-template","kubernetes","kustomize","template"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kobeep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-02T21:08:36.000Z","updated_at":"2025-10-05T00:08:35.000Z","dependencies_parsed_at":"2025-10-05T02:32:27.194Z","dependency_job_id":"9af6842d-d10a-460b-b416-2e65fc0cff90","html_url":"https://github.com/Kobeep/k8s-gitops-template","commit_stats":null,"previous_names":["kobeep/k8s-gitops-template"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Kobeep/k8s-gitops-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kobeep%2Fk8s-gitops-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kobeep%2Fk8s-gitops-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kobeep%2Fk8s-gitops-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kobeep%2Fk8s-gitops-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kobeep","download_url":"https://codeload.github.com/Kobeep/k8s-gitops-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kobeep%2Fk8s-gitops-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001461,"owners_count":26083102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argocd","automation","gitops","gitops-deploy-repo","k8s","k8s-cluster","k8s-template","kubernetes","kustomize","template"],"created_at":"2025-10-09T13:44:22.915Z","updated_at":"2025-10-09T13:44:24.837Z","avatar_url":"https://github.com/Kobeep.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e🚀 K8s GitOps Template\u003c/h1\u003e\n\n  \u003cp\u003e\n    \u003cstrong\u003eProduction-ready Kubernetes GitOps template with automated local clusters, full observability stack, and security policies\u003c/strong\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/Kobeep/k8s-gitops-template/actions/workflows/ci.yml\"\u003e\n      \u003cimg src=\"https://github.com/Kobeep/k8s-gitops-template/actions/workflows/ci.yml/badge.svg\" alt=\"CI Pipeline\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/Kobeep/k8s-gitops-template/graphs/contributors\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/contributors/Kobeep/k8s-gitops-template.svg?style=for-the-badge\" alt=\"Contributors\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/Kobeep/k8s-gitops-template/network/members\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/forks/Kobeep/k8s-gitops-template.svg?style=for-the-badge\" alt=\"Forks\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/Kobeep/k8s-gitops-template/stargazers\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/stars/Kobeep/k8s-gitops-template.svg?style=for-the-badge\" alt=\"Stargazers\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/Kobeep/k8s-gitops-template/issues\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/issues/Kobeep/k8s-gitops-template.svg?style=for-the-badge\" alt=\"Issues\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/Kobeep/k8s-gitops-template/blob/main/LICENSE\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/license/Kobeep/k8s-gitops-template.svg?style=for-the-badge\" alt=\"MIT License\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/Kobeep/k8s-gitops-template\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"#-getting-started\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/Kobeep/k8s-gitops-template/issues/new?labels=bug\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/Kobeep/k8s-gitops-template/issues/new?labels=enhancement\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e📋 Table of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#-about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#-built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#-getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#-prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#-installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-project-structure\"\u003eProject Structure\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-architecture\"\u003eArchitecture\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-cicd\"\u003eCI/CD\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## 🎯 About The Project\n\nThis project provides a **complete, production-ready Kubernetes template** designed for DevOps engineers who want to quickly set up a local Kubernetes environment with GitOps principles, comprehensive monitoring, and security best practices.\n\n**Key Highlights:**\n* 🏗️ **Automated Setup**: Two k3d clusters (dev \u0026 prod) deployed with a single command\n* 🔄 **GitOps Workflow**: ArgoCD-based continuous deployment with declarative configuration\n* 📊 **Full Observability**: Prometheus, Grafana, and Loki for complete monitoring and logging\n* 🔒 **Security First**: Kyverno policies for automated security enforcement\n* 🚀 **Production-Ready**: Separate dev and prod environments with proper isolation\n* � **Easy to Extend**: Well-structured platform components using Helm charts\n\nThis template is perfect for learning Kubernetes, testing applications locally, or as a starting point for your own GitOps infrastructure.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#-k8s-gitops-template\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### � Built With\n\nThis project leverages the following major frameworks and tools:\n\n* [![Kubernetes][Kubernetes-badge]][Kubernetes-url]\n* [![Docker][Docker-badge]][Docker-url]\n* [![ArgoCD][ArgoCD-badge]][ArgoCD-url]\n* [![Prometheus][Prometheus-badge]][Prometheus-url]\n* [![Grafana][Grafana-badge]][Grafana-url]\n* [![Helm][Helm-badge]][Helm-url]\n\n**Platform Components:**\n- **k3d** - Lightweight Kubernetes clusters in Docker\n- **ArgoCD** - GitOps continuous delivery tool\n- **Ingress NGINX** - Kubernetes Ingress controller\n- **Prometheus Stack** (kube-prometheus-stack v55.5.0) - Monitoring and alerting\n- **Grafana** - Metrics visualization and dashboards\n- **Loki** (v2.9.0) - Log aggregation system\n- **Promtail** - Log collector for Loki\n- **Kyverno** (v1.11.0) - Kubernetes policy engine\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#-k8s-gitops-template\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n## 🚀 Getting Started\n\nFollow these steps to get your local Kubernetes clusters up and running with all platform components deployed.\n\n### � Prerequisites\n\nBefore you begin, ensure you have the following tools installed on your system:\n\n* **Docker** (20.10+)\n  ```sh\n  # Verify installation\n  docker --version\n  ```\n\n* **kubectl** (1.28+)\n  ```sh\n  # Verify installation\n  kubectl version --client\n  ```\n\n* **k3d** (5.6+)\n  ```sh\n  # Verify installation\n  k3d version\n  ```\n\n* **Helm** (3.12+)\n  ```sh\n  # Verify installation\n  helm version\n  ```\n\n### � Installation\n\n1. **Clone the repository**\n   ```sh\n   git clone https://github.com/Kobeep/k8s-gitops-template.git\n   cd k8s-gitops-template\n   ```\n\n2. **Install prerequisites** (if needed)\n   ```sh\n   ./scripts/install-prerequisites.sh\n   ```\n\n3. **Bootstrap both clusters**\n   ```sh\n   ./scripts/bootstrap.sh\n   ```\n\n   This will:\n   - ✅ Create k3d dev cluster (1 server + 2 agents)\n   - ✅ Create k3d prod cluster (1 server + 3 agents)\n   - ✅ Install ArgoCD on both clusters\n   - ✅ Deploy root applications\n   - ✅ Configure GitOps sync\n\n4. **Verify cluster status**\n   ```sh\n   ./scripts/status.sh\n   ```\n\n5. **Get ArgoCD credentials**\n\n   The bootstrap script will output the ArgoCD admin passwords for both clusters. You can also retrieve them manually:\n\n   ```sh\n   # DEV cluster\n   kubectl config use-context k3d-k8s-dev\n   kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath=\"{.data.password}\" | base64 -d\n\n   # PROD cluster\n   kubectl config use-context k3d-k8s-prod\n   kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath=\"{.data.password}\" | base64 -d\n   ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#-k8s-gitops-template\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## 💡 Usage\n\n### Managing Clusters\n\n**Bootstrap Clusters:**\n```sh\n# Bootstrap both dev and prod clusters\n./scripts/bootstrap.sh\n```\n\n**Switch Between Clusters:**\n```sh\n# Switch to dev cluster\nkubectl config use-context k3d-k8s-dev\n\n# Switch to prod cluster\nkubectl config use-context k3d-k8s-prod\n```\n\n**Check Cluster Status:**\n```sh\n./scripts/status.sh\n```\n\n**Destroy Clusters:**\n```sh\n./scripts/destroy.sh\n```\n\n### Accessing Services\n\n**ArgoCD:**\n```sh\n# Dev cluster - http://localhost:8080\nkubectl port-forward -n argocd svc/argocd-server 8080:443 --context k3d-k8s-dev\n\n# Prod cluster - http://localhost:9080\nkubectl port-forward -n argocd svc/argocd-server 9080:443 --context k3d-k8s-prod\n```\n\n**Grafana:**\n```sh\n# Access via Prometheus Stack service\nkubectl port-forward -n monitoring svc/kube-prometheus-stack-grafana 3000:80\n```\n\n**Prometheus:**\n```sh\n# Access Prometheus UI\nkubectl port-forward -n monitoring svc/kube-prometheus-stack-prometheus 9090:9090\n```\n\n### Deploying Applications\n\nArgoCD automatically syncs applications from the `clusters/{dev,prod}/argocd-apps/` directory. To add new applications:\n\n1. Create an ArgoCD Application manifest in the appropriate cluster directory\n2. Commit and push to the repository\n3. ArgoCD will automatically detect and sync the new application\n\n**Example Application:**\n```yaml\napiVersion: argoproj.io/v1alpha1\nkind: Application\nmetadata:\n  name: my-app-dev\n  namespace: argocd\nspec:\n  project: default\n  source:\n    repoURL: https://github.com/Kobeep/k8s-gitops-template.git\n    targetRevision: main\n    path: apps/my-app\n  destination:\n    server: https://kubernetes.default.svc\n    namespace: dev\n  syncPolicy:\n    automated:\n      prune: true\n      selfHeal: true\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#-k8s-gitops-template\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- PROJECT STRUCTURE --\u003e\n## 📁 Project Structure\n\n```\nk8s-gitops-template/\n├── clusters/                         # Cluster-specific configurations\n│   ├── dev/\n│   │   ├── cluster-config.yaml      # k3d dev cluster config (1 server + 2 agents)\n│   │   │                            # Ports: HTTP:8080, HTTPS:8443, NodePort:30000-30010\n│   │   └── argocd-apps/             # ArgoCD Applications for dev\n│   │       ├── root-app.yaml        # Root app of apps pattern\n│   │       ├── platform.yaml        # Platform components (monitoring, logging, etc.)\n│   │       └── apps.yaml            # Application deployments\n│   └── prod/\n│       ├── cluster-config.yaml      # k3d prod cluster config (1 server + 3 agents)\n│       │                            # Ports: HTTP:9080, HTTPS:9443, NodePort:31000-31010\n│       └── argocd-apps/             # ArgoCD Applications for prod\n│           ├── root-app.yaml\n│           ├── platform.yaml\n│           └── apps.yaml\n│\n├── platform/                         # Platform components (Helm umbrella charts)\n│   ├── ingress-nginx/               # Ingress NGINX Controller\n│   │   ├── Chart.yaml               # v4.8.3\n│   │   ├── values.yaml              # Default values\n│   │   ├── values-dev.yaml          # Dev-specific overrides\n│   │   └── values-prod.yaml         # Prod-specific overrides\n│   │\n│   ├── monitoring/                  # Prometheus + Grafana\n│   │   ├── Chart.yaml               # kube-prometheus-stack v55.5.0\n│   │   ├── values.yaml\n│   │   ├── values-dev.yaml\n│   │   └── values-prod.yaml\n│   │\n│   ├── logging/                     # Loki + Promtail\n│   │   ├── Chart.yaml               # Loki v5.41.4, Promtail v6.15.3\n│   │   ├── values.yaml\n│   │   ├── values-dev.yaml\n│   │   └── values-prod.yaml\n│   │\n│   └── security/                    # Kyverno policies\n│       ├── Chart.yaml               # Kyverno v3.1.4\n│       ├── values.yaml\n│       ├── values-dev.yaml\n│       └── values-prod.yaml\n│\n├── scripts/                          # Automation scripts\n│   ├── bootstrap.sh                 # Bootstrap both clusters\n│   ├── destroy.sh                   # Destroy all clusters\n│   ├── status.sh                    # Check cluster status\n│   └── install-prerequisites.sh     # Install required tools\n│\n├── CONTRIBUTING.md                   # Contribution guidelines\n├── LICENSE                          # MIT License\n└── README.md                        # This file\n```\n\n**Key Design Principles:**\n* **Separation of Concerns**: Platform components are separate from applications\n* **GitOps-Native**: Everything is declarative and stored in Git\n* **Environment Parity**: Dev and prod use the same structure with different values\n* **Helm-Based**: All platform components use Helm for easy customization\n* **App of Apps Pattern**: ArgoCD manages multiple applications through a root app\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#-k8s-gitops-template\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ARCHITECTURE --\u003e\n## 🏗 Architecture\n\n### Cluster Architecture\n\n```\n┌──────────────────────────────────────────────────────────────────────┐\n│                         GitHub Repository                             │\n│                      (GitOps Source of Truth)                        │\n└────────────────────────────┬─────────────────────────────────────────┘\n                             │\n                             │ ArgoCD pulls manifests\n                             │ and syncs to clusters\n                             │\n              ┌──────────────┴──────────────┐\n              │                             │\n    ┌─────────▼──────────┐        ┌────────▼──────────┐\n    │   Dev Cluster      │        │   Prod Cluster    │\n    │   (k3d)            │        │   (k3d)           │\n    ├────────────────────┤        ├───────────────────┤\n    │ • 1 server         │        │ • 1 server        │\n    │ • 2 agents         │        │ • 3 agents        │\n    │                    │        │                   │\n    │ Ports:             │        │ Ports:            │\n    │ • HTTP: 8080       │        │ • HTTP: 9080      │\n    │ • HTTPS: 8443      │        │ • HTTPS: 9443     │\n    │ • NodePort:        │        │ • NodePort:       │\n    │   30000-30010      │        │   31000-31010     │\n    └────────────────────┘        └───────────────────┘\n```\n\n### Platform Components per Cluster\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                    Kubernetes Cluster (k3d)                  │\n├─────────────────────────────────────────────────────────────┤\n│                                                               │\n│  ┌──────────────────────────────────────────────────────┐  │\n│  │  argocd namespace                                     │  │\n│  │  • ArgoCD Server                                      │  │\n│  │  • ArgoCD Application Controller                      │  │\n│  │  • ArgoCD Repo Server                                 │  │\n│  └──────────────────────────────────────────────────────┘  │\n│                                                               │\n│  ┌──────────────────────────────────────────────────────┐  │\n│  │  ingress-nginx namespace                              │  │\n│  │  • NGINX Ingress Controller                           │  │\n│  │  • LoadBalancer Service                               │  │\n│  └──────────────────────────────────────────────────────┘  │\n│                                                               │\n│  ┌──────────────────────────────────────────────────────┐  │\n│  │  monitoring namespace                                 │  │\n│  │  • Prometheus (metrics collection)                    │  │\n│  │  • Grafana (visualization)                            │  │\n│  │  • AlertManager (alerting)                            │  │\n│  │  • Node Exporter (node metrics)                       │  │\n│  │  • Kube State Metrics (k8s metrics)                   │  │\n│  └──────────────────────────────────────────────────────┘  │\n│                                                               │\n│  ┌──────────────────────────────────────────────────────┐  │\n│  │  logging namespace                                    │  │\n│  │  • Loki (log aggregation)                             │  │\n│  │  • Promtail (log collection)                          │  │\n│  └──────────────────────────────────────────────────────┘  │\n│                                                               │\n│  ┌──────────────────────────────────────────────────────┐  │\n│  │  security namespace                                   │  │\n│  │  • Kyverno (policy engine)                            │  │\n│  │  • Admission Controller                               │  │\n│  │  • Background Controller                              │  │\n│  │  • Reports Controller                                 │  │\n│  └──────────────────────────────────────────────────────┘  │\n│                                                               │\n│  ┌──────────────────────────────────────────────────────┐  │\n│  │  dev/prod namespaces                                  │  │\n│  │  • Application workloads                              │  │\n│  └──────────────────────────────────────────────────────┘  │\n│                                                               │\n└─────────────────────────────────────────────────────────────┘\n```\n\n### GitOps Flow\n\n```\n1. Developer pushes changes to Git repository\n                  ↓\n2. ArgoCD detects changes automatically\n                  ↓\n3. ArgoCD pulls updated manifests\n                  ↓\n4. ArgoCD applies changes to cluster\n                  ↓\n5. Applications are deployed/updated\n                  ↓\n6. Monitoring \u0026 logging track the deployment\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#-k8s-gitops-template\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n## 🤝 Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\nFor more details, please refer to [CONTRIBUTING.md](CONTRIBUTING.md).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#-k8s-gitops-template\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n## 📄 License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#-k8s-gitops-template\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTACT --\u003e\n## 📧 Contact\n\nJakub Pospieszny - [@Kobeep](https://github.com/Kobeep)\n\nProject Link: [https://github.com/Kobeep/k8s-gitops-template](https://github.com/Kobeep/k8s-gitops-template)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#-k8s-gitops-template\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n## 🙏 Acknowledgments\n\nThis project was built using these amazing open-source tools:\n\n* [k3d](https://k3d.io/) - Lightweight Kubernetes in Docker\n* [ArgoCD](https://argoproj.github.io/cd/) - GitOps continuous delivery tool\n* [Prometheus](https://prometheus.io/) - Monitoring and alerting toolkit\n* [Grafana](https://grafana.com/) - Analytics and monitoring platform\n* [Loki](https://grafana.com/oss/loki/) - Log aggregation system\n* [Kyverno](https://kyverno.io/) - Kubernetes native policy management\n* [NGINX Ingress Controller](https://kubernetes.github.io/ingress-nginx/) - Ingress controller for Kubernetes\n* [Helm](https://helm.sh/) - The package manager for Kubernetes\n* [Best-README-Template](https://github.com/othneildrew/Best-README-Template) - README template inspiration\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#-k8s-gitops-template\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cstrong\u003eMade with ❤️ for the DevOps community\u003c/strong\u003e\n  \u003cbr /\u003e\n  \u003csub\u003eIf you find this project helpful, please consider giving it a ⭐\u003c/sub\u003e\n\u003c/div\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n[Kubernetes-badge]: https://img.shields.io/badge/Kubernetes-326CE5?style=for-the-badge\u0026logo=kubernetes\u0026logoColor=white\n[Kubernetes-url]: https://kubernetes.io/\n[Docker-badge]: https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white\n[Docker-url]: https://www.docker.com/\n[ArgoCD-badge]: https://img.shields.io/badge/ArgoCD-EF7B4D?style=for-the-badge\u0026logo=argo\u0026logoColor=white\n[ArgoCD-url]: https://argoproj.github.io/cd/\n[Prometheus-badge]: https://img.shields.io/badge/Prometheus-E6522C?style=for-the-badge\u0026logo=prometheus\u0026logoColor=white\n[Prometheus-url]: https://prometheus.io/\n[Grafana-badge]: https://img.shields.io/badge/Grafana-F46800?style=for-the-badge\u0026logo=grafana\u0026logoColor=white\n[Grafana-url]: https://grafana.com/\n[Helm-badge]: https://img.shields.io/badge/Helm-0F1689?style=for-the-badge\u0026logo=helm\u0026logoColor=white\n[Helm-url]: https://helm.sh/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkobeep%2Fk8s-gitops-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkobeep%2Fk8s-gitops-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkobeep%2Fk8s-gitops-template/lists"}