Nel - A Dart Repository Server
In order to use authentication, set the following environment variables:
JWT_PRIVATE_KEY_PEM: EC private key in PEM format used to verify JWT tokens
Generating JWT Tokens
To generate JWT tokens, you can use the following tool:
dart run bin/gen_jwt.dart
Permission requested for the jwt should be an integer value representing bit flags.
For example, to request read (4) and write (2) permissions, use 6 (4 | 2).
Permission1is reserved and should not be used (it may be used in future versions).
A server app built using Shelf,
configured to enable running with Docker.
Running with the Dart SDK
You can run the example with the Dart SDK like this:
$ dart run bin/nel.dart
Server listening on port 8080
And then from a second terminal:
$ curl http://0.0.0.0:8080
Hello, World!
$ curl http://0.0.0.0:8080/api/packages/I_love_Dart
<package versions info>
Libraries
- debug_req
- globals
- handlers/archives/[filename]
- handlers/echo_handler
- handlers/packages/[package]
- handlers/packages/versions/new
- handlers/packages/versions/upload;[id]
- handlers/packages/versions/upload;[id];finalize
- handlers/root_handler
- helpers/tar_gz_helper
- middlewares/auth_middleware
- models/package_info
- router
- services/azure_blob_package_repository
- services/local_file_system_package_repository
- services/package_repository
- services/token_service
- utils/uri_extensions
- utils/yaml_utils