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.2.1-cp310-abi3-win_amd64.whl (338.5 kB view details)

Uploaded CPython 3.10+Windows x86-64

nessie_store-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.6 kB view details)

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

nessie_store-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (467.6 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

nessie_store-0.2.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (869.6 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.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

Hashes for nessie_store-0.2.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6a20dac2541317561439aff35c49394b91946be7fd5a5bce1502c5be6a5c7feb
MD5 2fb6c1c475bcf71c2689a601af483ee7
BLAKE2b-256 1b62a97deb92192f0a2ff7d74ac4562b87ae9189ba49b602bb58f54a38a53308

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nessie_store-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 085c98873e62cedad55c2a1003781a663d0f05b96ef2998fab694a0a100d61be
MD5 bd5ce6135c01c106ac31cbdcb9695f9d
BLAKE2b-256 07c1b10785a3deaddb68c959bc820fa66d7e64c5349691f0fbfdd1a35bd57317

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nessie_store-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e8169e1dca06252e35956cb177651c6f9e5c095b0adb3e98bec539a63e5fb08e
MD5 f593a44b7623692e80223100cea4351f
BLAKE2b-256 145185c412039fb73ce44b2084c9a7e780681743c11767c42cd44d228ed9031f

See more details on using hashes here.

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

File hashes

Hashes for nessie_store-0.2.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 12e913e826caff78145970263814f93b864ba1c957214c56b5cb92b2dbc9a747
MD5 9d74e0be9bf3df98127629fd0c4301b2
BLAKE2b-256 561d2e89623f2eedf7859a4f4801dc975502f2adcd4143608f1d0ac2607e1627

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