Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

nessie_store-0.3.0-cp310-abi3-win_amd64.whl (344.1 kB view details)

Uploaded CPython 3.10+Windows x86-64

nessie_store-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (486.6 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

nessie_store-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (472.1 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

nessie_store-0.3.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (880.7 kB view details)

Uploaded CPython 3.10+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file nessie_store-0.3.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: nessie_store-0.3.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 344.1 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nessie_store-0.3.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7c3c70edc460cf4cc42630f82424aed706d714f262be425025b67ee227cf4ccb
MD5 f5933ccca8cc4b87b84695b1bba9dd8b
BLAKE2b-256 ae344fd76f986cea3bc08c66ff3e45cfa969c1241b67f0b11016608511b789fc

See more details on using hashes here.

File details

Details for the file nessie_store-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nessie_store-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98bfae1a3ca8f46ed9d73827e727389443d9136823b61f48c2d2ac79540493f3
MD5 2111ef7d398fbc37ea1a12c76da19509
BLAKE2b-256 6bc0f5bed831e271e531a0ca5b9ed5b726116bf7dbb6edc03bd21d59194831d2

See more details on using hashes here.

File details

Details for the file nessie_store-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nessie_store-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bbe6377f44b724066b104ee01a24e7eaf400f80ba413341cbd7d3d15ddffda6e
MD5 04174d7f467d517830619b64cbfb5aa5
BLAKE2b-256 57128d2bc72570f8d71a4a5512df1ae2b85cf931a5a2b863cfc8c834e2313882

See more details on using hashes here.

File details

Details for the file nessie_store-0.3.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for nessie_store-0.3.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 3bbe533ac53b2b208570f0939bc6cab54974987881299efe99d2b2e88f0b1d5a
MD5 bb879119a89c077d93800afdf6c11601
BLAKE2b-256 5046848857ba79ed1f010c4bb5c64e27c601778ed7194e7749b4849b7ecdd8c4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page