Packetriot Updates & Network Migration

Published at April 6, 2023 ·  5 min read

Share on:

We’ve been busy working on the network server migration for Packetriot. This would transition our fleet of servers from running our original server, Hubs, and run Spokes in its place.

We first mentioned this activity in our tweet in late January. Our focus then was transitioning from a custom-built subscription management system to a customer portal managed by Stripe. This was completed two months ago and had few bumps in the road. This change has saved us a lot of time, and payment management is not something we spend any time on, which means more time for improvements and maintenance!

The next oversized item on our updates for 2023 is the network server migration to Spokes. This has been a significant effort to plan and design. We want our users to experience minor downtime and zero changes. We’ll provide more details below and other minor changes to Packetriot.

What is changing?

We are updating each of our network servers currently running Hubs, our original server code base.

Spokes is the network server we provide to enterprises as a managed service and offer licenses to run a self-hosted instance. The Spokes code base was forked from Hubs almost three years ago, but it’s maintained full compatibility with the pktriot client program, making our migration much more straightforward.

These changes are “under-the-hood,” but we will have one network server code base to maintain in the long term, meaning bug fixes and improvements will get turned around faster.

Migrations like this can be tricky, and we want to let all users know that this change is coming and we might have some bumps in the road. Please get in touch with us if you experience any issues beyond the downtime we plan to perform this work.

Why?

Spokes was forked from Hubs around three years ago and has since diverged quite a bit. Hubs hasn’t been actively maintained, and this has caused bugs and issues to persist for a long-time on Packetriot, and we want to fix that.

When we forked Spokes to build a network server for other teams and companies to use in their solutions, we had to make improvements to the API, add many new features, add a dashboard and API for management, simplify its deployment, add integration mechanisms like webhooks, and more.

Spokes is a much more advanced server than Hubs and a better platform for hosting the Packetriot network.

As most software developers know, maintaining two similar code bases is tedious, and one will always suffer and grow stale. Transitioning our network to use Spokes means that there is only one code base to maintain and will save us so much time.

Longer-term, this will make Packetriot easier to maintain, introduce new features, and make other improvements.

When is the change happening?

We plan to implement the migration on Wednesday, April 12, 2023, starting at 03:00 UTC and ending at 05:00 UTC.

Our migration will first introduce an update to Packetriot.com, and we will pause the creation of new tunnels. We will then shut down the Hubs service on each server, migrate data, and start Spokes. We will allocate time between migrations to monitor tunnels reconnecting and coming back online. As we see the system operating normally, we will continue to the next.

If we see significant issues, we will roll back our migration, analyze what went wrong, and plan for another time slot to attempt the updates again.

Updates to Packetriot.com

Some small but significant changes will be coming to Packetriot.com.

First, we are renaming the Shutdown to Terminate. We apologize for the confusion. Many users over the years have interpreted the shutdown action to mean they are just stopping their tunnel, e.g., killing the process. This has led to countless tunnels being destroyed by accident. We have changed the terminology in the dashboard and the pktriot client starting in v0.15.1. The warning message is clear, and stresses that terminated tunnels are not recoverable.

The dashboard will no longer display tunnels that were terminated (shutdown). We had left these tunnels visible so that users could go back and look at connection metrics. However, it confused users that had shut down a tunnel by accident. It looked like it was there and was confusing.

Real-time tunnel status will be available in the dashboard. When tunnels connect to the updated servers, the state will propagate instantly to Packetriot.com. This will let users know that our service observes the tunnel online and should help them quickly understand whether their tunnels are available.

Some tunnel metrics as bandwidth consumed by individual HTTP or TCP services, will be trickled in every 2 minutes. Aggregated metrics will be updated every 5 minutes.

Our Roadmap

We have a few items on our roadmap that have been present for some time, such as a web GUI for the client and UDP tunneling. Once we complete this migration, we’d like add reprioritize some of these roadmap items:

  • Web GUI for client
  • TLS-enabled TCP forwarding - Accept TLS connections at our servers’ edge
  • Changes to our plans
  • Wildcard certificates for Pro subscribers and higher
  • UDP tunneling

Thanks!

Thank you all in advance for your patience as we roll these updates. We are planning to keep it as short and disruption-free as possible. We appreciate all the inputs and suggestions you’ve sent us. These network changes will give us more time to consider and work on feature requests.

Let us know if we can focus on any new features or improvements via email or Twitter.

Cheers!