feat: overhaul

This commit is contained in:
auricom
2025-01-04 00:00:04 +01:00
parent b14022014b
commit 0c9529c7a2
408 changed files with 3187 additions and 2380 deletions

View File

@@ -0,0 +1,74 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app blackbox-exporter
spec:
interval: 30m
chart:
spec:
chart: prometheus-blackbox-exporter
version: 9.1.0
sourceRef:
kind: HelmRepository
name: prometheus-community
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
fullnameOverride: *app
ingress:
enabled: true
className: internal
hosts:
- host: blackbox-exporter.${SECRET_EXTERNAL_DOMAIN}
paths:
- path: /
pathType: Prefix
securityContext:
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
capabilities:
add: [NET_RAW]
config:
modules:
http_2xx:
prober: http
timeout: 5s
http:
valid_http_versions: [HTTP/1.1, HTTP/2.0]
follow_redirects: true
preferred_ip_protocol: ipv4
icmp:
prober: icmp
timeout: 5s
icmp:
preferred_ip_protocol: ipv4
tcp_connect:
prober: tcp
timeout: 5s
tcp:
preferred_ip_protocol: ipv4
serviceMonitor:
enabled: true
defaults:
interval: 1m
scrapeTimeout: 10s
prometheusRule:
enabled: true
rules:
- alert: BlackboxProbeFailed
expr: probe_success == 0
for: 15m
labels:
severity: critical
annotations:
summary: |-
The host {{ $labels.target }} is currently unreachable

View File

@@ -0,0 +1,7 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
- ./probes.yaml

View File

@@ -0,0 +1,14 @@
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/monitoring.coreos.com/probe_v1.json
---
kind: Probe
apiVersion: monitoring.coreos.com/v1
metadata:
name: devices
spec:
module: icmp
prober:
url: blackbox-exporter.observability.svc.cluster.local:9115
targets:
staticConfig:
static:
- pikvm.${SECRET_INTERNAL_DOMAIN}

View File

@@ -0,0 +1,20 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app blackbox-exporter
namespace: flux-system
spec:
targetNamespace: observability
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/observability/blackbox-exporter/app
prune: true
sourceRef:
kind: GitRepository
name: home-ops-kubernetes
wait: false
interval: 30m
timeout: 15m