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

Uploaded CPython 3.10+Windows x86-64

nessie_store-0.3.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (485.6 kB view details)

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

nessie_store-0.3.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (473.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

nessie_store-0.3.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (881.0 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.1-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: nessie_store-0.3.1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 344.0 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.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5aa85d64a00b259903c87c513a5edc80e688e777b2e8ec0b6cd4c99ebaaff088
MD5 cbfe54ca612d49f5b369d0a0976e315b
BLAKE2b-256 a7b2edf43521790400193608fcddf48077b569108434d71e2d9d30a251725e50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nessie_store-0.3.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 712b8a22c43c594e44a15670c14958e5c01ad1ce1dd8df6a2328d2c4402af6c4
MD5 10d6cc4200df045353901bb4ad36790f
BLAKE2b-256 57f4ef70de30a58140d33ef267f726c7eb3c15a5e851f5c9b5c488a66c28bb4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nessie_store-0.3.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 88138452b648daf7154d6e23292da01e58a1b87e03ab1658fbb627be7a21783f
MD5 be7621bfa18676eb3a622a31999b0521
BLAKE2b-256 f014071118687d90ec0861e68de0feff7caf4dfb3b8fcbcba033df982c2de25b

See more details on using hashes here.

File details

Details for the file nessie_store-0.3.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.3.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 559cf04b8218e90da9a7ee425bf49e508c47aa9a8af7c7f611660632a28840b4
MD5 578312dfd71af218fb3d53884842c033
BLAKE2b-256 748def7bdb46b9ac19c3dde5ac833d7c9f21f09827e34ccf395ef9420601037f

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