<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <docs>https://blogs.law.harvard.edu/tech/rss</docs>
    <title>Matrix on Fuchsbau</title>
    <link>https://this-is-fine.io/tags/matrix/</link>
    <description>Recent content in Matrix on Fuchsbau</description>
    <image>
      <title>Matrix on Fuchsbau</title>
      <link>https://this-is-fine.io/tags/matrix/</link>
      <url>https://source.unsplash.com/2000x1322/?fox</url>
    </image>
    <ttl>1440</ttl>
    <generator>Hugo 0.125.4</generator>
    <language>de-DE</language>
    <lastBuildDate>Wed, 20 May 2026 22:26:11 UT</lastBuildDate>
    <atom:link href="https://this-is-fine.io/tags/matrix/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ZeroClaw in the Lab: a GitOps Agent on Matrix</title>
      <link>https://this-is-fine.io/posts/20251120-zeroclaw-in-the-lab/</link>
      <pubDate>Thu, 20 Nov 2025 09:00:00 UT</pubDate>
      <dc:creator>ff0x</dc:creator>
      <guid>https://this-is-fine.io/posts/20251120-zeroclaw-in-the-lab/</guid>
      <description>ZeroClaw (nickname Claw) is a small AI agent for cluster work: check Flux status, explain failing pods, dry-run Renovate, draft Git patches. It shares the same GitOps monorepo as the cluster — it is not a second control plane.
You talk to it on Matrix at matrix.this-is-fine.social. Web fetches go through MCP to a Scrapling sidecar instead of built-in browser tools, so there is one audited path for HTTP.
The agent is deliberately ops-focused. It is not a general chatbot for the public internet; it reads cluster state, follows skills checked into Git, and proposes changes that still pass human review. That keeps expectations aligned with what automation can safely do inside a production-shaped lab.
</description>
      <category domain="https://this-is-fine.io/categories/infrastructure">Infrastructure</category>
      <content:encoded><![CDATA[ZeroClaw (nickname Claw) is a small AI agent for cluster work: check Flux status, explain failing pods, dry-run Renovate, draft Git patches. It shares the same GitOps monorepo as the cluster — it is not a second control plane.
You talk to it on Matrix at matrix.this-is-fine.social. Web fetches go through MCP to a Scrapling sidecar instead of built-in browser tools, so there is one audited path for HTTP.
The agent is deliberately ops-focused. It is not a general chatbot for the public internet; it reads cluster state, follows skills checked into Git, and proposes changes that still pass human review. That keeps expectations aligned with what automation can safely do inside a production-shaped lab.
Concepts worth knowing Topic Pointer GitOps agent Policy and skills in Git; credentials mounted read-only at runtime Agent Skills Short SKILL.md playbooks instead of huge prompts MCP Sidecar on loopback; the agent calls tools over HTTP Matrix E2EE Crypto state on a PVC — not inside the workspace seed image Skills are the main teaching device. Each skill is a short markdown playbook (flux debugging, storage checks, Renovate dry-runs) so the model reaches for a documented procedure instead of improvising shell one-liners.
Flow operator -&amp;gt; Matrix chat -&amp;gt; ZeroClaw pod (kubectl, flux, skills) -&amp;gt; MCP -&amp;gt; Scrapling (web) -&amp;gt; git patch on forge -&amp;gt; merge -&amp;gt; Flux reconciles Pod layout init: copy OCI workspace seed onto PVC containers: zeroclaw (daemon) scrapling :8000 (MCP) mounts: kubeconfig, registry auth, matrix, sops-age HTTPRoute: claw.this-is-fine.internal An ImageVolume refreshes workspace files from oci.this-is-fine.io/zeroclaw/workspace on each start. Conversation memory and Matrix state/ stay on the PVC. API access to other clusters uses normal pod DNS and *.tif.internal (see the tailnet post).
Forge CI builds and signs images — Cosign and Kyverno. The workspace image can refresh on every pod start while chat history and Matrix crypto keys persist on disk, which is the usual split between replaceable config and state you must not wipe casually.
Deliberate limits Changes go through a cloned repo and review, not edits on the live PVC tree. Built-in web_fetch and browser tools are disabled; Scrapling handles the web. Effective permissions follow kubeconfig RBAC; AGENTS.md gates destructive actions. Claw is a readable layer on top of Flux: ask in chat, confirm with flux get, land the fix in Git. If Flux says the cluster is healthy but an app misbehaves, the agent still has to read events and logs like anyone else — it just lowers the friction for doing that often.
]]></content:encoded>
    </item>
  </channel>
</rss>
