IST:
Scheduler in MEGA verhindern, dass die Applikation bei keiner Auslastung downgescaled wird.
SOLL:
Für alle Scheduled-Jobs sollen Endpunkte geschaffen werden, die extern aufgerufen werden können, um die Applikation "anzustupsen" und ein Startup einzuleiten.
Beschreibung:
Um die dafür notwendigen Endpunkte abzusichern, ist auf quarkus-oidc umzustellen und die Applikation multi-tenancy-fähig zu machen. Die Authentifizierung erfolgt über einen OAuth Client Credentials Flow.
Eine besondere Problemstelle beim Scheduling ist das Polling der Mailbox. Um davon loszukommen, soll MEGA benachrichtigt werden, wenn eine neue, relevante Email, in der Mailbox landet. Dazu wird Google Cloud Pub/Sub genutzt. MEGA sendet einen watch-Request an die Google Mail API. Anschließend benachrichtigt die Google Mail API ein Pub/Sub Topic. Darauf reagiert eine Subscription in der Google Cloud und sendet einen authentifizierten Request an MEGA (Webhook), woraufhin die Verarbeitung der Email angestoßen wird.
IST: Scheduler in MEGA verhindern, dass die Applikation bei keiner Auslastung downgescaled wird.
SOLL: Für alle Scheduled-Jobs sollen Endpunkte geschaffen werden, die extern aufgerufen werden können, um die Applikation "anzustupsen" und ein Startup einzuleiten.
Beschreibung: Um die dafür notwendigen Endpunkte abzusichern, ist auf quarkus-oidc umzustellen und die Applikation multi-tenancy-fähig zu machen. Die Authentifizierung erfolgt über einen OAuth Client Credentials Flow. Eine besondere Problemstelle beim Scheduling ist das Polling der Mailbox. Um davon loszukommen, soll MEGA benachrichtigt werden, wenn eine neue, relevante Email, in der Mailbox landet. Dazu wird Google Cloud Pub/Sub genutzt. MEGA sendet einen watch-Request an die Google Mail API. Anschließend benachrichtigt die Google Mail API ein Pub/Sub Topic. Darauf reagiert eine Subscription in der Google Cloud und sendet einen authentifizierten Request an MEGA (Webhook), woraufhin die Verarbeitung der Email angestoßen wird.