How to build changes in Istio Proxy?


#1

I am trying to pull in a patch from Envoy and merge it into Istio Proxy 1.0. I was able to make the change and do make build locally (mac), but I could not figure out how to create a docker image from the change I made.
I made this change in a forked repo here: https://github.com/adityats2020/proxy/commit/241c7471376016449166926652c73b36c07e1104

The make docker.proxyv2 build step seems to obtain the envoy binary from a specific location that is defined in bin/init.sh
These binaries are created using this script in istio-proxy repo: https://github.com/istio/proxy/blob/e574e17def11e6053840ae08ab697b07c839414f/script/release-binary

  1. Can someone tell me how to get this script running locally
  2. Or is there is a different way to get the binary
  3. Or if I could run the make docker.proxyv2 commands to work with a locally modified istio-proxy repo

I did not get help on the Github issue: https://github.com/istio/istio/issues/11830


#2

I haven’t done that for quite a while, can’t comment the exact specifics.

Is your change in merged in envoyproxy/envoy? If so, you can look around the commit history of istio/istio-proxy and see how people update the istio.deps files. For example, https://github.com/istio/proxy/pull/2081/files


#3

Changing istio deps and getting the build to work wasn’t hard to figure.
Building the docker image is where I am struggling. Istio repo builds the istio-proxy docker image using envoy binaries that are built in istio/proxy repo. I am not able to get the envoy binary artifact from the proxy repo.

I am currently using 1.0.2. The fix in envoy was picked up as part of istio 1.1. I cherry-picked the fix in envoy over the envoy SHA that was present in 1.0.2. I did that here: https://github.com/adityats2020/envoy/commit/2a71bb7d83f970b7c0eb7b9664b5821babdb4b91
I then referred to this commit in istio.deps in a forked proxy repo here: https://github.com/adityats2020/proxy/commit/241c7471376016449166926652c73b36c07e1104

I wasn’t looking at committing this into the main repo, as the fix was is part of 1.1 and people may not be intent to add another 1.0 minor release for this fix.


#4

Hi @adityats,

I am building from master on a Linux platform using “make docker” command. Here is the dev guide I used to setup the environment - https://github.com/istio/istio/wiki/Dev-Guide. Hope this helps…