72 lines
2.3 KiB
Markdown
72 lines
2.3 KiB
Markdown
# Development
|
|
|
|
## Makefile targets
|
|
|
|
```txt
|
|
Usage: make [target1] [target2] ...
|
|
|
|
Commands/Targets:
|
|
help show this message
|
|
install install project
|
|
update update project dependencies
|
|
format format project
|
|
lint lint project
|
|
build build project
|
|
start start server in localhost
|
|
test test project
|
|
test-% test project with specific test
|
|
coverage test project with coverage
|
|
uv-sync uv sync
|
|
uv-upgrade uv sync upgrade
|
|
ruff ruff check
|
|
ruff-fix ruff check (and fix)
|
|
ruff-format ruff format
|
|
ruff-format-check ruff format (check only)
|
|
ty ty check
|
|
unittest unittest
|
|
unittest-% unittest -k [filter]
|
|
coverage-unittest coverage run -m unittest
|
|
coverage-report coverage report
|
|
coverage-html coverage html
|
|
coverage-xml coverage xml
|
|
docker-build docker build
|
|
docker-run docker run
|
|
```
|
|
|
|
## TODO
|
|
|
|
- [x] basic http server
|
|
- [x] docker container
|
|
- [x] env instead of args when available
|
|
- [x] PUT gzip data into /data/xxx
|
|
- [x] DELETE request
|
|
- [x] max file size
|
|
- [x] .host in /data/xxx can be translated as host in GET /
|
|
- [x] header to setup .host file instead of in archive
|
|
- [x] ignore .gitignore/.host etc at root
|
|
- [x] cerbot install in container + path env/arg
|
|
- [x] redirect /.well-known/acme-challenge to specific path
|
|
- [x] certbot/self-signed create/renew in specific dir
|
|
- [x] better logger
|
|
- [x] renew command
|
|
- [x] https mode w/ multiple hosts
|
|
- [x] create certificate on request
|
|
- [x] certbot copy certificates for unique path
|
|
- [x] better error page
|
|
- [x] add favicon.ico + special path
|
|
- [x] [http.server security](https://docs.python.org/3/library/http.server.html#http-server-security)
|
|
- [x] launch separate upgrade 80->443 server when https
|
|
- [x] token management with "generate" command and bind path to specific token
|
|
- [x] docker compose example + .env
|
|
- [x] 404 GET on host not found
|
|
- [x] 403 PUT on host already taken
|
|
- [x] remove dot files after file extract
|
|
- [x] unit tests
|
|
- [x] github actions
|
|
- [x] X-Redirect
|
|
- [x] X-Proxy
|
|
- [x] detect root certificate change and update server
|
|
- [x] detect tokens change and update token_manager
|
|
- [x] proper doc
|
|
|