feat(homelab): add prometheus & grafana, jless fd + more zsh plugins
This commit is contained in:
@@ -86,4 +86,11 @@ routes = [
|
|||||||
port = 8096,
|
port = 8096,
|
||||||
private = true
|
private = true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name = "grafana",
|
||||||
|
namespace = "monitoring",
|
||||||
|
service = "prometheus-stack-grafana",
|
||||||
|
port = 80,
|
||||||
|
private = true
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -30,6 +30,13 @@ releases:
|
|||||||
- crds:
|
- crds:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
- name: prometheus-stack
|
||||||
|
chart: oci://ghcr.io/prometheus-community/charts/kube-prometheus-stack
|
||||||
|
namespace: monitoring
|
||||||
|
version: 80.9.2
|
||||||
|
values:
|
||||||
|
- values/prometheus.yaml
|
||||||
|
|
||||||
# Git
|
# Git
|
||||||
- name: gitea
|
- name: gitea
|
||||||
namespace: git
|
namespace: git
|
||||||
|
|||||||
58
nix/homelab/helm/values/prometheus.yaml
Normal file
58
nix/homelab/helm/values/prometheus.yaml
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
# Install Prometheus Operator CRDs
|
||||||
|
crds:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
alertmanager:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
prometheus:
|
||||||
|
prometheusSpec:
|
||||||
|
storageSpec:
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 20Gi
|
||||||
|
|
||||||
|
retention: 15d
|
||||||
|
retentionSize: "18GB"
|
||||||
|
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 512Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 2Gi
|
||||||
|
|
||||||
|
grafana:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
size: 5Gi
|
||||||
|
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 50m
|
||||||
|
memory: 128Mi
|
||||||
|
limits:
|
||||||
|
cpu: 300m
|
||||||
|
memory: 512Mi
|
||||||
|
|
||||||
|
nodeExporter:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
kubeStateMetrics:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
kubeEtcd:
|
||||||
|
enabled: false
|
||||||
|
kubeControllerManager:
|
||||||
|
enabled: false
|
||||||
|
kubeScheduler:
|
||||||
|
enabled: false
|
||||||
|
kubeProxy:
|
||||||
|
enabled: false
|
||||||
@@ -239,3 +239,25 @@ spec:
|
|||||||
group: traefik.io
|
group: traefik.io
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
name: private-networks
|
name: private-networks
|
||||||
|
---
|
||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: grafana
|
||||||
|
namespace: monitoring
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- name: traefik-gateway
|
||||||
|
namespace: kube-system
|
||||||
|
hostnames:
|
||||||
|
- grafana.lucalise.ca
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- name: prometheus-stack-grafana
|
||||||
|
port: 80
|
||||||
|
filters:
|
||||||
|
- type: ExtensionRef
|
||||||
|
extensionRef:
|
||||||
|
group: traefik.io
|
||||||
|
kind: Middleware
|
||||||
|
name: private-networks
|
||||||
@@ -33,6 +33,17 @@ spec:
|
|||||||
---
|
---
|
||||||
apiVersion: traefik.io/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
|
metadata:
|
||||||
|
name: private-networks
|
||||||
|
namespace: monitoring
|
||||||
|
spec:
|
||||||
|
chain:
|
||||||
|
middlewares:
|
||||||
|
- name: private-networks
|
||||||
|
namespace: kube-system
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
name: private-networks
|
name: private-networks
|
||||||
namespace: pihole-system
|
namespace: pihole-system
|
||||||
|
|||||||
@@ -76,6 +76,8 @@
|
|||||||
kubectl
|
kubectl
|
||||||
kubernetes-helm
|
kubernetes-helm
|
||||||
helmfile
|
helmfile
|
||||||
|
jless
|
||||||
|
fd
|
||||||
];
|
];
|
||||||
programs.nix-ld.enable = lib.mkDefault true;
|
programs.nix-ld.enable = lib.mkDefault true;
|
||||||
programs.zsh.enable = lib.mkDefault true;
|
programs.zsh.enable = lib.mkDefault true;
|
||||||
|
|||||||
@@ -23,8 +23,6 @@ in
|
|||||||
export PATH="$GOBIN:$PATH"
|
export PATH="$GOBIN:$PATH"
|
||||||
export PATH="$HOME/.cache/.bun/bin:$PATH"
|
export PATH="$HOME/.cache/.bun/bin:$PATH"
|
||||||
alias cat="bat"
|
alias cat="bat"
|
||||||
alias k="kubectl"
|
|
||||||
alias ka="kubectl get --all-namespaces"
|
|
||||||
''
|
''
|
||||||
+ "\n"
|
+ "\n"
|
||||||
+ aliases;
|
+ aliases;
|
||||||
@@ -32,6 +30,9 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
plugins = [
|
plugins = [
|
||||||
"git"
|
"git"
|
||||||
|
"rust"
|
||||||
|
"kubectl"
|
||||||
|
"helm"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
plugins = [
|
plugins = [
|
||||||
|
|||||||
Reference in New Issue
Block a user