Weeknotes 2021-11-01 FastAPI and Vue
,
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
- Podcast episode: Bits und so #761 (16½ Putzlappen)
- Podcast episode: Episode 30: Robots
- Podcast episode: WR1292 Eiswüstenforschung
- Podcast episode: Sinnvoll? - der Unsinn
- Interesting software: Pinia (successor vuex)
- Blogpost: Tests aren’t enough: Case study after adding type hints to urllib3
- Podcast episode: #233 – Carl Hart: Heroin, Cocaine, MDMA, Alcohol & the Role of Drugs in Society
- Podcast episode: Mastering Django - Nigel George
- Podcast episode: #234 – Stephen Wolfram: Complexity and the Fabric of Reality
- Podcast episode: Is It All Built on Sand - What Do We Actually Know About Software Development?
- Podcast episode: Sinnvoll möglich? - Religionskritik