Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] Added ZeroTier backend #208 #272

Merged
merged 11 commits into from
Jun 16, 2023

Conversation

Aryamanz29
Copy link
Member

@Aryamanz29 Aryamanz29 commented May 30, 2023

Prerequisites:

  1. Install Zerotier

  2. Install Ztncui - Web Interface

  3. Get your Zerotier Service API token sudo cat /var/lib/zerotier-one/authtoken.secret

Tested with openwisp-controller

demo-zerotier.mp4

Todos

Closes #208

@Aryamanz29 Aryamanz29 self-assigned this May 30, 2023
@Aryamanz29 Aryamanz29 added this to In progress 🔄 in [GSoC 23] ZeroTier 🔅 via automation May 30, 2023
@coveralls
Copy link

coveralls commented May 30, 2023

Coverage Status

coverage: 98.767% (+0.04%) from 98.728% when pulling 61b4cc6 on issue-208/add-zerotier-backend into 96d811f on master.

@Aryamanz29 Aryamanz29 force-pushed the issue-208/add-zerotier-backend branch 3 times, most recently from 15ae24e to c78e68b Compare June 5, 2023 12:41
@Aryamanz29 Aryamanz29 marked this pull request as ready for review June 5, 2023 12:56
@Aryamanz29 Aryamanz29 moved this from In progress 🔄 to Ready for review ✅ in [GSoC 23] ZeroTier 🔅 Jun 5, 2023
@Aryamanz29 Aryamanz29 force-pushed the issue-208/add-zerotier-backend branch 4 times, most recently from 9bf44af to b912d2e Compare June 5, 2023 20:00
Copy link
Member

@nemesifier nemesifier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good progress, please see my comments below @Aryamanz29.

netjsonconfig/backends/zerotier/converters.py Outdated Show resolved Hide resolved
netjsonconfig/backends/zerotier/schema.py Outdated Show resolved Hide resolved
netjsonconfig/backends/zerotier/schema.py Show resolved Hide resolved
tests/zerotier/test_backend.py Outdated Show resolved Hide resolved
Copy link
Member

@pandafy pandafy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good progress @Aryamanz29! This PR is on the right track. 🚀

netjsonconfig/backends/openvpn/converters.py Outdated Show resolved Hide resolved
netjsonconfig/backends/zerotier/parser.py Outdated Show resolved Hide resolved
netjsonconfig/backends/zerotier/parser.py Outdated Show resolved Hide resolved
netjsonconfig/backends/zerotier/zerotier.py Outdated Show resolved Hide resolved
tests/zerotier/test_backend.py Show resolved Hide resolved
tests/zerotier/test_parser.py Outdated Show resolved Hide resolved
@Aryamanz29 Aryamanz29 force-pushed the issue-208/add-zerotier-backend branch 2 times, most recently from 0f82d3f to b0a83a1 Compare June 11, 2023 13:29
netjsonconfig/backends/base/backend.py Outdated Show resolved Hide resolved
netjsonconfig/backends/zerotier/parser.py Outdated Show resolved Hide resolved
@Aryamanz29 Aryamanz29 requested a review from pandafy June 13, 2023 15:57
@Aryamanz29 Aryamanz29 force-pushed the issue-208/add-zerotier-backend branch from 9211662 to 61b4cc6 Compare June 13, 2023 15:58
@nemesifier nemesifier changed the base branch from master to gsoc23 June 13, 2023 16:16
Copy link
Member

@nemesifier nemesifier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Aryamanz29 please start adding a draft doc page for the zerotier backend with the most basic points (eg: the configuration format used is the JSON used by the API, initialization parameters, a basic example).

The schema is taken from OpenAPI specification:

https://docs.zerotier.com/service/v1/ (self-hosted controllers)
https://docs.zerotier.com/openapi/centralv1.json (central controllers)

The Zerotier network configuration keys taken from:

https://github.com/zerotier/ZeroTierOne/blob/dev/node/NetworkConfig.hpp
- Removed redundant OpenAPI schema property 'example'.
- Changed backend render json indentation to 4 spaces.
- Added comment to `_generate_contents` method.
The ZeroTier parser should parse VPN
configurations with and without comments
@Aryamanz29 Aryamanz29 force-pushed the issue-208/add-zerotier-backend branch from cf8555b to 23f338f Compare June 16, 2023 10:06
@nemesifier nemesifier merged commit 14de664 into gsoc23 Jun 16, 2023
6 checks passed
[GSoC 23] ZeroTier 🔅 automation moved this from Ready for review ✅ to Done 🔥 Jun 16, 2023
@nemesifier nemesifier deleted the issue-208/add-zerotier-backend branch June 16, 2023 15:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

[feature] Add ZeroTier backend
4 participants