Skip to content

Clean up completed RustFS bucket init Pods - #80

Open
timflannagan wants to merge 2 commits into
kagent-dev:mainfrom
timflannagan:fix/cleanup-rustfs-bucket-init
Open

timflannagan wants to merge 2 commits into
kagent-dev:mainfrom
timflannagan:fix/cleanup-rustfs-bucket-init

Conversation

@timflannagan

@timflannagan timflannagan commented Oct 15, 2026 •

Copy link
Copy Markdown

Run RustFS bucket initialization as a post-install and post-upgrade hook.
Successful hooks are removed, old hooks are replaced before the next run,
and failed hooks remain available for diagnosis. Micro-VM asset staging
tolerates the successful hook having already been removed.

  • Tests pass
  • Appropriate changes to documentation are included in the PR

The RustFS bucket initializer now expires five minutes after it finishes.
Asset staging tolerates an initializer that Kubernetes has already removed.

Previously, completed initialization Jobs and their Pods remained in the
cluster indefinitely, and later staging assumed the Job was still present.

Now, the Kubernetes TTL controller deletes finished Jobs and Pods, while
staging waits for initialization only when the Job still exists.

Signed-off-by: timflannagan <timflannagan@gmail.com>
The RustFS bucket initializer now runs as a post-install and post-upgrade
hook with successful-hook cleanup.

Previously, a TTL deleted a release-managed resource. GitOps controllers
could treat that deletion as drift and recreate the Job indefinitely.

Now, hook-aware installers remove successful Jobs and replace an old Job
before the next run, while failed Jobs remain available for diagnosis.

Signed-off-by: timflannagan <timflannagan@gmail.com>

@EItanya EItanya 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.

How do helm hooks like these work with argo?

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.

2 participants