Skip to content
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

Rest API Support #99

Closed
1 of 3 tasks
iamMHZ opened this issue Apr 28, 2022 · 4 comments
Closed
1 of 3 tasks

Rest API Support #99

iamMHZ opened this issue Apr 28, 2022 · 4 comments
Labels

Comments

@iamMHZ
Copy link

iamMHZ commented Apr 28, 2022

  • I'm submitting a ...

    • bug report
    • feature request
    • support request
  • What is the current behavior?
    The Current way of adding a configuration is by editing a couple of env files which is a really good way of managing backups for a
    small number of containers. The drawback of this approach appears when you have multiple schedules and wanna be able to edit them from the app container which makes it really messy for you to edit multiple env files.

  • What is the new feature behavior?
    It would be really nice to support Rest APIs. For example, having an API for changing schedulers of backup containers, makes deployment easier and faster.

@m90
Copy link
Member

m90 commented Apr 28, 2022

Thank you for this proposal. I've got a few questions for my understanding about how such a thing could look like:

  • where would such a setup persist its configuration? Would that mean we'd have to start using a SQLite database or similar?
  • is there some sort of standard for handling configuration over a REST API or would that mean we'd have to model some tailor made schema for this tool?
  • changing a backup schedule currently requires restarting the cron daemon. If changing this in a running container were to be supported, it would mean we'd have to move from cron to some other (native Go) tool
  • how would this approach to configuration work in parallel to the existing approach. Would they be mutually exclusive or could you use both approaches?

@iamMHZ
Copy link
Author

iamMHZ commented May 4, 2022

  • Yeah we need to start using a database for storing backup plans, so the end user can have CRUD functionality on backup plans.
  • We can follow the REST guidelines and standards.
  • One of the hinders is restarting the cron daemon whenever there is a change on a backup schedule. Just off the top of my head, there might be third-party packages in GO for creating and updating cron jobs. I have worked with some packages for scheduling jobs In python, things like apscheduler.
  • It's hard to say, for sure there are things to consider and think about based on the API stuff that we create.

@m90
Copy link
Member

m90 commented May 13, 2022

Although I do like the idea, I am not sure if having to add persistence isn't adding too much complexity for a rather simple tool like this. I'll leave the issue open and maybe think about it again if a v3 is ever on the horizon (which would mean things could fundamentally change), see #80

Thanks for your input, it's much appreciated.

@m90
Copy link
Member

m90 commented Jan 30, 2024

This was discussed again in #329, and I don't think this will ever be implemented. Having persistence in a backup tool would require users to come up with backup solutions for their backup tool, which is kind of odd. Other means of configuration are probably more fitting in this context.

@m90 m90 closed this as not planned Won't fix, can't repro, duplicate, stale Jan 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants