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

ipn/store: omit AWS & Kubernetes support on 'small' Linux GOARCHes #11778

Merged
merged 1 commit into from
Apr 17, 2024

Conversation

bradfitz
Copy link
Member

This removes AWS and Kubernetes support from Linux binaries by default
on GOARCH values where people don't typically run on AWS or use
Kubernetes, such as 32-bit mips CPUs.

It primarily focuses on optimizing for the static binaries we
distribute. But for people building it themselves, they can set
ts_kube or ts_aws (the opposite of ts_omit_kube or ts_omit_aws) to
force it back on.

Makes tailscaled binary ~2.3MB (~7%) smaller.

Updates #7272, #10627 etc

@irbekrm
Copy link
Contributor

irbekrm commented Apr 17, 2024

I think kube distributions such as k3s support running on 32bit arm (i.e for edge setups on Raspberry PIs etc) https://docs.k3s.io/installation/requirements#architecture

We publish container images for arm/v7 so with this change we could break users who were installing using our official images on 32 bit kube. Not sure if there is a way for us to find out if there are such users

@bradfitz
Copy link
Member Author

We publish container images for arm/v7

How about if we just set the ts_kube build tag for the builds we push to container registries but keep this PR as the default for builds we distribute from e.g. https://pkgs.tailscale.com/stable/ ?

@irbekrm
Copy link
Contributor

irbekrm commented Apr 17, 2024

@bradfitz that sounds good, we'd need to set that here-ish https://github.com/tailscale/tailscale/blob/main/build_docker.sh

This removes AWS and Kubernetes support from Linux binaries by default
on GOARCH values where people don't typically run on AWS or use
Kubernetes, such as 32-bit mips CPUs.

It primarily focuses on optimizing for the static binaries we
distribute. But for people building it themselves, they can set
ts_kube or ts_aws (the opposite of ts_omit_kube or ts_omit_aws) to
force it back on.

Makes tailscaled binary ~2.3MB (~7%) smaller.

Updates #7272, #10627 etc

Change-Id: I42a8775119ce006fa321462cb2d28bc985d1c146
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
@bradfitz
Copy link
Member Author

Done. PTAL.

@bradfitz bradfitz merged commit 21a0fe1 into main Apr 17, 2024
46 of 48 checks passed
@bradfitz bradfitz deleted the bradfitz/smaller branch April 17, 2024 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants