certificates icon indicating copy to clipboard operation
certificates copied to clipboard

A way to migrate from badger to mysql

Open celevra opened this issue 1 year ago • 3 comments

Hello!

  • Vote on this issue by adding a 👍 reaction
  • If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details

Why is this needed?

Badger is go only so there is no way to migrate data to mysql if you don't know go. Thats why there should be a helper to migrate the data

celevra avatar Mar 07 '23 21:03 celevra

Hey @celevra 👋. Thanks for opening the issue!

First off, I want to say that our team agrees with you. If we could go back in time to change the format of the storage layer in open source we probably would. As it stands it's impossible to access data without writing a bespoke ETL.

Second, I'm curious what it is that you're looking to migrate? Depending on your deployment, you may not actually need the data in your DB and you can just start over anew with a different DB. For example, old certificate data is probably not very useful.

Third, we have a project in our product backlog to improve the experience for transitioning between open source, Linked, and hosted SaaS. That project will include data migration and as part of that work it's likely we will support the migration features in open source. However, this project is not a priority in the short term and, depending on roadmap planning and customer requests, may not get prioritized in the mid term either.

In the mean time, we welcome and encourage contributions from the community to help with data migration. We have a lively discord community and you may be able to get assistance from other open source users.

dopey avatar Mar 09 '23 23:03 dopey

hi @dopey , thank you for your answer. i want to migrate the badgerdb on the fly into a mysql db or vice versa ;-) yes i could start from the beginning but then i loose my provisioners, templates and list of certificates.

i tried to use this snippet https://gist.github.com/dopey/89ec20f22c66c1333bf38c9b19b89758 but my knowlege about go is not big enough, can't get it to run

a simple badger to JSON export would be enough, then i could write a tool to transform the data to mysql tables

celevra avatar Mar 10 '23 21:03 celevra

Understood. If you store your provisioners and templates in the DB then starting from scratch is not pleasant, but not impossible. By running step ca provisioner list you'll be able to get all relevant provisioner info for re-adding the provisioners.

Unfortunately, it will probably be some time before our team is able to give this workflow some attention. We'll let you know once we have an update.

dopey avatar Mar 23 '23 22:03 dopey