Conversation
…and dataset lifecycle management Add a controller-runtime based component that manages data in the Dragonfly P2P network declaratively through two CRDs in the data.d7y.io group: - Dataset declares file and image sources, a distribution policy and an optional inline lifecycle. The reconciler distributes the sources with preheat jobs, refreshes them on an interval or cron schedule, verifies them with get_task jobs, expires them after a TTL (purge or retain) and purges them with delete_task jobs when they are removed or the Dataset is deleted, guarded by a finalizer. Task IDs are computed locally the same way the schedulers do, including blob digest based IDs, so verify and purge address exactly the distributed tasks. Failures are retried with backoff. - DataLifecyclePolicy applies a lifecycle to Datasets selected by labels, with priority based tie breaking and per-Dataset overrides. The controller talks to the manager open API with a personal access token, reads all credentials from Secrets, records events and metrics, and reports phase, conditions and per-source state in the status. Also add the datacontroller command, configuration, Dockerfile, deployment manifests with CRDs and RBAC, samples, build and release wiring, a design document and unit tests against a fake API server and manager. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GaXA6phNbdRVaiRGeJv1Xc
aburan28
requested review from
BruceAko,
anjia0532,
fcgxz2003,
imeoer,
mingcheng and
xujihui1985
September 8, 2026 21:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…and dataset lifecycle management
Add a controller-runtime based component that manages data in the Dragonfly P2P network declaratively through two CRDs in the data.d7y.io group:
The controller talks to the manager open API with a personal access token, reads all credentials from Secrets, records events and metrics, and reports phase, conditions and per-source state in the status.
Also add the datacontroller command, configuration, Dockerfile, deployment manifests with CRDs and RBAC, samples, build and release wiring, a design document and unit tests against a fake API server and manager.
Claude-Session: https://claude.ai/code/session_01GaXA6phNbdRVaiRGeJv1Xc
Description
Related Issue
Motivation and Context
Screenshots (if appropriate)
Types of changes
Checklist