Internal Cargo Registry
Oxide is distributed via a kellnr instance at
https://kellnr.com7.in/. Every release is published there; that’s
how you install the CLI and how your projects depend on the framework
crates.
One-time setup
-
Get a token from kellnr
Open kellnr.com7.in → log in → Account → Tokens → New token. Copy the value (kellnr shows it once).
-
Configure cargo
~/.cargo/config.toml [registries.com7-innovation]index = "sparse+https://kellnr.com7.in/api/v1/crates/"~/.cargo/credentials.toml [registries.com7-innovation]token = "<paste-token-here>"Terminal window chmod 600 ~/.cargo/credentials.toml -
Verify
Terminal window curl -I https://kellnr.com7.in/Expect a
200or302from the kellnr UI. If TLS is broken or DNS doesn’t resolve, every cargo command will hang silently — fix the network first.
Install the CLI
cargo install oxide-cli --registry com7-innovationUse it from a project
In your Cargo.toml:
[dependencies]oxide = { version = "0.1.0", registry = "com7-innovation" }oxide-auth = { version = "0.1.0", registry = "com7-innovation" } # optionalStandard semver — ^0.1.0, ~0.1, etc. all work.
Publishing (framework maintainers only)
The four crates publish in dependency order. cargo publish refuses a
dirty git tree by default — commit first.
cargo publish -p oxide-macros --registry com7-innovationcargo publish -p oxide --registry com7-innovationcargo publish -p oxide-auth --registry com7-innovationcargo publish -p oxide-cli --registry com7-innovationEach command packages the crate, verifies it builds, uploads the
.crate to kellnr, and kellnr regenerates the index entry
automatically. Run them top-to-bottom — kellnr verifies that each
crate’s deps already exist in the registry before accepting it.
Bumping a release
The four crates inherit version from the workspace root, so they
all bump together. In the repo root Cargo.toml:
[workspace.package]version = "0.1.1"Re-run the four publish commands. cargo publish rejects a re-publish
of an existing version, so fixing a botched release means bumping the
patch.
Troubleshooting
error: 401 Unauthorized
Token wrong or missing. Check that:
grep -A1 'com7-innovation' ~/.cargo/credentials.tomlshows your token. If kellnr revoked it (via the UI), generate a new one.
error: failed to verify package tarball
Almost always means a workspace dep isn’t in the registry yet. Did
you skip an earlier cargo publish? Run them in dep order:
oxide-macros → oxide → oxide-auth → oxide-cli.
error: crate version 0.1.0 already exists
Bump version in [workspace.package] and re-publish.
Cargo hangs on Updating ... index
DNS or TLS issue reaching kellnr.com7.in. Confirm with
curl -I https://kellnr.com7.in/. Check VPN if the registry is on a
private network.
error: registry 'com7-innovation' not found
The [registries.com7-innovation] block is missing from
~/.cargo/config.toml. Re-do step 2 of one-time setup.