Pin the no-pipelining invariant on the PTY upgrade
self.rfile is a BUFFERED reader over the socket and pump reads the RAW socket, so a caller that sent bytes behind its request line would strand them in that buf...
Bootstrap script and operational README
bootstrap.sh creates the master account, promotes it to reseller and writes the non-secret platform configuration. Idempotent: a second run detects the existing...
The NAT is in place; a closed port means no listener
The router forwards for 5060/5061 TCP+UDP and 20001-29999/UDP to 192.168.4.36 are confirmed. My gate reported PHASE 0 BLOCKED against them while Kamailio was cr...
Correct the README to the routes that actually shipped
The WebRTC endpoint moved from /webrtc/<ch>/whep to /live/<ch>/whep when channels were renamed live/<ch> to drop StripPrefix, and the README still described the...
Implementation plan for dev machine provisioning
16 tasks across KlusterServices, kamo-shared-library, KamoInitializerService, SecurityService and kamo-internal.
Design for per-member dev machine provisioning
Covers the root cause of the 23-day KamoDesktop outage (netplan matching a first-boot MAC that KubeVirt regenerates on every VMI recreate), the live fix already...
The Dovecot quota change, written out and not applied
Object storage now refuses content that would take an organization past its ceiling, which covers every domain that goes through the object store. Inbound mail ...
The Dovecot quota change, written out and not applied
Object storage now refuses content that would take an organization past its ceiling, which covers every domain that goes through the object store. Inbound mail ...
Implementation plan for the CockroachDB to YugabyteDB migration
15 tasks. The two gates sit before any downtime: Task 5 proves the backups actually restore, and Task 10 diffs the KamoInitializer-built schema against the live...
Implementation plan for the CockroachDB to YugabyteDB migration
15 tasks. The two gates sit before any downtime: Task 5 proves the backups actually restore, and Task 10 diffs the KamoInitializer-built schema against the live...
Design for the CockroachDB to YugabyteDB migration
Records the measured current state (3.4 GB, 791 tables, 671 FKs, ~30 consumers), the five design decisions, and the cutover sequence. The two findings that sha...
Design spec for KamoDesktop god SSO icons + Guacamole rebrand
Two god-only nav icons (Linux/Windows) in kamo-internal that open Guacamole in a SecurityService (god-eligible gate), deep-linked straight to each instance. Reb...
Design spec for hardened KubeVirt remote desktop + Guacamole gateway
KubeVirt Kubuntu VM (16Gi/500Gi Longhorn) behind Apache Guacamole HTML5, exposed at desktop.kamocrm.com via Traefik (TLS + rate-limit + IP-ban). Adds LAN Window...
Note ratestack Forgejo :3000 node registry config requirement
ratestack apps pull from the Forgejo registry 192.168.4.22:3000 (plain HTTP, auth required), which must be added to each node's registries.yaml (mirror -> http ...
Add Janus WebRTC Gateway configuration documentation - Document current Janus configuration on k1m1 - Add configuration reference files for Janus setup
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.