You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Teleport 18.0.0 moved to Go 1.24+, which requires Linux kernel 3.2 or later. While this is documented in the release notes and aligns with Go's upstream kernel support policy, it creates challenges for deployments on legacy systems.
The last Teleport version compatible with older kernels is v17.x (built with Go 1.23).
The Challenge
I have a cluster running on systems with kernels < 3.2 where upgrading the kernel isn't feasible. This means I'm now limited to Teleport v17.x and will miss out on security updates and new features in v18+.
This will effectively gate my entire cluster from future Teleport updates.
What I'm Looking For
I'm interested in exploring whether there are any viable approaches to run newer Teleport versions on older kernels:
Source modifications: Has anyone tried building with older dependency versions or Go toolchain workarounds?
Alternative deployment patterns: Any creative solutions that don't rely on native kernel support?
Community experiences: Others dealing with similar legacy infrastructure constraints?
What I've Tried
I attempted building Teleport 18.0.0 with Go 1.23.x to maintain kernel compatibility, but the build fails due to dependency requirements for Go 1.24+. I'm not even sure if forcing older Go versions is technically feasible given the dependency chain.
What Won't Work
Containers (share host kernel)
Building with Go 1.23 (dependencies prevent this, and may not be possible anyway)
The Broader Question
Is there a practical path forward for legacy kernel deployments, or is upgrading to v17.x and staying there the most realistic approach?
Would appreciate any insights from the community on handling this transition.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Background
Teleport 18.0.0 moved to Go 1.24+, which requires Linux kernel 3.2 or later. While this is documented in the release notes and aligns with Go's upstream kernel support policy, it creates challenges for deployments on legacy systems.
The last Teleport version compatible with older kernels is v17.x (built with Go 1.23).
The Challenge
I have a cluster running on systems with kernels < 3.2 where upgrading the kernel isn't feasible. This means I'm now limited to Teleport v17.x and will miss out on security updates and new features in v18+.
This will effectively gate my entire cluster from future Teleport updates.
What I'm Looking For
I'm interested in exploring whether there are any viable approaches to run newer Teleport versions on older kernels:
Source modifications: Has anyone tried building with older dependency versions or Go toolchain workarounds?
Alternative deployment patterns: Any creative solutions that don't rely on native kernel support?
Community experiences: Others dealing with similar legacy infrastructure constraints?
What I've Tried
I attempted building Teleport 18.0.0 with Go 1.23.x to maintain kernel compatibility, but the build fails due to dependency requirements for Go 1.24+. I'm not even sure if forcing older Go versions is technically feasible given the dependency chain.
What Won't Work
The Broader Question
Is there a practical path forward for legacy kernel deployments, or is upgrading to v17.x and staying there the most realistic approach?
Would appreciate any insights from the community on handling this transition.
Beta Was this translation helpful? Give feedback.
All reactions