-
Notifications
You must be signed in to change notification settings - Fork 10
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
bazel fails to download packages when using a self-signed certificate #10
Comments
Currently, no. Typically we use the ca-certs from Anaconda where we can but maybe you've found a build leak here. For TensorFlow, we had to add a patch to not hardcode the ca bundle location: We then set CURL_CA_BUNDLE in an activate script to pick up the anaconda certs: but we've not seen any other issues related to ca-certs. What OS are you using? And do you have the ca-certs in a different location. I'm wondering if bazel is typically finding the OS level certs for us and is not for you. Does it work for you if you set the below?
|
Thanks, @jayfurmanek . In our case, the problem shows up due to a custom signed certificate we have for our web proxy. Rather than download files directly from the internet, everything passes through our web proxy, and that proxy has its own signed certificate. That certificate is not included in any public cacerts file. Instead, we have added it to a private cacerts file that is placed in a non-standard path on the file system. There is some description in the linked issue above, and in this thread as well: I'm guessing anyone routing traffic through a web proxy with a custom signed certificate might run into a similar issue. |
I am building on a RedHat system within a Singularity image that I think was produced from the Open-CE Docker file. I need to double check, but I think we used this Docker file as a base: |
Ah, I see. We don't have a current way of centrally controlling this, but we would accept any contributions to add it. |
Thanks, @jayfurmanek . I'm still looking from my side whether I can do things more cleanly, where I could perhaps register our local cert into the various files where conda/bazel are already looking. If not, one option might be to define a new open-ce option where one could specify the path to their local cacerts file and then have that update the various feedstocks to add that path. |
yeah, we already widely use the |
I'm wondering whether things might work if I can add our local cert into the Do you also have bazel pointing to that, or does bazel use the cacerts from its built-in jdk? |
Right, by default Bazel uses the ca-certs from the JVM it's using and you need to use the parameters you have above to tell it to use different ones. |
I started down the hard way to create a patch for the bazelrc file in each feedstock repo, and then found that I could add just add these settings once to a global bazelrc file, e.g.,:
In fact, there are two global resource files that one can use for this:
Bazel reads those files in addition to the project resource file and combines the settings. That greatly simplifies the process of pointing bazel to use a different trustStore file. |
@adammoody This is great info. Thanks for pointing out the default locations for the |
Thanks, @jgallucci32 . I'm also content with this as a solution for this issue, so we can close it out. A one or two line change to my |
I'm trying to build the Open-CE conda packages for my system, but it fails when building tensorboard. In particular, I'm trying to run the following command using a fresh clone:
I get an error like the following:
I found that the work around listed at bazelbuild/bazel#5741 (comment) seems to help if I modify
tensorboard-feedstock/buildscripts/set_python_path_for_bazelrc.sh
to point to the path to my cacerts file, e.g.,Is there an open-ce option to register a private cacerts file like this across the feedstocks?
The text was updated successfully, but these errors were encountered: