
ngrok-operator v0.20.0: Go SDK v2 and edges removal
Today, I’m excited to announce the release of version 0.20.0
of the ngrok-operator Helm chart. This release focuses on cleaning up old code and removing CRDs that will no longer be supported as we work to release version v1.0
of the ngrok-operator.
Use of ngrok-go v2
When we first started creating an Ingress/Gateway controller, we were using v1 of the ngrok Go SDK. The API for v1 looked much different and was based on Tunnel
s. We had to manually handle the net.Conn
from ngrok, create a net.Conn
to the upstream service, and then join them to copy bytes back and forth.
With this release, we are now using v2 of ngrok’s Go SDK. This has allowed us to remove a decent amount code from the ngrok-operator that we no longer have to maintain. For instance, we can simply forward connections to the upstream service now instead of handling the individual net.Conn
s.
CRD removal
As mentioned in the our last release announcement, we have removed the following CRDs:
Tunnel
HTTPSEdge
TLSEdge
TCPEdge
NgrokModuleSet
These CRDs are no longer present in the helm chart and will be removed when running a helm upgrade
. For a smooth upgrade experience, make sure you no longer rely on these resources by following the guidance in the discussion.
The HTTPSEdge
, TLSEdge
, and TCPEdge
CRDs are now unified under a simpler more expressive CRD, CloudEndpoint
. Likewise, the Tunnel
CRD is being replaced by the AgentEndpoint
CRD to align with the ngrok SDK and ngrok agent configurations. You can find the full reference for CRDs we currently support in our docs.