Files
mw-pfeddersheim-workstation/docs/tech/manual-overrides.md
T
mw cd63df4f59 docs(caddy): add agent0.localhost reverse proxy + RFC 6761 wildcard learning
- New site: https://agent0.localhost -> reverse_proxy 192.168.0.141:8090
  (first non-localhost backend; remote LAN host running uvicorn)
- Config in dedicated /etc/caddy/conf.d/agent0.localhost.conf
- Regenerated mkcert cert: 19 -> 20 SANs, valid until 2028-10-21
- Key learning: *.localhost wildcard is NOT honored by curl/system
  trust even for single-label subdomains - .localhost is a special-use
  TLD per RFC 6761; every subdomain needs an explicit SAN. Corrects
  prior assumption in stack.md and manual-overrides.md.

Updates: docs/tech/stack.md, docs/tech/manual-overrides.md, CHANGELOG.md
2026-07-21 14:08:07 +02:00

4.6 KiB

description, tags, last_updated
description tags last_updated
Documentation of manual system changes that are not managed by Ansible, as required by the project constitution.
manual-overrides
infrastructure
configuration
2026-07-21

Manual System Overrides

This document tracks all persistent system changes implemented manually that are not (yet) managed via Ansible roles.

Principles

  1. Ansible First: Always prefer automation over manual overrides.
  2. Document Everything: Any manual change MUST be recorded here with rationale.
  3. Migrate to Code: Periodically review this list to identify candidates for Ansible migration.

Active Overrides

Date Change Rationale Ansible Status
2026-07-21 Added agent0.localhost (-> reverse_proxy 192.168.0.141:8090, flush_interval -1) in dedicated file /etc/caddy/conf.d/agent0.localhost.conf. First non-localhost backend (remote LAN host running a uvicorn app). Regenerated mkcert cert to add explicit agent0.localhost SAN; cert now has 20 SANs total, valid until 2028-10-21. Old cert/key backed up as localhost{,-key}.pem.bak.<ts>. Total *.localhost sites now 18. User request to expose the remote agent backend on local HTTPS. Key learning: the *.localhost wildcard is NOT honored by curl/system trust even for single-label subdomains - .localhost is a special-use TLD (RFC 6761), so every subdomain needs an explicit SAN. This corrects the prior assumption that single-label subdomains were covered by the wildcard. Same as parent Caddy row - candidate for Ansible role when issue #92 resolves
2026-07-12 Regenerated mkcert cert at /etc/caddy/localhost{,-key}.pem to add explicit SANs for platform.localhost, packages.localhost, and onlyoffice.docs.localhost (the latter was pre-existing in Caddy config but missing from the cert, causing TLS validation failures). Cert now has 19 SANs total, valid until 2028-10-12. onlyoffice.docs.localhost is a multi-label subdomain not covered by *.localhost wildcard. Required explicit SAN. Same as parent Caddy row
2026-07-12 Added platform.localhost (-> localhost:10080) and packages.localhost (-> localhost:20080) to /etc/caddy/conf.d/localhost-dev.conf. Docker port mappings: ~/internal/amicron-platform/docker-compose.override.yml 10080:80, ~/internal/satis/docker-compose.yml nginx 20080:80. Both upstreams are plain HTTP on high ports; Caddy terminates TLS. Also documented onlyoffice.docs.localhost (pre-existing in config, was undocumented). Total sites now 17. Local HTTPS dev for amicron-platform (ERP), satis (Composer package repository), and shared Firebird 3.0.14 database. The three form the local E2E test triangle: platform.localhost (ERP) -> packages.localhost (Satis) -> Firebird (token validation). Mirrors the production platform.auc.de + packages.auc.de + shared Firebird setup. Same as parent Caddy row - candidate for Ansible role when issue #92 resolves
2026-07-06 Caddy reverse-proxy + mkcert TLS at /etc/caddy/ (Caddyfile + conf.d/localhost-dev.conf + localhost{,-key}.pem) Local HTTPS dev for 14 *.localhost sites (mcp, artifacts, onlyoffice, demo.satware.com clone, 10 placeholders). Caddy runs as systemd caddy.service on port 443. NOT managed by this repo - no caddy Ansible role exists. The onlyoffice.localhost site (-> localhost:3847) is emitting context canceled SSE aborts; see docs/learnings/2026-07-06-caddy-onlyoffice-mcp-sse-investigation.md and GitLab issue satware/mcp/onlyoffice#92. Candidate for Ansible role (caddy + mkcert); defer until issue #92 resolves to avoid masking root cause
2026-07-03 Patched remmina-plugin-rdp.so in ~/.config/remmina/plugins/ Remmina 1.4.43 crashes (SIGSEGV) on Wayland when keymap is set in a profile. Built from ~/external/remmina/ fork with NULL check fix. Alt plugin dir loads before system plugin. MR !2757 submitted upstream. See docs/learnings/2026-07-03-remmina-wayland-crash-fix.md. Remove when upstream fix is released and packaged
2026-06-17 Discovered and deleted br_vm_internal bridge (10.10.2.0/24) Externally-created bridge, no NM config file, no VMs attached. Origin unknown — likely ad-hoc nmcli con add or manual brctl session (Jun 10). Traffic-shaping qdisc (htb) suggests prior VM network isolation attempt. Deleted via nmcli con delete + ip link delete. N/A (removed)
2026-04-02 Moved LLM models to /home/mw/models/ (SATA SSD) with symlinks Free root NVMe space (93%→87%, +25G freed) Not yet