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

Chainsaw, part 1 #5694

Merged
merged 3 commits into from
May 30, 2024
Merged

Chainsaw, part 1 #5694

merged 3 commits into from
May 30, 2024

Conversation

kflynn
Copy link
Member

@kflynn kflynn commented May 30, 2024

This is part 1 of taking a chainsaw to a bunch of stuff we don't need. There's more to come.

NOTE: you'll need to have a v4.0.0-test.0 tag to do much with these changes, but please don't push such a tag yet.

There are three commits in this PR. I strongly recommend reading the review notes below.

  • [WIP] Chainsaw: ditch the _cxx directory and start ditching machinery around it

This is a monster commit. DON'T try to review it in the GitHub UI; there are some 1200 deleted files, since this commit deletes the _cxx, api/envoy, and pkg/envoy-control-plane directories completely: we simply don't need these if we're no longer building our own Envoy. Of course, that means that we need to change a bunch of Go imports to use the stock Envoy packages rather than the ones we compile.

To see just the changes in this commit, the easiest way is probably

git show 6fb669364bd7c70fcffb92afd2da7f6155575bea -- \
$(git show --name-only 6fb669364bd7c70fcffb92afd2da7f6155575bea | fgrep -v '_cxx
api/envoy
pkg/envoy-control-plane')
  • [WIP] Chainsaw: Ditch base-python, base-pip, and base-envoy.

We also don't need to screw around with the base-python, base-pip, and base-envoy Docker images at all. base-envoy goes away because we're not building our own Envoy; base-python and base-pip go away because using distroless rather than Alpine simplifies the world enough that the complexity of these two images isn't worth it: I can do a full rebuild in about five minutes on my laptop.

This commit is OK to review in GitHub, it's only a dozen files or so.

  • [WIP] Chainsaw: use goreleaser to build all the Docker images

Finally, this commit switches to using goreleaser to build other Docker images. I think this gets the ones we need to actually run tests, but maybe I'm wrong.

Once this commit lands, then goreleaser release should build multiarch images for everything.

@kflynn kflynn requested a review from Alice-Lilith May 30, 2024 04:51
Copy link
Member

@Alice-Lilith Alice-Lilith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

love goreleaser 🚀

@the-wondersmith
Copy link

Been a long time coming, awesome to see this happening



... taking a chainsaw to a bunch of stuff we don't need. ...

@kflynn kflynn merged commit 6457cca into flynn/dev/4.x May 30, 2024
1 of 19 checks passed
@kflynn kflynn deleted the flynn/dev/chainsaw-1 branch May 30, 2024 14:14
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.

4 participants