implement sysconfd /status using FastAPI

Description

As first step to migrate wazo-sysconfd

  • refactor sysconfd code to use fastapi (excluding modules)

  • migrate GET /status_check to GET /status using FastAPI

  • execute successfully integration tests for /status

When done, branch should be merged in fastapi branch
Then when all modules will be done (not in this ticket), we will be able to merge fastapi in master

FastAPI

Pros

  • Asynchronous

  • Data driven

  • Recent

  • Fast

  • Well documented

Cons

  • Less than ideal Debian packaging

  • Bus factor of one (main developer). Nobody else can merge pull requests.

    • Counterargument: people can always fork. So many users that it is not possible.

Flask

Pros

  • Already widely used in our projects

  • Well documented

  • Huge community

Cons

  • Updating to 2.x is not possible without doing Debian packaging.

  • 2.x is not really asynchronous.

Quart

Pros

  • Flask but asynchronous

Cons

  • Bullseye version is already old, would need to repackage stuff.

Decision

Since I would need to repackage stuff, I will use FastAPI anyway.

Zendesk Ticket IDs

None

split from

Activity

Show:

Sébastien Duthil May 24, 2022 at 3:39 PM

There is one branch missing in wazo-platform.org to update the wazo-sysconfd doc (or remove it…).
Also, the wazo-sysconfd-client PR should not be merged in master

Alexandre Fournier March 10, 2022 at 4:22 PM

Blocked because of Debian packaging and bus factor: will schedule a discussion with

Done

Details

Priority

Assignee

Reporter

Approvers

Sébastien Duthil

Fix versions

Sprint

Labels

Zendesk Support

Created May 19, 2021 at 5:27 PM
Updated June 3, 2022 at 7:06 PM
Resolved May 25, 2022 at 8:12 PM