This fork allows users to share a registry via Github repo only, no server needed. Every team member can run Ktra
locally. For set-up see Documentations.
Your Little Cargo Registry.
Ktra
is an implementation of the Alternate Registry that is introduced for non-public crates in Rust/Cargo 1.34.
In other words, Ktra
is an all-in-one package for the private cargo registry.
Please follow the instructions in The Ktra Book for introduction and quick start guide.
Attention
Additional set-up is required when sharing a registry via github alone. This should be done before publishing the crate for the first time.
- add repository key in your crates
Cargo.toml
, see example:
[package]
name = "ktra"
version = "0.7.0"
authors = ["moriturus <[email protected]>"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = "Your Little Cargo Registry"
repository = "https://github.com/moriturus/ktra"
- add
workflows-release.yml
as.github/workflows/release.yml
in your crate's repo
docker pull ghcr.io/moriturus/ktra:latest
All of the docker images are stored at GitHub Container Registry.
These are public images so you can pull them without any authentication.
Any commit on develop
branch builds images listed below:
latest
db-sled
featured image.
openid-latest
db-sled
featured image.openid
support for authentication
db-redis-latest
db-redis
featured image.
db-redis-openid-latest
db-redis
featured image.openid
support for authentication
db-mongo-latest
db-mongo
featured image.
db-mongo-openid-latest
db-mongo
featured image.openid
support for authentication
Similarly, images below are built automatically when tags are pushed:
{VERSION}
(e.g.0.4.3
)db-sled
featured image.
openid-{VERSION}
db-sled
featured image.openid
support for authentication
db-redis-{VERSION}
db-redis
featured image.
db-redis-openid-{VERSION}
db-redis
featured image.openid
support for authentication
db-mongo-{VERSION}
db-mongo
featured image.
db-mongo-openid-{VERSION}
db-mongo
featured image.openid
support for authentication
Please see "Installation: Docker" page in The Ktra Book for more details.
- Minimum Alternate Registry implementation.
- Sled as its internal database.
- via
db-sled
feature turned on by default.
- via
- Almost pure Rust.
- Secure user management.
- Redis support.
- via
db-redis
feature.
- via
- MongoDB support.
- via
db-mongo
feature.
- via
- crates.io mirroring.
- via
crates-io-mirroring
feature turned on by default.
- via
- OpenID support for auto-discoverable identity providers (e.g. Gitlab, not Github)
- OAuth and/or OpenID support for all identity providers
- RDBMS such as PostgresQL, MySQL and MariaDB support.
- The crates browser like crates.io
And any feature requests are welcome!
Licensed under either of Apache License, Version 2.0 or MIT license at your option.