Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Teleport on Alpine Linux (libmusl) #35398

Open
programmerq opened this issue Dec 5, 2023 · 3 comments
Open

Support for Teleport on Alpine Linux (libmusl) #35398

programmerq opened this issue Dec 5, 2023 · 3 comments
Labels
c-bmd Internal Customer Reference c-cc Internal Customer Reference c-cs Internal Customer Reference feature-request Used for new features in Teleport, improvements to current should be #enhancements go Issues related to Go builds/tooling

Comments

@programmerq
Copy link
Contributor

programmerq commented Dec 5, 2023

What would you like Teleport to do?

Support building Teleport for Alpine Linux.

What problem does this solve?

While most people are familiar with Alpine Linux due to its popularity as a container base image, it is a full-blown distro. It provides many of the same benefits to use-cases like hardened base images running as a virtual appliance.

Currently, Teleport's SSH service appears to build and function on an Alpine Linux host with relatively minimal effort. I was successful and only had to comment out the glibc-specific version check in metadata.go. PAM integration worked. I did not attempt BPF support beyond compiling it with the bpf build flag.

This request will likely be mostly setting up the builds. It would be acceptable to disable certain features that may be found to not work in Alpine.

Edit: a new requester has a use case where they want to use tbot on upstream Jenkins-provided alpine-based worker container images for CI/CD.

I believe a statically compiled binary would also run on alpine.

If a workaround exists, please include it.

  • While manually enrolling OpenSSH on Alpine Linux is a valid path forward for some users, Any use-case that needs to take advantage of Teleport's reverse tunnel functionality needs to run Teleport itself.

  • Third party or DIY OSS source compile, or third-party glibc package in Alpine.

@programmerq programmerq added feature-request Used for new features in Teleport, improvements to current should be #enhancements go Issues related to Go builds/tooling c-cc Internal Customer Reference c-bmd Internal Customer Reference labels Dec 5, 2023
@strideynet
Copy link
Contributor

Related to #4896

@strideynet
Copy link
Contributor

I had some success with tbot and gcompat - we may want to make people aware that gcompat could work.

@Asgoret
Copy link

Asgoret commented Dec 8, 2023

@strideynet can u plz provide docker file for alpine? I tried for company CI/CD via official binary but got 'tbot: command not found`

UPD: Worked for me: apk add --no-cache gcompat on alpine:3.19.0

@programmerq programmerq added the c-cs Internal Customer Reference label Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c-bmd Internal Customer Reference c-cc Internal Customer Reference c-cs Internal Customer Reference feature-request Used for new features in Teleport, improvements to current should be #enhancements go Issues related to Go builds/tooling
Projects
None yet
Development

No branches or pull requests

3 participants