Skip to content

add syncpod#5547

Open
hashmap-kz wants to merge 1 commit intokubernetes-sigs:masterfrom
hashmap-kz:syncpod-plugin
Open

add syncpod#5547
hashmap-kz wants to merge 1 commit intokubernetes-sigs:masterfrom
hashmap-kz:syncpod-plugin

Conversation

@hashmap-kz
Copy link
Copy Markdown
Contributor

Hello! The new plugin page: https://github.com/hashmap-kz/kubectl-syncpod/tree/master

Motivation

There are plenty of tools with seemingly similar functionality at first glance.
Some of them mount PVCs locally, others transfer data between PVCs, perform backups, etc.
However, I was surprised to find that none of them can efficiently transfer files to and from a PVC—especially in a fast and concurrent manner.

Of course, there's always the manual approach: running a debug Pod or building a custom image with the necessary tools—but that's a long and cumbersome way to get things done.

Currently, I'm developing a tool for PostgreSQL WAL archiving, and I ran into a roadblock when I needed to transfer a large amount of data inside a PVC.

If the volume is hostPath-based, it's relatively straightforward—you can simply copy the required files onto the target node. But with CSI-backed volumes, where the PVC is mounted as a block device, things become more complex.

In my case, I have three primary storage classes: hostPath, Ceph RBD, and NFS.
Most of my PostgreSQL instances use RBD volumes, so without a lot of shell magic, you can’t just "copy something in" directly.

I've tested this tool with Ceph RBD, distroless-based images, and hostPath PVCs.
It performs much faster than kubectl cp or kubectl exec. With those, I gave up waiting for even a 100 GiB copy to finish—and that's a relatively small amount of data.

Perhaps someone will find it useful too.
Best regards!

@ahmetb
Copy link
Copy Markdown
Member

ahmetb commented Apr 3, 2026

🤖 Beep beep! I’m a robot speaking on behalf of @ahmetb. 🤖


Thanks for submitting your kubectl plugin to Krew!
One of the krew-index maintainers will review it soon. Note that the reviews for new plugin submissions may take a few days.

In the meanwhile, here are a few tips to make your plugin manifest better:

  • Make sure your plugin follows the best practices.
  • Eliminate redundant wording form shortDescription (it should be max 50 characters).
  • Try to word wrap your description to 80-character lines (no usage examples, please).

Thanks for your patience!
/kind new-plugin

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: hashmap-kz
Once this PR has been reviewed and has the lgtm label, please assign chriskim06 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added kind/new-plugin size/M Denotes a PR that changes 30-99 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Apr 3, 2026
@hashmap-kz
Copy link
Copy Markdown
Contributor Author

/assign ahmetb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/new-plugin size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants