Commit Graph
100 Commits
Author SHA1 Message Date
Moritz Graf 5852479c21 feat(sasch40): add retro birthday game subproject and k8s deployment
- Add Vue 3 + Vite + TypeScript retro game: 'Saschas Kronkorken Kreuzzug: 40 Jahre Bass & Gerstensaft'
- Add dynamic GameBoy layout: controls visible only during arcade modes, fullscreen during dialogue and tavern
- Add QR code welcome & prequel screen with lore, feature preview, and audio hints
- Add competitive party highscore and ranking breakdown on royal certificate
- Add dedicated individual 1:1 character portraits for Sascha, Verena, NAT, Hansi, Mop, Lutz, Armend, Amy, Mane, Pü, and Mario
- Add Dockerfile, Makefile, and K8s deployment at sasch40.haumdaucher.de
- Update openclaw timeout configuration
2026-09-23 21:56:34 +02:00
Moritz Graf d11a84a0d3 fix(openclaw): use base64 patch for garmin_mcp workouts normalization in init script 2026-09-20 08:09:58 +02:00
Moritz Graf f2ef5a8834 fix(openclaw): enforce sportType integrity on Garmin workout uploads 2026-09-20 08:06:06 +02:00
Moritz Graf 80a056f720 docs(bootstrap): document single-node cluster upgrade procedures and modernize init.sh
- Update init.sh with smart checkout, patch application, sync-inventory alias, and runbook output
- Rewrite bootstrap/README.md with step-by-step upgrade guide, architectural invariants, and troubleshooting
- Update bootstrap/AGENTS.md with single-node operational rules and OS constraints
2026-09-19 22:58:22 +02:00
Moritz Graf 87649e6e22 chore(bootstrap): upgrade kubespray to release-2.28 and kubernetes to v1.32.13
- Bump Kubespray baseline to release-2.28 (last release supporting Ubuntu 20.04)
- Upgrade Kubernetes control plane and node to v1.32.13
- Configure single-node cluster settings (drain_nodes: false)
- Add patch for Kubespray v1beta4 kubeadm preflight error handling
- Update init.sh, AGENTS.md, and README.md with two-phase upgrade instructions
2026-09-19 22:57:19 +02:00
Moritz Graf c9e21c082d chore(wiki): update knowledge-wiki submodule pointer 2026-09-19 21:06:42 +02:00
Moritz Graf a7b93ca34a feat(openclaw): add chart-to-chat skill to prompt and update PATH for dct 2026-09-19 21:06:07 +02:00
Moritz Graf 18a7292844 fix(dns,k8s): add moritzgraf.de apex A record, modernize ingress, and resolve cluster alerts
- terraform: add ovh_domain_zone_record.moritzgraf_domain pointing to cluster IP
- k8s/web: modernize Ingress to networking.k8s.io/v1 with traefik class and auto-renew TLS certificate
- k8s/backup: set activeDeadlineSeconds and backoffLimit: 3 on gdrive-to-gphotos, clean dead pods
- k8s/openclaw: set failedJobsHistoryLimit: 1 on wiki backup cronjob and purge stale failed job
- k8s/coder: increase postgresql CPU limit to 500m to eliminate CFS CPU throttling
2026-09-19 18:19:54 +02:00
Moritz Graf 79fa817480 feat(openclaw): enable itguy autonomous weekly health audit and 3-repo architecture 2026-09-19 16:58:23 +02:00
Moritz Graf 474af29c4d feat(openclaw): integrate YouTube and Google Maps Platform MCP skills and GCP infrastructure 2026-09-18 11:46:10 +02:00
Moritz Graf bdfd5f5057 feat(calendar): update OpenClaw calendar prompt with RRULE, transparency, reminders, free slots, and move capabilities 2026-09-18 11:29:49 +02:00
Moritz Graf 0282b82c7a fix(openclaw): increase timeout, bind heartbeat to main, add shared hardlinks, cleanup cron, and enrich subagent topic prompts 2026-09-18 07:57:46 +02:00
Moritz Graf 87b09ed55d feat(openclaw): add doktor, itguy, merged grabengasse_media and pin 10 telegram topics 2026-09-17 14:12:49 +02:00
Moritz Graf e9376c6552 fix(openclaw): configure timeout and provider order for glm-5.3-flash 2026-09-17 13:38:54 +02:00
Moritz Graf 10a94c3512 feat(openclaw): enable grill-me skill in skills.entries 2026-09-17 13:34:53 +02:00
Moritz Graf c1cd638039 feat(openclaw): add read-only github mcp server with tool search 2026-09-17 11:09:08 +02:00
Moritz Graf a93c1e3510 chore(wiki): update knowledge-wiki pointer to 20e8556 2026-09-17 09:47:39 +02:00
Moritz Graf e5fa7c6ff3 feat(openclaw): optimize Garmin tool calling with parameter signatures and fast-path 2026-09-17 09:42:20 +02:00
Moritz Graf ea8ce29574 chore(wiki): update knowledge-wiki pointer to dc273a3 2026-09-17 09:30:34 +02:00
Moritz Graf 2747e07148 fix(openclaw): preserve live garmin tokens on PVC and add garmin-auth MFA instructions 2026-09-17 09:28:13 +02:00
Moritz Graf 3e0922c5fa fix(openclaw): enforce dynamic chat/thread routing and single ask_user prompt for brother printer 2026-09-17 09:05:23 +02:00
Moritz Graf aad2dc874d feat(openclaw): integrate Brother HL-L8240CDW duplex laser printer with interactive Telegram options 2026-09-17 08:14:26 +02:00
Moritz Graf d8c95940a1 chore(openclaw): update garmin oauth tokens 2026-09-16 11:23:55 +02:00
Moritz Graf fd0633dace feat: add public hosting ingress, minio credentials, and skills for openclaw 2026-09-16 09:06:16 +02:00
Moritz Graf 707a1b02ef feat(openclaw): implement 9-agent specialist architecture and agents-as-code (ADR 0001) 2026-09-16 08:29:29 +02:00
Moritz Graf bcff777228 feat(openclaw): configure calendar-id-regensburg for HaumdaucherEvent Calendar 2026-09-15 22:42:33 +02:00
Moritz Graf ce025f4842 fix(openclaw): set bootstrapMaxChars to 60000 for agent defaults 2026-09-15 22:35:02 +02:00
Moritz Graf 5c3ff03124 feat(openclaw): update prompt with calendar color coding, conflict guard, and prep checklists 2026-09-15 22:28:30 +02:00
Moritz Graf 115ca3c80e feat(openclaw): add Bring! shopping lists MCP integration and multi-list support 2026-09-15 22:16:58 +02:00
Moritz Graf c7d0d471b6 feat(openclaw): add GrafFamily calendar ID to openclaw-secrets 2026-09-15 22:05:09 +02:00
Moritz Graf 668f8da112 chore: update knowledge-wiki submodule pointer 2026-09-15 21:47:38 +02:00
Moritz Graf 0184fc9527 feat(openclaw): provision google calendar service account and configure calendar MCP server 2026-09-15 21:46:48 +02:00
Moritz Graf 97ead7943c feat(openclaw): allow FamilyHub supergroup without mention gating 2026-09-15 21:11:17 +02:00
Moritz Graf 4df5c2c3d6 fix(openclaw): bypass local attachment allowlist to support all files (.zwo, .json, etc.) 2026-09-15 13:23:40 +02:00
Moritz Graf feca5ccd3c fix(openclaw): ensure .config sentinel exists on PVC during init to guard subPath mounts 2026-09-14 08:28:34 +02:00
Moritz Graf 6bf3bb1348 feat(openclaw): assign glm-5.3-flash as primary conductor with prompt guardrail in adr 0002 2026-09-14 08:12:54 +02:00
Moritz Graf 4ae16b2640 docs(adr): update ADR 0002 open questions following DeepSeek conductor promotion 2026-09-14 07:35:32 +02:00
Moritz Graf c4297d42aa fix(openclaw,docs): promote deepseek v4.1 flash to primary conductor to resolve tool_call XML leakage 2026-09-14 07:28:49 +02:00
Moritz Graf edf124e88c feat(openclaw,docs): expand ADR 0002 to full multimodal spectrum and upgrade to Gemini 3.1 2026-09-13 22:46:33 +02:00
Moritz Graf c4c00416af feat(openclaw,docs): restore gemini flash image generation and propose ADR 0002 for model selection 2026-09-13 22:45:13 +02:00
Moritz Graf ea6fa7344d feat(openclaw,infra): optimize token usage with GLM-5.3-Flash and add Garmin MCP integration
- Migrate OpenClaw primary model to z-ai/glm-5.3-flash across conductor, heartbeat, subagents, and vision
- Configure deepseek-v4.1-flash and qwen3.8-flash as fallback models; retire claude-3.7-sonnet and deepseek-v4-pro
- Decouple heartbeat target to prevent active session context amplification and token bleed
- Add Garmin Connect MCP integration, secret unpacking, and Elite Strength Coach SOUL protocol
- Add ADR 0001 documenting hybrid tool search and subagent architecture
- Update Authentik configuration, theme styles, and Terraform state
- Add Grafana dashboard for Taupi fan monitoring and update Velero secrets
- Bump knowledge-wiki submodule pointer
2026-09-13 22:21:17 +02:00
Moritz Graf 02ad8f0050 chore(knowledge-wiki): update submodule pointer 2026-09-11 21:41:51 +02:00
Moritz Graf 95d8da9169 fix(openclaw): use run_spotify_mcp python launcher for spotify mcp 2026-09-11 21:15:49 +02:00
Moritz Graf 0e891098f9 feat(openclaw): integrate spotify mcp server and developer credentials 2026-09-11 21:12:50 +02:00
Moritz Graf 1e81cdbead feat(openclaw): add shopping, supermarket deals, geizhals, and ebay MCP tools 2026-09-10 21:32:22 +02:00
Moritz Graf 2f2f597a67 feat(openclaw): add jellyfin and jellyseerr MCP server integration and credentials 2026-09-10 10:34:28 +02:00
Moritz Graf dc062cb1a7 feat(openclaw): configure text-to-audio skill with Gemini 3.1 Flash TTS and solo default 2026-09-08 19:33:10 +02:00
Moritz Graf 4968ec2f49 feat(openclaw): configure context pruning, auto-compaction with memory flush, and nightly compaction cron 2026-09-08 16:39:20 +02:00
Moritz Graf 879eb9be10 fix(openclaw): configure subagents model to deepseek-v4-pro for Strategy B 2026-09-05 11:39:53 +02:00
Moritz Graf 0e2b59ee3f feat(openclaw): implement Karpathy LLM Wiki architecture, routines, and vault schema 2026-09-05 11:32:49 +02:00
Moritz Graf 52731e8b60 chore(submodule): update knowledge-wiki pointer 2026-09-04 18:52:28 +02:00
Moritz Graf 22d1973faf feat(wiki): configure knowledge-wiki as root Git submodule and revert monorepo embedding 2026-09-04 18:32:31 +02:00
Moritz Graf 4e4da29c78 feat(wiki): migrate knowledge wiki into infrapuzzle monorepo subfolder 2026-09-04 17:37:15 +02:00
Moritz Graf 00058eeab0 fix(backup): update job backoffLimit to 100 and refine verify_migration parsing 2026-07-23 20:07:35 +02:00
Moritz Graf c03463b750 feat(zigbee): add Sonoff S60 plug as code and tune shelly humidity buffer 2026-07-21 21:09:21 +02:00
Moritz Graf 2b0575364b feat: enable Google Photos Library API in Terraform and create gdrive-to-gphotos sync Job 2026-07-18 21:41:33 +02:00
Moritz Graf b4cf4c0961 chore(k8s): migrate Zigbee2MQTT to helm in zigbee namespace 2026-07-18 09:42:15 +02:00
Moritz Graf 44508e865c feat(monitoring): restructure dashboards into Grabengasse7 folder and add Z2M alerting 2026-07-15 22:04:47 +02:00
Moritz Graf ead3e99876 chore(monitoring): enable device availability monitoring in Zigbee2MQTT 2026-07-14 20:40:35 +02:00
Moritz Graf 9560e59374 fix(monitoring): upgrade zigbee2mqtt to latest, restore home-assistant config entries JSON, and correct localized Grafana queries 2026-07-14 20:27:32 +02:00
Moritz Graf e3bca38dfd Create Grafana dashboard ConfigMap for Shelly WS90 weather console 2026-07-12 08:04:48 +02:00
Moritz Graf f012a3e049 Update Zigbee2MQTT readme with LED blink disable instructions and verified metrics 2026-07-11 20:28:11 +02:00
Moritz Graf 6fbbf61d23 Adding explicitly the correct namespace. 2026-07-11 20:20:34 +02:00
Moritz Graf bdabc56afe monitoring: optimize alerts and mitigate fritzbox-exporter timeouts 2026-07-11 07:40:06 +02:00
Moritz Graf c5458821a7 monitoring: change TaupiFanOffline alert threshold to 8 hours 2026-07-09 07:24:19 +02:00
Moritz Graf 494892709d Deploy Zigbee2MQTT in monitoring namespace and integrate Shelly weather station 2026-07-07 21:38:10 +02:00
Moritz Graf f613721662 chore(monitoring): migrate heating gas dashboard to prometheus regex 2026-07-07 21:03:09 +02:00
Moritz Graf 26a68a8962 Adding esphome display 2026-07-07 21:01:46 +02:00
Moritz Graf 1501d7562e Adding recent k8s changes 2026-07-07 21:01:20 +02:00
Moritz Graf d163416758 Changing required diff to external taupunkt to 2 2026-07-07 21:00:09 +02:00
Moritz Graf d3cc3b896a feat(wireguard): add status timeline graph and uptime timer to grafana dashboard 2026-07-06 22:11:30 +02:00
Moritz Graf ecdc27b155 feat(wireguard): add prometheus monitoring, alerts, and grafana dashboard 2026-07-06 22:09:37 +02:00
Moritz Graf db9ce2b538 feat(shelly): raise taupunktschwelle and add Terraform output for script status 2026-07-05 08:03:05 +02:00
Moritz Graf 4082a155a4 feat(shelly): auto-start script after successful upload in upload.py 2026-07-05 07:55:41 +02:00
Moritz Graf f64540a8f5 Reducing buffer for humidity from 15 to 5 % 2026-07-05 07:45:56 +02:00
Moritz Graf e6556e5eb2 Recent fixes to the TAUPI script + upload logic 2026-07-05 07:45:37 +02:00
Moritz Graf a623ec7b85 refactor(monitoring): rearchitect taupi-fan dashboard & clean up docs
Dashboard changes:
- Merge 3 separate correlation graphs into one full-width panel
- Left Y axis: temperatures + dewpoints (°C)
- Right Y axis: humidity + mold threshold (%)
- Boolean signals (fan/mold/activation) as colored fill bands
- graphTooltip: 2 for shared crosshair + tooltip
- Add collapsed Deep Dive row with delta graphs
- Collapse BLE diagnostics row

Documentation changes:
- DASHBOARD_CREATION.md: remove content now covered by Grafana skills
  (dashboarding, grafana-oss, promql), eliminate duplicated pitfalls
  section, add Prometheus dashboard guidance, add Grafana unit codes
- AGENTS.md: add skills prerequisite table, update folder structure
  (add taupi-fan.yaml), add Prometheus data flow, remove duplicated
  InfluxDB/Flux/pitfalls sections (canonical in DASHBOARD_CREATION.md)
2026-07-03 13:06:25 +02:00
Moritz Graf 304ca52cca feat: add grafana dashboarding and promql agent skills 2026-07-03 12:48:42 +02:00
Moritz Graf 3f7c501340 fix(shelly): fix BLE variable overwriting bug in checkBlu 2026-07-03 11:54:23 +02:00
Moritz Graf be7dcc97bc backup: migrate backup cronjobs from dropbox to gdrive 2026-07-03 11:50:18 +02:00
Moritz Graf 6627372ec0 feat(monitoring): add prometheus metrics, alerts, and dashboard for taupi fan 2026-07-03 11:28:36 +02:00
Moritz Graf 1ad356a7b4 feat(shelly): add intelligent mold-risk check based on Sedlbauer LIM I curve and document in AGENTS.md 2026-07-03 10:56:33 +02:00
Moritz Graf 85bfabd387 feat(shelly): add terraform_shelly workspace for Taupi-4.0 dew point ventilation 2026-07-03 09:07:08 +02:00
Moritz Graf 768f7c83f7 fix(monitoring): correct n8n event loop lag metric name to match prefix 2026-07-03 07:22:24 +02:00
Moritz Graf 05e79a5098 feat(monitoring): add prometheus-operator monitoring & alerts for n8n, influxdb, and home-assistant
- Enable Prometheus metrics endpoint in n8n, InfluxDB, and Home Assistant.
- Add ServiceMonitor configs for scraping metrics, including token authentication for Home Assistant.
- Define native PrometheusRules for health checks, restarts, volume capacities, and n8n event loop lag to prevent login freezes.
- Deploy AlertmanagerConfigs to route alerts from the new namespaces to Telegram.
2026-07-03 07:19:29 +02:00
Moritz Graf e64aa64c73 velero: implement three-tier backup retention policy
Replace single daily schedule (240h TTL) with three tiered schedules:
- daily-backup:   02:00 nightly,  192h TTL  → keeps last 7 daily backups
- weekly-backup:  03:00 Sundays, 1032h TTL  → keeps last 6 weekly backups
- monthly-backup: 04:00 on 1st,  4392h TTL  → keeps last 6 monthly backups

Kopia handles incremental deduplication at the block level automatically,
so each Velero backup only stores changed data despite being a full logical
snapshot. No additional incremental configuration required.

Update README with retention policy table and updated backup commands.
2026-07-01 17:28:11 +02:00
Moritz Graf 15e802bebc I have added a lot of changes from various ai sessions 2026-07-01 11:01:01 +02:00
Moritz Graf 68345648d9 Latest state of openclaw and traefik 2026-06-21 07:22:53 +02:00
Moritz Graf 3042168c4c Fixing basic auth issues 2026-05-17 17:49:43 +02:00
Moritz Graf 27f9c9e48e feat(openclaw): configure and activate memobird thermal printer skill 2026-05-17 13:00:17 +02:00
Moritz Graf 3a996236a4 fix(openclaw): update perplexity search provider configuration to plugins schema 2026-05-17 12:54:48 +02:00
Moritz Graf bb83b8368a chore(openclaw): update OpenClaw container image to 2026.5.12 2026-05-17 12:46:33 +02:00
Moritz Graf e67897b33a feat(network): implement NAT-free Wireguard site-to-site VPN routing and manual Sonos configuration 2026-05-17 11:42:54 +02:00
Moritz Graf b82ff8a09f chore(hass): rename values to secret to encrypt token and add README 2026-05-17 10:52:11 +02:00
Moritz Graf e90ad7b4df docs(fritzbox): add encrypted DynHost credentials and update docs 2026-05-17 10:40:29 +02:00
Moritz Graf c2262b4679 docs(fritzbox): add OVH DynDNS setup instructions 2026-05-17 10:36:28 +02:00
Moritz Graf f203cd1f38 feat(wireguard): setup K8s to FritzBox Site-to-Site VPN 2026-05-17 10:36:06 +02:00
Moritz Graf 6b3a5cd7c1 Latest state of openclaw 2026-05-17 09:54:37 +02:00
Moritz Graf eb2e963945 Removing n8n fabi 2026-04-01 17:48:52 +02:00
Moritz Graf ae14763383 Adding openclaw latest config version 2026-03-30 16:06:50 +02:00