aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-05fix(agent): restrict allowed IPsHEADv1.13.2masterdevTrumeet
2021-04-08feat(agent): bird: use a concentrated configurationTrumeet
2021-04-04fix(agent): disable legacy services before calculating netlink changesv1.13.1Trumeet
Disabling wg-quick services will remove interfaces, making the predict of netlink changes outdated.
2021-04-04fix(central): node form returns to a new form if any fields are invalidv1.13Trumeet
2021-04-04fix(central): does not allow peers with the same link local addresses with nodesTrumeet
Existing conflicts need to be removed manually
2021-04-04fix(central): completely rewrite IP validation and compressingTrumeet
2021-04-04feat(agent): persistent configurationTrumeet
2021-04-03fix(central): editing peer does not handle duplicationTrumeet
2021-04-03feat(agent): provision WireGuard before BGPTrumeet
2021-04-03fix(agent): move WireGuard ip del commands to a separate provisioner to be ↵Trumeet
executed after all done This resolves conflicts with systemd managed wg-quick legacy services
2021-04-03refactor(agent): clarify steps and parallelTrumeet
2021-04-03feat(agent): always use sequential executionTrumeet
2021-04-03fix(agent): wrong service name when disabling legacy systemd wg-quick unitsTrumeet
2021-04-03fix(agent): some tasks cannot execute in parallelTrumeet
2021-04-03feat(agent): use `ip` to operate WireGuard interfaces instead of wg-quickTrumeet
Existing wg-quick services will be automatically removed. Manual inspection may be required.
2021-04-02feat(central): add ASN admin pageTrumeet
2021-04-02docs: copy README to docs/v1.12Trumeet
2021-04-02feat(central): minor UI and wording adjustmentsTrumeet
2021-04-02feat(central): add one peering restriction to the peering policyTrumeet
2021-04-02docs: add notice for IPv6 address bracketingTrumeet
2021-04-02fix(agent): null pointer while rendering WireGuard configurationTrumeet
getPeerIPv6() will return "" rather than null if the actual value should be null. However, '<#if peer_ipv6??>' in the template will only check it for null, not for empty. Therefore, when peer_ipv6 equals to "", the peer_ipv6_ll will not be set and thus, lead to a null pointer rendering error at wg_conf.ftlh:8.
2021-04-02feat(central): support manually re-deployingv1.11Trumeet
2021-04-02fix(central): deadlock if deployment is failedTrumeet
2021-04-02feat(central): add nodes admin UITrumeet
2021-04-02feat(central): add logging to ProvisionRemoteServiceImplTrumeet
There are no clients that handle the result of provisioning. If there is no logging, it would be hard to debug.
2021-04-02feat(central): only allow one peer per ASN on the same nodeTrumeet
If migration failed with duplication keys, manually remove duplicated peers and repair. Check duplicated peers: SELECT id, asn, node, COUNT(*) FROM peer GROUP BY asn, node HAVING COUNT(*) > 1
2021-04-02feat(central): add peering policy to the indexTrumeet
2021-04-02feat(central): add internal IP unique indexTrumeet
If migration failed with duplication keys, manually remove duplicated nodes and repair.
2021-04-02feat(central/agent/rpc): completely rewrite of provision handlingTrumeet
Now we are shifting from transactional operations (Central tells what to do like provision, reload or unprovision to nodes) to declarative configurations (Central renders a desired state of all BGP sessions and VPN tunnels and the agent will compare the desired state with actual state and merge changes). This greatly simplifies provision process and reduces atomic operations. It also simplifies locks as now, the only lock is deploy lock. However, the current implementation does not support result tracing. That is, all provision results are ignored and the provision status will not be updated nor the user will know whether a peer is successfully provisioned. This will be introduced later. Even if error tracking is more difficult, using this method or communication still results in great benifit in reducing errors. Nodes are now stateless: whenever a deploy is required, it compares all its local state to the desired state. Thus, issues will be likely solved by restarting. Lastly, unprovision operations will not block peer deletion. Their results will also be ignored. Breaking changes: * Not compatible with existing central / agents. They must be upgraded together. * Agents now must not be installed on the same machine.
2021-04-01feat(central): implement database auto migrationTrumeet
2021-04-01feat(central): move database configuration a separate data classTrumeet
2021-04-01refactor(central): abstract database poolTrumeet
This enables the project to easily switch to other pools or centrally change pool options without modifying each service or individual classes.
2021-04-01feat(central): add debug info for remote proxy calls and log them. This is ↵Trumeet
useful for debugging
2021-03-31feat(central): add sudo and admin panelv1.10Trumeet
2021-03-30fix(central): wg-quick does not support IP switchingTrumeet
2021-03-30fix(central): move % out of <b>Trumeet
2021-03-29fix(central): showconf: use /128 for non-ll ipv6v1.9Trumeet
2021-03-29feat(central): wrap wg keys in <code>Trumeet
2021-03-29feat(central): merge table IPv4 and IPv6 for better mobile experienceTrumeet
2021-03-29feat(central): add CSS and optimize mobile UITrumeet
2021-03-29refactor(central): move getGeneralRenderingHandler to RenderingUtilsTrumeet
2021-03-29refactor(central): move ASN frontend logic to a separate web API serviceTrumeet
2021-03-28refactor(central): move some common codes outside of ManageHandlerTrumeet
2021-03-28fix(central): handle HTTPException at a higher level and remove some ↵v1.8Trumeet
printStackTrace calls
2021-03-27fix(central): compress income IPv6 addresses to prevent identical addresses ↵Trumeet
with different forms from being processed Existing peers are not checked
2021-03-27feat(central): move gRPC logic into a separate verticle and fix shutdown issuesv1.7Trumeet
2021-03-27fix(agent): use /128 for non-ll IPv6 addressesTrumeet
2021-03-27fix(central): remove unnecessary semicolon in the sample configurationsTrumeet
2021-03-27feat(central/agent/rpc): upgrade Vert.x to 4.0.3Trumeet
2021-02-03fix(central): do not check duplication for Link-Local IPv6 addressesv1.6Trumeet