This project is split into multiple modules:
- reposerver - Manages tuf metadata for tuf repositories
- keyserver - Manages key generation and online role signing for tuf roles
- cli - Command line tools to manage a remote tuf repository. See cli/README
- libtuf/libtuf-server - Dependencies for the other modules
You can then use
sbt keyserver/run and
You'll need a mariadb instance running with the users configured in
application.conf. If you want it quick you can use
deploy/ci_setup.sh. This will create a new docker container running a database with the proper permissions.
To run tests simply run
To run integration tests:
cli module includes a test that requires an nginx to run with the proper TLS certificates, which match the certificates inside a zip file used for the test.
The nginx certificates can be renewed and copied to the correct places with the following command:
cd cli/src/test/resources/mtls-openssl && make clean all
This will require the certificates in the test zip file to be updated, which can be done with:
cd cli/src/test/resources/mtls-openssl && make update-credentials.zip
deploy directory includes scripts required for CI jobs.