diff --git a/_apps/tbrntmon.yaml b/_apps/tbrntmon.yaml new file mode 100644 index 0000000..3b9fecd --- /dev/null +++ b/_apps/tbrntmon.yaml @@ -0,0 +1,23 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: tbrntmon + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + destination: + namespace: tbrntmon + server: https://kubernetes.default.svc + project: default + source: + path: tbrntmon + repoURL: https://git.tbrnt.ch/tobru/gitops-tbrnt.git + targetRevision: HEAD +--- +apiVersion: v1 +kind: Namespace +metadata: + name: tbrntmon + labels: + name: tbrntmon diff --git a/tbrntmon/endpoints.yaml b/tbrntmon/endpoints.yaml new file mode 100644 index 0000000..49d3ebe --- /dev/null +++ b/tbrntmon/endpoints.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Endpoints +metadata: + name: nodeexporter + namespace: tbrntmon + labels: + app: nodeexporter +subsets: + - addresses: + - ip: 185.95.218.9 + ports: + - port: 9100 diff --git a/tbrntmon/prometheus.yaml b/tbrntmon/prometheus.yaml new file mode 100644 index 0000000..e8bc36f --- /dev/null +++ b/tbrntmon/prometheus.yaml @@ -0,0 +1,49 @@ +apiVersion: monitoring.coreos.com/v1 +kind: Prometheus +metadata: + labels: + prometheus: tbrntmon + name: tbrntmon + namespace: tbrntmon +spec: + alerting: + alertmanagers: + - name: alertmanager-main + namespace: monitoring + port: web + externalUrl: http://prometheus-k8s.monitoring:9090 + image: quay.io/prometheus/prometheus:v2.17.2 + version: v2.17.2 + podMonitorNamespaceSelector: + matchLabels: + name: tbrntmon + podMonitorSelector: {} + replicas: 1 + resources: + requests: + memory: 400Mi + retention: 7d + ruleSelector: + matchLabels: + prometheus: k8s + role: alert-rules + securityContext: + fsGroup: 2000 + runAsNonRoot: true + runAsUser: 1000 + serviceAccountName: prometheus-tbrntmon + serviceMonitorNamespaceSelector: + matchLabels: + name: tbrntmon + serviceMonitorSelector: {} + storage: + volumeClaimTemplate: + apiVersion: v1 + kind: PersistentVolumeClaim + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: local-path diff --git a/tbrntmon/service.yaml b/tbrntmon/service.yaml new file mode 100644 index 0000000..123a620 --- /dev/null +++ b/tbrntmon/service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: nodeexporter + namespace: tbrntmon + labels: + app: nodeexporter +spec: + ports: + - protocol: TCP + port: 9100 + targetPort: 9100 + name: nodeexporter diff --git a/tbrntmon/serviceaccount.yaml b/tbrntmon/serviceaccount.yaml new file mode 100644 index 0000000..1bcbf28 --- /dev/null +++ b/tbrntmon/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: prometheus-tbrntmon + namespace: tbrntmon diff --git a/tbrntmon/servicemonitor.yaml b/tbrntmon/servicemonitor.yaml new file mode 100644 index 0000000..f7529c8 --- /dev/null +++ b/tbrntmon/servicemonitor.yaml @@ -0,0 +1,16 @@ +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: nodeexporter + namespace: tbrntmon +spec: + endpoints: + - interval: 30s + path: /metrics + port: "9100" + namespaceSelector: + matchNames: + - tbrntmon + selector: + matchLabels: + app: nodeexporter