crossplane / crossplane/upjet

Find ways to slim down provider binary sizes

Open
#475 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
481
Forks
131
Avg merge
2d 1h
Merged PRs (30d)
11

Description

### What problem are you facing?
This issue doesn’t significantly impact us, but we noticed that the container images generated from Upjet-based providers (specifically the AWS provider in this case) are quite large.

For reference, the S3 image is 768MB:

>REPOSITORY TAG IMAGE ID CREATED SIZE
>xpkg.upbound.io/upbound/provider-aws-s3 v1.20.1 0ea4c3c5e06f 17 seconds ago 768MB

I then performed a raw go build over the cmd/provider/sqs zz_main.go file, which resulted in a binary that's 1.1GB in size:

> -rwxr-xr-x@ 1 jakub staff 1.1G Mar 5 15:58 sqs

This build is based on the c47300 commit. For comparison, the Go 1.24 binary is around 18MB.

### How could Upjet help solve your problem?
We could find ways to slim down the generated binary, which would reduce the size of the container images, saving storage space and speeding up deployments.

Additionally, the build time seemed quite long. Optimizing the binary size could likely reduce build times significantly.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.