Visitar URL original
chore(k8s): remove the plain StatefulSet example, the Helm chart is the only Kubernetes deployment by robfrank · Pull Request #10542 · ArcadeData/arcadedb · GitHub
Skip to content

chore(k8s): remove the plain StatefulSet example, the Helm chart is the only Kubernetes deployment - #10542

Merged
robfrank merged 1 commit into
mainfrom
chore/remove-k8s-statefulset
Oct 21, 2026
Merged

robfrank merged 1 commit into
mainfrom
chore/remove-k8s-statefulset

Conversation

@robfrank

@robfrank robfrank commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Why

The Kubernetes Helm chart lives in ArcadeData/arcadedb-helm. The hand-written package/src/main/config/arcadedb-statefulset.yaml was a second, unofficial deployment path:

What

  • Delete package/src/main/config/arcadedb-statefulset.yaml.
  • Remove the 9 StatefulSet tests from PackagingManifestsTest and the helpers only they used. The Dockerfile, Compose, builder, native and config-template checks stay. repositoryRoot() now looks for the Dockerfile instead of the manifest.
  • Drop the stale k8s/helm/**/* entry from REUSE.toml (the directory no longer exists).
  • k8s/README.md: state that the chart is the only supported Kubernetes deployment, and point to helm template for anyone who needs plain manifests.

What the chart still needs from the example's 26.11.1 fixes is tracked in ArcadeData/arcadedb-helm#42 (backup directory, HA readiness default, native-safe config seeding, the setting-exists drift guard), alongside the existing arcadedb-helm#34, #35, #38, #39 and #41.

The server-side half of #10536 (seed an empty configDirectory from the server's own defaults at startup, with no shell and no init container) is still worth doing and would benefit the chart. This PR does not close #10536.

Release note

config/arcadedb-statefulset.yaml is no longer shipped in the distribution or the Docker images. Deploy on Kubernetes with the Helm chart (helm repo add arcadedb https://helm.arcadedb.com/), or render plain manifests with helm template.

Verification

  • mvn -o -pl server test -Dtest=PackagingManifestsTest: 18 tests, 0 failures.
  • git grep arcadedb-statefulset finds no remaining references.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Clarified that the Helm chart is the only supported Kubernetes deployment method.
    • Added guidance for users who need plain Kubernetes manifests: render them with helm template.
  • Removed

    • Removed the distributed plain StatefulSet Kubernetes example.
    • Users should use the Helm chart to generate equivalent deployment manifests.

…he only Kubernetes deployment

The Helm chart moved to ArcadeData/arcadedb-helm, and the hand-written
package/src/main/config/arcadedb-statefulset.yaml had become a second deployment path that every fix
had to land in twice (#10452, #10462) and that drifted on its own (#10536). Remove it with the
PackagingManifestsTest checks that guarded it, drop the stale k8s/helm REUSE entry, and say in
k8s/README.md that the chart is the supported path. The parity work the chart still needs is
tracked in ArcadeData/arcadedb-helm#42.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@claude

claude Bot commented Oct 21, 2026

Copy link
Copy Markdown

Review: LGTM.

  • Deleting arcadedb-statefulset.yaml is clean. I found no remaining references in package/ (assemblies, pom, Dockerfiles), so nothing is left pointing at the removed file.
  • The test cleanup is consistent. The remaining imports (LinkedHashSet, Matcher, JSONObject, GlobalConfiguration, Stream) are still used, and repositoryRoot() now anchors on the Dockerfile and Compose file, which still exist. I did not run the tests.
  • The REUSE.toml cleanup and the k8s/README.md note are good. The release note in the PR description covers the user-facing change.
  • No security concerns. The change only removes a manifest and tests.

Minor: it is worth confirming that CI's PackagingManifestsTest run is green, since the test no longer checks anything about Kubernetes. The PR already says arcadedb-helm#42 tracks the remaining chart work, which is fine.

@mergify

mergify Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 94b864f7-72d6-4fba-8e39-8256c755fb7d
📥 Commits

Reviewing files that changed from the base of the PR and between 2eed9d4 and c5a8d37.

📒 Files selected for processing: 4
  • REUSE.toml
  • k8s/README.md
  • package/src/main/config/arcadedb-statefulset.yaml
  • server/src/test/java/com/arcadedb/server/PackagingManifestsTest.java
💤 Files with no reviewable changes: 2
  • package/src/main/config/arcadedb-statefulset.yaml
  • REUSE.toml

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

📝 Walkthrough

The standalone Kubernetes StatefulSet manifest and its related packaging checks were removed. The Kubernetes README now identifies Helm as the supported deployment and directs users to generate plain manifests with helm template.

Changes: Kubernetes deployment

Layer / File(s) Summary
Remove the StatefulSet and its packaging checks
package/src/main/config/arcadedb-statefulset.yaml, server/src/test/java/com/arcadedb/server/PackagingManifestsTest.java
The standalone StatefulSet manifest and its validation tests and helpers were removed. Repository-root detection now checks for the Dockerfile and Compose file.
Update Kubernetes deployment guidance
k8s/README.md, REUSE.toml
The README identifies Helm as the only supported Kubernetes deployment and directs users to render plain manifests with helm template. The Helm annotation entry was removed from REUSE.toml.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Suggested reviewers: lvca, gramian

Merge Risk: ⚪ Minimal · up to c5a8d

The manifest removal is consistent with the inspected packaging paths. No identified issue blocks merging after normal checks.

Pre-merge checks: Passed 3 · Failed 2

Failed Failed checks: 2 warnings

Check name Status Explanation Resolution
Linked Issues check Warning Issue #10536 requires a solution for configuration seeding that works with the project's native images. The PR deletes the incompatible StatefulSet and its tests, but it does not add server-startup se… Implement the #10536 server-side configuration seeding behavior, or provide another tested seeding path that works without /bin/sh and without a second image reference.
Docstring Coverage Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 1 files. (1 skipped: 1… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title clearly and concisely identifies the main change: removal of the plain StatefulSet example and use of the Helm chart as the supported Kubernetes deployment.
Description check Passed The description is detailed and on topic. It explains the motivation, implementation changes, follow-up issues, release impact, and verification results. It does not use the template headings and omit…
Out of Scope Changes check Passed The changes stay within the stated removal scope. The manifest deletion, removal of its nine tests and exclusive helpers, Dockerfile-based repository discovery, stale REUSE entry removal, and Kubernet…
Full details: Description check

Explanation

The description is detailed and on topic. It explains the motivation, implementation changes, follow-up issues, release impact, and verification results. It does not use the template headings and omits the required checklist, but the provided content is mostly complete.

Full details: Out of Scope Changes check

Explanation

The changes stay within the stated removal scope. The manifest deletion, removal of its nine tests and exclusive helpers, Dockerfile-based repository discovery, stale REUSE entry removal, and Kubernetes README update all support removing the unofficial deployment path.

Full details: Linked Issues check

Explanation

Issue #10536 requires a solution for configuration seeding that works with the project's native images. The PR deletes the incompatible StatefulSet and its tests, but it does not add server-startup seeding or another native-image-compatible seeding path. The PR description confirms that this server-side work remains separate.

Resolution

Implement the #10536 server-side configuration seeding behavior, or provide another tested seeding path that works without /bin/sh and without a second image reference.

Full details: Docstring Coverage

Explanation

Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 1 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

✨ Finishing Touches: 💡 2
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@robfrank
robfrank merged commit 502d195 into main Oct 21, 2026
30 of 33 checks passed
@robfrank
robfrank deleted the chore/remove-k8s-statefulset branch October 21, 2026 15:30
robfrank added a commit that referenced this pull request Nov 5, 2026
…he only Kubernetes deployment (#10542)

(cherry picked from commit 502d195)
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.

The StatefulSet seed runs /bin/sh and its new test requires the seed image to equal the server's, which excludes both of the project's own native images

1 participant