claude-code
b199b07a92
xslt-lab: chart 0.4.2 (backend resources) and a second backend replica
...
The chart now declares resources for the backend container, which runs three
JVMs adding up to 512 MB of heap: it had been living on a manual kubectl patch
of 256Mi and was OOMKilled five times a day. minReplicas goes to 2 for the same
reason the frontend did — a restarting pod should not be the whole service.
2026-08-19 19:31:08 +00:00
claude-code
a21b4a1ff2
xslt-lab: real databaseUrl for saved fiddles (shared Postgres, LXC 121)
2026-08-14 11:40:49 +00:00
claude-code
c2f8854a9e
argocd: eliminar kyverno
...
Sin ninguna ClusterPolicy/Policy definida (0 CRs): no aportaba nada y consumia
4 pods + 22 CRDs. Ademas su sync fallaba de forma permanente porque los CRDs
superan el limite de 262144 bytes en metadata.annotations al aplicarse
client-side.
2026-07-25 13:38:34 +00:00
claude-code
6b367c237e
argocd: xslt-lab ignoreDifferences /spec/replicas (HPA vs replicaCount)
2026-07-25 10:46:37 +00:00
claude-code
124758801f
argocd: kyverno Replace=true (CRDs superan limite de annotations)
2026-07-25 10:37:51 +00:00
claude-code
7d877256f7
obs: kubeProxy.enabled=false (microk8s usa Calico)
...
KubeProxyDown llevaba firing desde 2026-06-09: el ServiceMonitor por defecto
busca kube-proxy standalone, que no existe en microk8s (usa calico-node).
2026-07-25 10:00:03 +00:00
claude-code
ccbc1fb800
xslt-lab: pin frontend minReplicas to 2 (SPOF fix was drifting)
...
The 1->2 bump that fixed the 503 outage only ever existed as a manual edit
in-cluster, so it was reverted on the next ArgoCD sync.
2026-07-25 07:35:35 +00:00
claude-code
405233e53d
xslt-lab: chart 0.4.1 (Prometheus errors dashboard) + direct chart repo URL
...
The blog subdomain now only 301-redirects to xsltplayground.com/blog after
the SEO migration; point the Helm repo at the destination directly.
2026-07-25 07:32:41 +00:00
claude-code
08a208dec4
obs: drop apiserver/etcd histogram buckets tambien en kubelet/controller/scheduler
...
En microk8s el binario monolitico (kubelite) expone apiserver_*/etcd_* por los
endpoints de kubelet/kube-controller-manager/kube-scheduler, no por el del
apiserver. El drop solo estaba en el SM apiserver -> no filtraba nada (364k
series). job=kubelet aportaba 35k+37k de esos buckets.
2026-07-24 14:23:44 +00:00
claude-code
b305552913
obs: Prometheus limit 2560Mi->4Gi (OOM 22-jul); n8n: add requests/limits
...
Prometheus superaba 2560Mi en picos (WAL replay/compaction tras reinicio de
cluster) -> OOMKilled 2x. n8n no declaraba resources y era candidato a OOM-kill
bajo presion de memoria del nodo.
2026-07-24 10:44:33 +00:00
claude-code
2afe9b70d2
perf(observability): fijar Prometheus a craon (laphemot3) para descargar k8s01
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011mSH96vrGgdaxj5AKuEUAq
2026-07-22 20:29:39 +00:00
claude-code
4fc37ba0d5
fix(observability): subir limite Prometheus 1500Mi->2560Mi (OOM en replay WAL)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011mSH96vrGgdaxj5AKuEUAq
2026-07-22 20:24:10 +00:00
claude-code
9b993f0642
perf(observability): reducir RAM de Prometheus
...
- drop de etcd_* y workqueue_* buckets en el job apiserver (en microk8s
llegan via apiserver, no via kubeEtcd que no tiene target) -> ~90k series menos
- retention 10d -> 5d
- anadir requests/limits (700Mi/1500Mi) para acotar el uso
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011mSH96vrGgdaxj5AKuEUAq
2026-07-22 20:15:45 +00:00
claude-code
9321c6e4e8
olallalab/oligo-tools: imagen -> :20260705-2 (optimización perf, PR #2 )
...
Lookup O(1) + sin pd.concat cuadrático. Secuencias largas de ~1s a ms.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_0152b5oYwKsQrzKPyTziHgqG
2026-07-05 11:13:35 +00:00
claude-code
3248270e5e
olallalab/oligo-tools: imagen -> GHCR con los fixes (PR #1 )
...
- image: ghcr.io/alexandrev/oligo-tools:20260705 (antes Docker Hub :20231223)
- imagePullSecrets: ghcr-pull-secret (creado en el namespace)
La nueva imagen incluye los fixes de seguridad/perf/bugs mergeados en main.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_0152b5oYwKsQrzKPyTziHgqG
2026-07-05 10:03:59 +00:00
claude-code
09dc4b6746
olallalab/oligo-tools: fix probes, resources, replicas y DNS target
...
- startupProbe: tcpSocket period=240s (bloqueaba readiness hasta 4min) -> httpGet /:8080 period=5s failureThreshold=12
- liveness/readiness: timeoutSeconds 1 (defecto, falsos positivos) -> 5s/3s + failureThreshold 3
- resources: add requests 100m/128Mi (QoS BestEffort -> Burstable)
- replicas 1 -> 2 (HA, spec original)
- ingress .cloud: external-dns target 192.168.1.10 (NPM) para pasar por proxy con cert valido
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_0152b5oYwKsQrzKPyTziHgqG
2026-07-05 09:27:05 +00:00
claude-code
6d37f53774
xslt-lab: bump chart to 0.4.0 (dashboard CM in observability ns)
2026-06-17 16:48:56 +02:00
claude-code
29478748cf
xslt-lab: bump chart to 0.3.0 (fix ServiceMonitor target selection)
2026-06-17 15:50:10 +02:00
claude-code
705635b001
xslt-lab: bump chart to 0.2.0 (Prometheus metrics + Grafana dashboard)
2026-06-17 15:34:10 +02:00
alexandrev-tibco
a10e2e174c
feat(observability): grant GrafanaAdmin to Authentik admins group
...
Members of the 'admins' group in Authentik get GrafanaAdmin role.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 19:34:44 +02:00
alexandrev-tibco
8d023cd1be
feat(observability): add Authentik OIDC login to Grafana
...
Configures generic_oauth in Grafana to authenticate via Authentik.
Client secret loaded from grafana-oidc K8s secret.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 17:17:57 +02:00
alexandrev-tibco
539df114a0
feat: add Radar K8s dashboard with Authentik OIDC
2026-05-12 15:40:34 +02:00
alexandrev-tibco
88fcce4962
feat(observability): add Alertmanager email alerts + disk usage PrometheusRules
...
- Configure Alertmanager SMTP via Mailcow (192.168.1.30:587)
- Route critical/warning alerts to alexandre.vazquez@gmail.com
- Add DiskUsageHigh (< 20% free), DiskUsageCritical (< 10%), DiskWillFillIn4Hours rules
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 11:53:30 +02:00
claude-code
be51b842ff
fix: add kyverno ignoreDifferences for webhook caBundles and SkipDryRunOnMissingResource
2026-04-29 15:25:24 +02:00
claude-code
312245ad87
fix: use existingClaim for calibre/portainer PVCs; fix kyverno chart version to 3.7.2
2026-04-29 15:05:09 +02:00
claude-code
44ee16960b
feat: add calibre, portainer, egress-gateway, trivy-system, kyverno, olallalab
2026-04-29 15:02:13 +02:00
claude-code
86feb58574
feat: add observability stack to gitops (kube-prom-stack, loki, helm-dashboard, blackbox-exporter)
2026-04-29 13:33:35 +02:00
claude-code
befea76e7e
fix: add ignoreDifferences for n8n env duplicates; keep xslt-lab firebase disabled
2026-04-29 13:07:27 +02:00
claude-code
2b8775eb18
fix: add firebase.enabled=false to xslt-lab values
2026-04-29 13:04:16 +02:00
claude-code
24e9a653f3
feat: add GitOps structure for kubernetes-dashboard, n8n, xslt-lab
...
- apps/kubernetes-dashboard: raw manifests (namespace, rbac, deployment, service, ingress)
- apps/n8n: Helm values referencing existing n8n-postgresql secret (no password in git)
- apps/xslt-lab: Helm values for xslt-playground chart
- argocd/applications: ArgoCD Application CRDs for all three apps
2026-04-29 12:58:28 +02:00
Flux
666f430509
Add Flux sync manifests
2025-09-23 10:01:53 +02:00
Flux
ba249c15d9
Add Flux v2.6.4 component manifests
2025-09-23 10:01:47 +02:00
alexandrev
dba4dfbb83
Init
2025-09-23 09:59:25 +02:00