Details
-
Improvement
-
Resolution: Fixed
-
Major
-
6.6.0
Description
The plan has grown organically throughout cbbackupmgrs development and is now at a point where development on it is cumbersome. The current plan is build up of single operations which are (for the most part) not logically grouped.
What do we know about cbbackupmgr?
1) It can be used to backup a cluster
1a) We backup some cluster wide configurations
2) A cluster can contain multiple buckets
2a) We backup KV data
2b) We backup bucket level configurations
2c) We backup bucket level services
3) We transfer data from a source to a sink
Just by listing the features of cbbackupmgr we can already see a logical way of breaking down the plan into sub-modules which handle self contained portions of the backup process.
What are we going to change?
1) The plan should broken up into separate self contained modules which handle self contained portions of the backup process.
1a) For example we will have sub-modules for each Couchbase service
2) We should avoid falling back to manual parsing of the plan, we should make use of the built in JSON serialization in Go.