Skip to main content

inmanta-module-netbird

pypi version build status

This package is an adapter that is meant to be used with the inmanta orchestrator: https://docs.inmanta.com

Features

This module allows to manage netbird resources, through the netbird management api.

The module is a work in progress, it currently contains the base entities every resource of this module builds upon:

  1. netbird::Api: the endpoint and credentials used to reach the netbird management api.
  2. netbird::ResourceABC: the base entity for all the resources managed by this module.
  3. netbird::JsonObjectABC: the base entity for every object of the netbird api.

And the following resources:

  1. netbird::User: a user, or a service user, of the netbird account.

Every netbird object is co-managed with whoever else edits the account: an attribute left null in the model keeps the value the api currently holds, only the values the model sets are enforced. The api addresses its objects by opaque ids, and so does this module: netbird::ResourceABC.id is a reference resolving the id of an object from the facts its resource publishes, to be fed to whatever other resource points at it.

Example

import netbird

api = netbird::Api(
    agent_name="netbird",
    management_url="https://api.netbird.io",
    api_token=std::get_env("NETBIRD_TOKEN"),
)

netbird::User(
    api=api,
    name="Alice",
    email="alice@example.com",
    role="admin",
)

Find more examples in the tests folder of this module!

Development

python3 -m venv .venv
source .venv/bin/activate
make install
pytest tests

The tests deploy a netbird server locally, in a podman container of their own, and run against its api. The container is started again for each test, so that every test sees a fresh, empty account. They are skipped when podman is not available.

Download files

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

Source Distribution

inmanta_module_netbird-0.1.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

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

inmanta_module_netbird-0.1.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file inmanta_module_netbird-0.1.0.tar.gz.

File metadata

  • Download URL: inmanta_module_netbird-0.1.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for inmanta_module_netbird-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3e62bc7e0ee787fd51433ba7a9d0eb5d87963580a15d3178cea4fd2dadb6cfe7
MD5 db00d969a9c416351396c0215383c145
BLAKE2b-256 5177daab0fcbb24492c63f2f7784de87a15b54b4dcf6dbdb2d219b47c1055e43

See more details on using hashes here.

Provenance

The following attestation bundles were made for inmanta_module_netbird-0.1.0.tar.gz:

Publisher: continuous-delivery.yml on edvgui/inmanta-module-netbird

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file inmanta_module_netbird-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for inmanta_module_netbird-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 250482bd6451982a621fa46f844abe34efc31fd131f5fda309f5862d1d2471ea
MD5 18be9b05a41a5a5b4dbe1802adfc880d
BLAKE2b-256 059e82570d07fa8f6f23e47493d0bd14a42468d054edd874c9b0e6d651c989b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for inmanta_module_netbird-0.1.0-py3-none-any.whl:

Publisher: continuous-delivery.yml on edvgui/inmanta-module-netbird

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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