Skip to content

fix(runtime): keep user config writable - #142

Closed
jboubix wants to merge 1 commit into
paperclipinc:mainfrom
jboubix:fix/writable-runtime-config
Closed

fix(runtime): keep user config writable#142
jboubix wants to merge 1 commit into
paperclipinc:mainfrom
jboubix:fix/writable-runtime-config

Conversation

@jboubix

@jboubix jboubix commented Aug 25, 2026

Copy link
Copy Markdown

Summary

  • mount operator-rendered config at Hermes managed scope (/etc/hermes/config.yaml)
  • leave /opt/data/config.yaml writable for runtime mutations such as /sethome
  • document managed-over-user config layering

Root cause

The operator mounted its ConfigMap directly over $HERMES_HOME/config.yaml read-only. /sethome calls save_config(), whose atomic replace then failed with EROFS.

Tests

  • RED: updated volume-mount test failed against /opt/data/config.yaml
  • GREEN: go test ./internal/resources -count=1
  • Integration: current Hermes image loaded managed config from /etc/hermes, persisted a WhatsApp home channel to /opt/data/config.yaml, stripped managed keys from the user file, and reloaded the merged effective config successfully.

Full go test ./... reaches the controller/e2e suites but those require envtest binaries and a Kubernetes/Helm environment not present in the plain Go container.

@jboubix
jboubix requested a review from stubbi as a code owner August 25, 2026 13:34
@jboubix jboubix closed this Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant