= Background information
Kartotherian has become a monorepo using lerna to manage package dependency, it allowed the code to be moved to Gerrit and use the CI pipeline on it. However, Kartotherian is still difficult to deploy and have a lot of duplicated code.
= What
Refactor code and move away from plugin strategy, make kartotherian a real monorepo with code properly componentized and shared between kartotherian/tilerator
= Outcome
Reduces tech debt by removing duplicated code and make it compliant to current services patterns in the Foundation;
= How
Without re-architect or code changes, we should merge the package codes as libraries of a monorepo
- [] Deprecate server package and merge it into kartotherian/tilerator
- [] Deprecate geoshapes package and merge it into kartotherian
- [] Deprecate snapshot package and merge it into kartotherian
- [] Deprecate babel package and merge it into kartotherian
- [] Deprecate cassandra package and merge it into kartotherian/tilerator
- [] Deprecate core package and merge it into kartotherian/tilerator
- [] Deprecate err package and merge it into kartotherian/tilerator
- [] Deprecate autogen and merge it into kartotherian
- [] Deprecate input-validator and merge it into kartotherian
- [] Deprecate jobprocessor and merge it into tilerator
- [] Deprecate layermixer and merge it into kartotherian
- [] Deprecate maki and merge it into kartotherian
- [] Deprecate module-loader and merge it into kartotherian/tilerator
- [] Deprecate overzoom and merge it into kartotherian
- [] Deprecate postgres package and verifiy that it's not used and phase it down
- [] Deprecate server package and merge it into kartotherian/tilerator
- [] Deprecate substantial package and merge it into kartotherian
- [] Deprecate tilerator package and merge it into kartotherian
= Open questions
...
= Acceptance criteria
- [] Kartotherian is fully monorepo and can be deployed in our infrastructure without changing any code