feat: 🎸 initial commit

This commit is contained in:
2026-01-16 19:46:25 +00:00
commit e1cb2c141f
3 changed files with 111 additions and 0 deletions

27
README.md Normal file
View File

@@ -0,0 +1,27 @@
# ArgoCD GitOps Repository
This repository contains ArgoCD Application definitions and Helm values for deploying applications to the home-server Kubernetes cluster.
## Structure
```
argocd/
├── apps/ # ArgoCD Application manifests
│ └── monitoring.yaml # Monitoring stack (Prometheus + Grafana)
├── charts/ # Helm chart values
│ └── monitoring/
│ └── values.yaml # kube-prometheus-stack values
└── README.md
```
## Usage
1. Push changes to this repo
2. ArgoCD will automatically sync and deploy
## Applications
### Monitoring
- **Prometheus**: Metrics collection and alerting
- **Grafana**: Dashboards and visualization
- **Alertmanager**: Alert routing and management

View File

@@ -0,0 +1,27 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: monitoring
namespace: argocd
spec:
project: default
sources:
- repoURL: https://prometheus-community.github.io/helm-charts
chart: kube-prometheus-stack
targetRevision: "72.6.2"
helm:
valueFiles:
- $values/argocd/charts/monitoring/values.yaml
- repoURL: https://git.svc.pguia.com/guipguia/iac.git
targetRevision: HEAD
ref: values
destination:
server: https://kubernetes.default.svc
namespace: monitoring
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true

View File

@@ -0,0 +1,57 @@
# kube-prometheus-stack values
# https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
# Grafana configuration
grafana:
enabled: true
adminPassword: "2c11a0be99e0a6fc"
persistence:
enabled: true
existingClaim: grafana-data
ingress:
enabled: false # We'll use Gateway API
# Prometheus configuration
prometheus:
prometheusSpec:
retention: 15d
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: manual-monitoring
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 50Gi
volumeName: prometheus-pv
# Alertmanager configuration
alertmanager:
alertmanagerSpec:
storage:
volumeClaimTemplate:
spec:
storageClassName: manual-monitoring
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi
volumeName: alertmanager-pv
# Node exporter for host metrics
nodeExporter:
enabled: true
# kube-state-metrics for Kubernetes object metrics
kubeStateMetrics:
enabled: true
# Disable components not needed for single-node
kubeProxy:
enabled: false
kubeEtcd:
enabled: false
kubeControllerManager:
enabled: false
kubeScheduler:
enabled: false