Rolling an instance from its Deployments/<name> record — a Reconcile, and the Provision of a new instance — starts with the operator making sure the namespace exists. On 2026-09-08 that step failed on the first record-driven roll of memex:

hosting-deploy: ERROR: could not ensure namespace memex
error parsing STDIN: yaml: line 2: mapping values are not allowed in this context

What was happening

The operator narrates every mutation it runs ( + kubectl create namespace …) so the run's log tells you what it did. That narration was written to the same stream as the command's output — and this particular command's output is a YAML manifest that is piped straight into kubectl apply. kubectl therefore received the narration as line 1 of the manifest and refused line 2.

A Restart was unaffected (its steps pipe nothing), which is why a restart could roll the pods earlier the same day while a reconcile of the same instance could not.

What it does now

Narration is written to the log's error stream, so the data a wrapped command produces is exactly what the next command receives. The operator's test suite now asserts this byte-for-byte: a manifest piped through the wrapper comes out identical, a dry run writes nothing to the data channel, and the narration is still there — on the stream a log reader sees.

The operator image carrying this fix has to be named on each instance's record (operator.image); until it is, a Reconcile or Provision on that instance stops at the same line.

Reconnecting…
The server was updated. Reloading the page to pick up the latest version.