Changelog
1.2.0
- Added authorization tokens module to allow
- Having more than one device controlling the server
- Refreshing the current token
- Obtaining a recovery token
API changes
/auth/tokens
added/auth/new_device
added- Public endpoint
/auth/new_device/authorize
added. /auth/recovery_token
added- Public endpoint
/auth/recovery_token/use
added.
New migrations
- [[migrations#Create tokens JSON file|Migrate to new tokens storage]]
1.1.1
Released on 26 Jan 2022
- Added [[migrations|migration module]] which handles one-shot actions which cannot be done by nixos-configuration.
- Added [[migrations#Fix NixOS configuration branch|migration]] which changes rolling-testing branch to master, bug introduced in 0.4.0 version of the app.
1.1.0
Released on 9 Dec 2021
- Added system configuration endpoints.
- SSH management.
- Backups controller.
- Systemd is now used for system rebuilds.
WriteUserData
andReadUserData
utils added to reduce boilerplate of file locking.- Unit tests are now a thing.
API changes
/system/upgrade
is now/system/configuration/upgrade
./api/version
added./services/ssh
added./services/ssh/<username>
added./configuration/timezone
added./configuration/autoUpgrade
added./restic/backblaze/config
added./system/configuration/pull
added./services/restic/backup/reload
added.
Pre-1.1.0 changes
This is an API refactoring stage. There was no endpoint to retrieve API version, but these all were referenced as 1.1.0 version in code.
Input sanitization, added swagger
Released on 17 Nov 2021
- Addressed [[vulnerabilities#SPCVE-0001|SPCVE-0001]].
- Added Swagger documentation.
Add basic API auth
Released on 16 Nov 2021
- Added basic token auth.
Move to JSON controlled server settings
Released on 16 Nov 2021
- Assumes server already moved to JSON-controlled Nix config.
- System is now configured by usage of userdata.json.
- File locking is used now.
Decomposition
Released on 12 Nov 2021
API changes
/systemVersion
is now/system/version
./getDKIM
is now/services/mailserver/dkim
./pythonVersion
is now/system/version/pythonVersion
./users/create
is nowPOST
on/users
./users/deleteUser
is nowDELETE
on/users
./services/SERVICE_NAME/enable
and/services/SERVICE_NAME/disable
now also return message in their responses./services/ssh/key/send
: response fieldresult
renamed tostatus
.
Other changes
- Moved to Python 3.9.
- Moved to
flask_restful
'sResource
objects. distutils
is deprecated, moved tosetuptools
.
Code formatting
Black is used for code formatting.
No linting rules applied yet.