Skip to main content

Wirepas Provisioning Server

Introduction

This is the reference implemantation of the Wirepas provisioning server. It provides an example of the server side of Wirepas Provisioning Protocol. It must be used with the provisioning_joining_node application of the SDK. Please refer to the provisioning reference manual for further information.

Installation

Host dependencies

The main requirements of Provisioning Server are:

  • Python 3.7
  • Pip3 (we recommend the latest available)

Installing from PyPi

The Provisioning Server is available from PyPi and you can install the latest stable version with:

    pip3 install wirepas-provisioning

If you wish to install a particular version please see the release history from PyPi.

Installing from Github

First of all, make sure to clone the repository using the https address.

Checkout the git tag that corresponds to the release version you want to install and install the package with:

    pip3 install .

If you want to develop or patch a bug under your local environment, you can install the package in development mode through:

    pip3 install -e .

When installed in development mode, changes to the source files will be immediately visible.

Usage

Once installed, the Provisioning Server will be accessible through wm-prov-srv. It requires few parameters to run:

  • The Mqtt broker credentials the server will connect to.
  • A configuration file containing a list of nodes authorized to provision and their associated data. An example is available here
wm-prov-srv --host my_server.com \
            --port 8883 \
            --username my_username \
            --password my_password \
            --config examples/provisioning_config.yml

Building and running over Docker

Docker allows application to run on a sandbox containing all the dependencies needed to run and execute them. If you are not familiar with Docker, please refer to the official documentation at docker.com.

Dockerhub

Provisioning server builds are available from dockerhub under the Provisioning server registry.

The latest tag points to the current stable release, whereas the edge tag points to the top of master. The latest tag is built automatically at dockerhub whenever this repository is tagged. The edge tag is built after each single merge into master.

To pull the Provisioning server image from dockerhub use:

    docker pull wirepas/provisioning-server:latest
    docker pull wirepas/provisioning-server:<tag>

Running with docker

As the container will have no access to your local environment, you will have o propagate the input parameters through env variables and by mounting the provisioning_config.yml file inside the container.

To run it with docker type:

    docker run -v $(pwd)/examples/provisioning_config.yml:/home/wirepas/wm-provisioning/vars/settings.yml \
               -e WM_SERVICES_MQTT_HOSTNAME=my_server.com  \
               -e WM_SERVICES_MQTT_PORT=8883 \
               -e WM_SERVICES_MQTT_USERNAME=username \
               -e WM_SERVICES_MQTT_PASSWORD=password \
               wirepas/provisioning-server

Running with compose

To run the Provisioning Server using docker compose, you will have to modify the template file to fit your environment. Environment must be customized to fit your mqtt broker parameters:

environment:
  WM_SERVICES_MQTT_HOSTNAME: "my_server.com"
  WM_SERVICES_MQTT_PORT: "8883"
  WM_SERVICES_MQTT_USERNAME: "username"
  WM_SERVICES_MQTT_PASSWORD: "password"

And the path of the configuration file path must be specified. Example if your config is located in /home/user/provisioning_config.yml

volumes:
    - /home/user/provisioning_config.yml:/home/wirepas/wm-provisioning/vars/settings.yml

In the folder where you stored the customized file, please run:

docker-compose up -d

You can see the logs with:

docker-compose logs

And stop the gateway with:

docker-compose down

The tag to use for the provisioning server images can be chosen when invoking the docker-compose (by default it is latest tag).

PROV_SRV_TAG=edge docker-compose up -d

Building the image locally

To build the image locally in the root of the repo type:

    docker build -f docker/Dockerfile -t provisioning-server .

Alternatively you can also build using the docker-compose.yml present in the root of the directory:

    docker-compose -f docker/docker-compose.yml  build

License

Licensed under the Apache License, Version 2.0.

Metadata

Release files for wirepas-provisioning 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wirepas-provisioning 1.2
File Size Uploaded
wirepas_provisioning-1.2.tar.gz 15.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wirepas-provisioning 1.2
File Interpreter ABI Platform
wirepas_provisioning-1.2-py3-none-any.whl Python 3 none any Details

Total release size: 40.6 kB

Release files / wirepas_provisioning-1.2.tar.gz

Download URL wirepas_provisioning-1.2.tar.gz
Size 15.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e169d8d65e3fbb724ad7b4e2091ff52f95045052469159236117267e21391390
BLAKE2b-256 checksum
How to use checksums
17fbd6256eb8143517c23138d178a08fb8a4771e019bf61793f8d2ee8c76f84c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release files / wirepas_provisioning-1.2-py3-none-any.whl

Download URL wirepas_provisioning-1.2-py3-none-any.whl
Size 25.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1cdb8dba2612d399a66c1abd55baea2c0926eeeeabc33d0266bd67565ad428ae
BLAKE2b-256 checksum
How to use checksums
f41a7e6b16ece297330a6f66634dc3c9ff980478dfc5cb144fc6e253ddae1b9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release history Release notifications | RSS feed

This release

1.2 This release

2 release files

1.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page