BasicAuth and quality assurance tests #2

Merged
giomba merged 6 commits from feature/basic-auth into master 2023-06-15 19:21:12 +00:00
Owner

Descrizione

Questa MR introduce il supporto all'autenticazione tramite BasicAuth per l'API REST, leggendo da un file di configurazione .ini, e risolve anche il problema del rinnovo dei certificati.

Fino ad ora, il sysadmin avviava manualmente il container VPNUnit quando c'erano modifiche da fare ai certificati della VPN, faceva le sue modifiche, e poi spegneva il container, ma è chiaro che questa non è "una cosa fatta ammodo" ™️
Nell'ottica di migliorare la gestione, e poter lasciare sempre acceso il container, è stata introdotta la BasicAuth su tutti gli endpoint.

Dovendo riprendere in mano il progetto, nel fare ciò, mi sono accorto che mancava un modo per testare la bontà dei cambiamenti, perciò ho apportato anche le seguenti modifiche:

  • controllo dell'esistenza di una variabile d'ambiente PREFIX, che permette di cambiare la root working directory in cui si trova il database diffuso su cui opera lo script Flask (dove: database diffuso = insieme di directory, file e file sqlite, che coniugano l'esigenza di avere un database, con l'esigenza di creare automagicamente le configurazioni per OpenVPN)
  • aggiunta di script di quality assurance, in particolare formatters e linters; non abbiamo una CI, per cui, per il momento, dovranno essere lanciati a mano

In tutto questo, mi sono comunque reso conto che tutto il meccanismo è un bel colabrodo, per cui saranno necessarie anche le seguenti modifiche:

  • aggiunta di test automatici sugli endpoint, operazione resa possibile dall'uso della variabile d'ambiente PREFIX; probabilmente potremmo imbastire qualche suite di golden test
  • sanificazione degli input

Note per il reviewer

Fortemente consigliata la review per commit, per evitare di morire a causa del linting.

Closes #1

# Descrizione Questa MR introduce il supporto all'autenticazione tramite BasicAuth per l'API REST, leggendo da un file di configurazione `.ini`, e risolve anche il problema del rinnovo dei certificati. Fino ad ora, il sysadmin avviava manualmente il container VPNUnit quando c'erano modifiche da fare ai certificati della VPN, faceva le sue modifiche, e poi spegneva il container, ma è chiaro che questa non è "una cosa fatta ammodo" :tm: Nell'ottica di migliorare la gestione, e poter lasciare sempre acceso il container, è stata introdotta la BasicAuth su tutti gli endpoint. Dovendo riprendere in mano il progetto, nel fare ciò, mi sono accorto che mancava un modo per testare la bontà dei cambiamenti, perciò ho apportato anche le seguenti modifiche: - controllo dell'esistenza di una variabile d'ambiente `PREFIX`, che permette di cambiare la root working directory in cui si trova il database diffuso su cui opera lo script Flask (dove: database diffuso = insieme di directory, file e file sqlite, che coniugano l'esigenza di avere un database, con l'esigenza di creare automagicamente le configurazioni per OpenVPN) - aggiunta di script di quality assurance, in particolare formatters e linters; non abbiamo una CI, per cui, per il momento, dovranno essere lanciati a mano In tutto questo, mi sono comunque reso conto che tutto il meccanismo è un bel colabrodo, per cui saranno necessarie anche le seguenti modifiche: - aggiunta di test automatici sugli endpoint, operazione resa possibile dall'uso della variabile d'ambiente PREFIX; probabilmente potremmo imbastire qualche suite di [golden test](https://ro-che.info/articles/2017-12-04-golden-tests) - sanificazione degli input ## Note per il reviewer Fortemente consigliata la review per commit, per evitare di morire a causa del linting. Closes #1
giomba added 4 commits 2023-04-08 20:41:07 +00:00
giomba requested review from giuliof 2023-04-08 20:41:17 +00:00
giomba requested review from gbiotti 2023-04-08 20:41:18 +00:00
giomba added 1 commit 2023-04-10 15:44:54 +00:00
giomba force-pushed feature/basic-auth from 5fb5fa9104 to 161172a174 2023-04-10 15:51:04 +00:00 Compare
giomba changed title from WIP: BasicAuth and quality assurance tests to BasicAuth and quality assurance tests 2023-06-15 19:19:45 +00:00
Author
Owner

I primi certificati sono scaduti e si riportano (giustamente) lamentele.

Facendo valere la mia insindacabile autorità di sysadmin, mergio le modifiche di questa MR.

I primi certificati sono scaduti e si riportano (giustamente) lamentele. Facendo valere la mia insindacabile autorità di sysadmin, mergio le modifiche di questa MR.
giomba merged commit 161172a174 into master 2023-06-15 19:21:12 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: argilla/vpnunit#2
No description provided.