feat: 🎸 initial commit
This commit is contained in:
27
README.md
Normal file
27
README.md
Normal 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
|
||||||
27
apps/monitoring/monitoring.yaml
Normal file
27
apps/monitoring/monitoring.yaml
Normal 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
|
||||||
57
charts/monitoring/values.yaml
Normal file
57
charts/monitoring/values.yaml
Normal 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
|
||||||
Reference in New Issue
Block a user