Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export an object storage interface to allow the backend data mover to ingest data from an application-aware backup tool #2822

Closed
shuguet opened this issue Apr 16, 2024 · 1 comment
Assignees
Projects

Comments

@shuguet
Copy link
Member

shuguet commented Apr 16, 2024

Is your feature request related to a problem? Please describe.
More and more applications and Operators, especially in the cloud native space, seem to come bundled with their own backup tool.
Most of those app-specific backup tools have some kind of capability to backup to an object storage.

While Kanister is able to expose one of its Storage Location Profile to a Blueprint, doing so entirely bypass the datamover being used (for example the recently added support for Kopia).
It also exposes the specifics of the Location Profile (endpoint, credentials, etc.) to the Blueprint.

Describe the solution you'd like
An alternative (or additional) option would be for Kanister to expose an object storage interface to the Blueprint, masquerading as an S3-Compatible endpoint, providing ephemeral credentials, and controlling which resources a Blueprint could access.
That would both simplify writing Blueprints for modern applications with their own app-aware backup capabilities, but also make the process more secure by isolating the Blueprint execution environment from the actual specifics of the underlying destination.
It would also allows the backups generated to be fed through a data mover (Kopia or any other).

Describe alternatives you've considered
Exposing Kanister's Location Profile directly to the Blueprint
Using a ConfigMap+Secret with the Blueprint

In both cases, the app completely bypass the datamover and has to re-implement a lot of the "niceties" provided by Kanister

Environment
Kubernetes Version/Provider: all
Storage Provider: all
Cluster Size (#nodes): N/A
Data Size: N/A

Additional context
None.

@infraq infraq added this to To Be Triaged in Kanister Apr 16, 2024
@kanisterio kanisterio deleted a comment from github-actions bot May 9, 2024
@mlavi mlavi removed the triage label May 23, 2024
@mlavi mlavi self-assigned this May 23, 2024
@mlavi
Copy link
Contributor

mlavi commented May 23, 2024

Discussed in today's community meeting; there's a bit more to explore on the use case before justifying and recent engineering priority isn't bringing this forward in the short time frame. Moving to a discussion...

@kanisterio kanisterio locked and limited conversation to collaborators May 23, 2024
@mlavi mlavi converted this issue into discussion #2902 May 23, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Projects
Kanister
To Be Triaged
Development

No branches or pull requests

2 participants