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