Back to Blog

Weeknotes 2021-11-01 FastAPI and Vue

Jochen
Seems fastdeploy is getting ready soon. At least the backend part :).


Fastdeploy Backend

The backend consists now of four models:
  • User - for users logging in via username/password using the web interface
  • Service - a thing that should be deployed from a source code repository to a running application
  • Deployment - information about an deployment like when and who started it etc..
  • Step - step towards a finished deployment, create user x on machine y, for example creating a user or database

Simplified ER-diagram

Authentication/Authorization

For all things related to showing content in the SPA you need an user token. As a user you can also obtain an service token which is only useful for being able to start a deployment for a specific service. You can use a service token for starting a deployment using the webfrontend or you can take a service token and add it to a github action which then could trigger a deployment after a push to some branch has happened. But you cannot do anything else with a service token but start a deployment for a specific service. The deployment process uses a deployment token which is generated when a deployment starts which allows it to communicate back the deployment task results for a specific deployment to the application server, but nothing else.


Fastdeploy Frontend

It's a vue SPA which get's notified about deployment events / steps via a websocket connection. The client communicating with the application server is a vue plugin and accessible to all components.

Things I Looked at Last Week