Files
stapler/DEVELOPMENT.md
T

2.3 KiB

Development

Makefile targets

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

  • basic http server
  • docker container
  • env instead of args when available
  • PUT gzip data into /data/xxx
  • DELETE request
  • max file size
  • .host in /data/xxx can be translated as host in GET /
  • header to setup .host file instead of in archive
  • ignore .gitignore/.host etc at root
  • cerbot install in container + path env/arg
  • redirect /.well-known/acme-challenge to specific path
  • certbot/self-signed create/renew in specific dir
  • better logger
  • renew command
  • https mode w/ multiple hosts
  • create certificate on request
  • certbot copy certificates for unique path
  • better error page
  • add favicon.ico + special path
  • http.server security
  • launch separate upgrade 80->443 server when https
  • token management with "generate" command and bind path to specific token
  • docker compose example + .env
  • 404 GET on host not found
  • 403 PUT on host already taken
  • remove dot files after file extract
  • unit tests
  • github actions
  • X-Redirect
  • X-Proxy
  • detect root certificate change and update server
  • detect tokens change and update token_manager
  • proper doc