Skip to content

feat(helm): read-only root filesystem support (ArcadeDB 26.6.1)#10

Merged
robfrank merged 7 commits into
mainfrom
add-log-dir
Jun 4, 2026
Merged

feat(helm): read-only root filesystem support (ArcadeDB 26.6.1)#10
robfrank merged 7 commits into
mainfrom
add-log-dir

Conversation

@robfrank

@robfrank robfrank commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Updates the chart for ArcadeDB 26.6.1 and ships full securityContext.readOnlyRootFilesystem: true hardening that works out of the box. ArcadeDB 26.6.1 adds two settings (arcadedb-docs@0200db0) specifically to enable a read-only root; this wires them into the chart and auto-provisions every writable path the server needs.

Changes

New values

  • arcadedb.logsDirectory (/home/arcadedb/log) — forwarded via the ARCADEDB_LOG_DIR env var (the documented, resolved-very-early mechanism the server scripts honor).
  • arcadedb.ha.raftStorageDirectory (/home/arcadedb/raft) — emitted as -Darcadedb.ha.raftStorageDirectory, gated on the HA condition.
  • securityContext.readOnlyRootFilesystem: true by default.

Writable mounts (auto-provided)

  • arcadedb-logs and /tmp emptyDirs — always.
  • arcadedb-raft emptyDir — only when HA is active (replicaCount > 1 or autoscaling enabled).
  • emptyDir fallbacks for the database/config dirs when their PVCs are disabled.

The database/config mounts are now always present — only the volume source swaps between PVC and emptyDir, so persistent-mode behavior is unchanged. Logs and Raft storage were already ephemeral (container writable layer), so emptyDir preserves their durability semantics.

Version

  • Chart version + appVersion26.6.1 (also fixes two stale 26.4.2 unit-test assertions).

Testing

  • make test-unit: 134/134 passing (new coverage for the log env/mount, /tmp, raft wiring incl. the autoscaling HA path, and the negative single-node case).
  • make lint: clean.
  • Rendered default / HA / dev / config-PVC / autoscaling modes — verified no duplicate volume names in any combination.

Notes

  • The kind-based integration suite (make test-integration) was not run here: it requires the arcadedata/arcadedb:26.6.1 image to be published. Once available, the existing 3-pod HA suite exercises the read-only-root path end-to-end.
  • readOnlyRootFilesystem: true is a behavior change for existing deployments; NOTES.txt now documents the escape hatch (set it to false) for sidecars/init containers that write to the root FS.

🤖 Generated with Claude Code

robfrank and others added 7 commits June 4, 2026 11:05
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tFilesystem

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ootFilesystem

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… tests

Addresses code review: rename volume example/test names off the chart-reserved
arcadedb-config, add raft volumeMount/autoscaling coverage, and note the
read-only root default in NOTES.txt.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request implements read-only root filesystem support for the ArcadeDB Helm chart by upgrading to ArcadeDB version 26.6.1 and hardening the container security posture. It introduces default configurations for securityContext.readOnlyRootFilesystem: true and configures automatic writable emptyDir mounts for logs, /tmp, Raft storage, and database/config directories when persistence is disabled. The environment variable ARCADEDB_LOG_DIR and JVM arguments are wired accordingly, backed by comprehensive unit test updates and design documentation. No review comments were provided, so there is no feedback to address.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@robfrank robfrank merged commit 4629b78 into main Jun 4, 2026
3 checks passed
@robfrank robfrank deleted the add-log-dir branch June 4, 2026 09:29
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