Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-04-02 | feat(central): support manually re-deployingv1.11 | Trumeet | |
2021-04-02 | fix(central): deadlock if deployment is failed | Trumeet | |
2021-04-02 | feat(central): add nodes admin UI | Trumeet | |
2021-04-02 | feat(central): add logging to ProvisionRemoteServiceImpl | Trumeet | |
There are no clients that handle the result of provisioning. If there is no logging, it would be hard to debug. | |||
2021-04-02 | feat(central): only allow one peer per ASN on the same node | Trumeet | |
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-02 | feat(central): add peering policy to the index | Trumeet | |
2021-04-02 | feat(central): add internal IP unique index | Trumeet | |
If migration failed with duplication keys, manually remove duplicated nodes and repair. | |||
2021-04-02 | feat(central/agent/rpc): completely rewrite of provision handling | Trumeet | |
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-01 | feat(central): implement database auto migration | Trumeet | |
2021-04-01 | feat(central): move database configuration a separate data class | Trumeet | |
2021-04-01 | refactor(central): abstract database pool | Trumeet | |
This enables the project to easily switch to other pools or centrally change pool options without modifying each service or individual classes. | |||
2021-04-01 | feat(central): add debug info for remote proxy calls and log them. This is ↵ | Trumeet | |
useful for debugging | |||
2021-03-31 | feat(central): add sudo and admin panelv1.10 | Trumeet | |
2021-03-30 | fix(central): wg-quick does not support IP switching | Trumeet | |
2021-03-30 | fix(central): move % out of <b> | Trumeet | |
2021-03-29 | fix(central): showconf: use /128 for non-ll ipv6v1.9 | Trumeet | |
2021-03-29 | feat(central): wrap wg keys in <code> | Trumeet | |
2021-03-29 | feat(central): merge table IPv4 and IPv6 for better mobile experience | Trumeet | |
2021-03-29 | feat(central): add CSS and optimize mobile UI | Trumeet | |
2021-03-29 | refactor(central): move getGeneralRenderingHandler to RenderingUtils | Trumeet | |
2021-03-29 | refactor(central): move ASN frontend logic to a separate web API service | Trumeet | |
2021-03-28 | refactor(central): move some common codes outside of ManageHandler | Trumeet | |
2021-03-28 | fix(central): handle HTTPException at a higher level and remove some ↵v1.8 | Trumeet | |
printStackTrace calls | |||
2021-03-27 | fix(central): compress income IPv6 addresses to prevent identical addresses ↵ | Trumeet | |
with different forms from being processed Existing peers are not checked | |||
2021-03-27 | feat(central): move gRPC logic into a separate verticle and fix shutdown issuesv1.7 | Trumeet | |
2021-03-27 | fix(agent): use /128 for non-ll IPv6 addresses | Trumeet | |
2021-03-27 | fix(central): remove unnecessary semicolon in the sample configurations | Trumeet | |
2021-03-27 | feat(central/agent/rpc): upgrade Vert.x to 4.0.3 | Trumeet | |
2021-02-03 | fix(central): do not check duplication for Link-Local IPv6 addressesv1.6 | Trumeet | |
2021-01-22 | fix(central): remove 'AS' in the example configuration | Trumeet | |
2021-01-22 | feat(central): do not show example configuration when the node is down | Trumeet | |
2021-01-22 | fix(central): wrong WireGuard interface name in example config | Trumeet | |
2021-01-21 | fix(central): NoSuchElementException if we cannot find any peers | Trumeet | |
2021-01-20 | feat(central): provide an example configurationv1.5 | Trumeet | |
2021-01-20 | fix(central): use custom basic auth realm instead of the default 'vertx-web' | Trumeet | |
2021-01-20 | fix(central): no Content-Type in response | Trumeet | |
2021-01-18 | feat(central): clearify IPv6 address type | Trumeet | |
2021-01-16 | fix(central/agent): fix WireGuard no-endpoint peeringv1.4 | Trumeet | |
2021-01-16 | fix(central/agent/rpc): fix non-link local IPv6 support | Trumeet | |
2021-01-13 | fix(agent): the name of BGP sessions is invalidv1.3 | Trumeet | |
2021-01-09 | fix(agent): do not try deleting BGP config if it is absent | Trumeet | |
2021-01-09 | ci: remove dup keysv1.2 | Trumeet | |
2021-01-09 | fix(central): manually set ID for rendering when editing a peer and the ↵ | Trumeet | |
parsing process fails | |||
2021-01-09 | fix(central): check if the wg endpoint is specified but the port is missing | Trumeet | |
2021-01-09 | fix(central): wrong type cast | Trumeet | |
2021-01-09 | fix(central): set Peer#wgEndpointPort to Integer to allow nullable values ↵ | Trumeet | |
and integrate with MySQL NULL value | |||
2021-01-09 | fix(central): manually reset field values to null if they are blank | Trumeet | |
2021-01-09 | fix(central): add non-null check for wg_endpoint_port form field | Trumeet | |
2021-01-09 | fix(central): correct WireGuard endpoint IP non-null check | Trumeet | |
The request body could contain keys without values. In this case, we use non-null and non-empty check to make sure their values are present. | |||
2021-01-09 | feat(central): more clearly state that the WireGuard endpoint IP could be ↵ | Trumeet | |
invalid |