Config generation/validation + identity minting for the nessie-store ONTAP daemon — PyO3 bindings.
Project description
nessie-store
The daemon at the heart of nessie-store — it speaks a faithful subset of the NetApp ONTAP REST API over a pluggable storage backend. This crate is the daemon binary and its library; the pip wheel exposes the library's config + identity surface for automation.
Install
pip install nessie-store # Python: config + identity tooling
cargo install nessie-store # Rust: the daemon binary
Run the daemon
nessie-store init --config config.toml # write a default config
nessie-store serve --config config.toml # serve ONTAP REST (HTTPS)
Usage (Python)
Generate and validate the daemon's config.toml from Python, and mint the
stable cluster identity — handy for the container/k8s deploy paths and CI:
from nessie_store import Config, mint_identity
# Build a config from a dict; unspecified keys take their defaults.
cfg = Config.from_dict({"backend": "zfs", "zfs_pool": "tank", "data_lif": "192.168.1.100"})
print(cfg.to_toml()) # ready for `nessie-store serve --config`
# Round-trip / validate an existing file.
parsed = Config.from_toml(open("config.toml").read())
assert parsed.to_dict()["backend"] in ("mem", "zfs")
# Mint the stable UUIDs the control plane reports.
ident = mint_identity() # {'cluster_uuid': ..., 'svm_uuid': ..., ...}
Config methods raise NessieError on bad input.
Usage (Rust)
use nessie_store::config::Config;
use nessie_store::identity::Identity;
let cfg = Config::default(); // mem backend, 0.0.0.0:8443
println!("{}", cfg.to_toml());
let ident = Identity::mint(); // fresh cluster/svm/node/aggregate/lif UUIDs
The daemon binary builds the axum router via nessie_store::app(state); tests
drive it in-process.
Dual-licensed MIT OR Apache-2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nessie_store-0.2.1-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: nessie_store-0.2.1-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 338.5 kB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a20dac2541317561439aff35c49394b91946be7fd5a5bce1502c5be6a5c7feb
|
|
| MD5 |
2fb6c1c475bcf71c2689a601af483ee7
|
|
| BLAKE2b-256 |
1b62a97deb92192f0a2ff7d74ac4562b87ae9189ba49b602bb58f54a38a53308
|
File details
Details for the file nessie_store-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: nessie_store-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 481.6 kB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
085c98873e62cedad55c2a1003781a663d0f05b96ef2998fab694a0a100d61be
|
|
| MD5 |
bd5ce6135c01c106ac31cbdcb9695f9d
|
|
| BLAKE2b-256 |
07c1b10785a3deaddb68c959bc820fa66d7e64c5349691f0fbfdd1a35bd57317
|
File details
Details for the file nessie_store-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: nessie_store-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 467.6 kB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8169e1dca06252e35956cb177651c6f9e5c095b0adb3e98bec539a63e5fb08e
|
|
| MD5 |
f593a44b7623692e80223100cea4351f
|
|
| BLAKE2b-256 |
145185c412039fb73ce44b2084c9a7e780681743c11767c42cd44d228ed9031f
|
File details
Details for the file nessie_store-0.2.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.
File metadata
- Download URL: nessie_store-0.2.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 869.6 kB
- Tags: CPython 3.10+, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12e913e826caff78145970263814f93b864ba1c957214c56b5cb92b2dbc9a747
|
|
| MD5 |
9d74e0be9bf3df98127629fd0c4301b2
|
|
| BLAKE2b-256 |
561d2e89623f2eedf7859a4f4801dc975502f2adcd4143608f1d0ac2607e1627
|