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:gsoc23] Zerotier support on OpenWrt #286

Merged
merged 5 commits into from
Oct 11, 2023
Merged

[feature:gsoc23] Zerotier support on OpenWrt #286

merged 5 commits into from
Oct 11, 2023

Conversation

nemesifier
Copy link
Member

Final review.

Aryamanz29 and others added 5 commits July 31, 2023 17:52
* [ci] Added gsoc23 to CI build branches

* [feature] Added ZeroTier backend #208

Closes #208

* [changes] Extended ZeroTier backend schema

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

* [changes] Rendered ZeroTier configuration in JSON format

* [change] Included configuration suffix in the backend render

- Added propertyOrder to schema.

* [req-changes] Code improvements

- Removed redundant OpenAPI schema property 'example'.
- Changed backend render json indentation to 4 spaces.

* [req-changes] Added ZeroTier Parser

* [change] Removed redundant newline filtering before json.loads

- Added comment to `_generate_contents` method.

* [docs] Added ZeroTier backend page

* [req-changes] Improved ZeroTier parser

The ZeroTier parser should parse VPN
configurations with and without comments

* [tests] Added a few more comments for acid testing

---------

Co-authored-by: Federico Capoano <f.capoano@openwisp.io>
There are certain properties in the ZeroTier schema
that require default values. For example, if we don't provide
a default value for the `multicastLimit` property, it will be set to `0`
during an API call, which disables IPv4 communication for the network.

More information:
https://docs.zerotier.com/zerotier/rules
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

Closes #208

Co-authored-by: Federico Capoano <f.capoano@openwisp.io>
@coveralls
Copy link

Coverage Status

coverage: 98.728% (+0.05%) from 98.677% when pulling 67ab548 on gsoc23 into 68681a1 on master.

@nemesifier nemesifier merged commit 0583bb5 into master Oct 11, 2023
8 checks passed
@nemesifier nemesifier deleted the gsoc23 branch October 11, 2023 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

3 participants