This service aims at interacting with a esn-sabre backend and OpenPaaS single page applications being calendar and contacts.
It vows to strictly follow OpenPaaS APIs as integration tested by dav-integrationTesting.
It vows to follow OpenPaaS DB structure (at least for now as we might see DB refactoring dropping MongoDB).
However, despite those above statements it shall be seen as a very aggressive refactoring as it technically is a full rewrite.
We aim for a pragmatic approach by reusing most of the tooling that made Twake mail successful.
Requires maven 3.9.6 + and JDK 21
First compile Twake mail backend as this project depends on some of its snapshots.
In order to compile the application, run:
mvn clean install
Then run it with:
java -cp twake-calendar-side-service/app/target/twake-calendar-side-service-app-1.0.0-SNAPSHOT.jar com.linagora.calendar.app.TwakeCalendarMain
Compilation will build a tar that needs to be imported in your local docker engine:
docker load -i twake-calendar-side-service/app/target/jib-image.tar
Then it can easily be run with:
docker run --rm -ti linagora/twake-calendar-side-service:latest
There is currently no way to run Twake Calendar side service with docker but as soon as it is available we will document it here!
Please refer to the sample configuration.
We will soon provide more details here.
At LINAGORA we warmly welcome feedbacks and contributions.
We expect quality contributions matching the scope of the project.
We recommend discussing the contribution (GitHub issues or discussion) prior writing some code.
LINAGORA owns the code base so alone is entitled to decide what shall be accepted or not as a contribution and became owner of the contribution. However, we will retain paternity of the contribution (git history and if applicable / requested in comments)
We aim for replacing OpenPaaS by the end of 2025.
Then we might add websocket push to this project.
Next development items are not specified yet. We could envision replacing MongoDB backend by PostgreSQL document DB but this is not decided yet.
In addition to this target architecture, in order to allow easy deployment of our solution, the
Twake Calendar Side Service
will also proxy HTTP calls it do not handle (yet) to the soon-to-be-replaced
OpenPaaS
server.
Regarding observability, we intend Twake Calendar Side Service to be on par with Twake Mail: structured JSON logs collected via Loki, metrics gathered by Prometheus.
Implemented Webadmin APIs: metrics, heathcheck, users and domain routes
Developed with <3 at LINAGORA !