Comments (9)
we can also consider an approach similar to github.com/cloudflare/quiche, where we embed boring in this crate, so we don't need to set env vars for dependant crates (so that users won't need to remove the env vars manually, as specified in the readme)
https://github.com/cloudflare/quiche/blob/master/quiche/src/build.rs
from ztunnel.
I have an M2 Mac and could work on this
from ztunnel.
Isn't this a dupe of #1 ?
from ztunnel.
Could be. I have an intel mac I can try to confirm if its MacOS or M1/ARM that's the issue.
from ztunnel.
ARM could also be for something like graviton support not just m1/macos as well
from ztunnel.
Allow developers using arm machines to contribute.
May also be required in some production environments.
from ztunnel.
from ztunnel.
@yuval-k Thx for the hint - quiche's strategy unfortunately doesn't work with boring 2.1.0
- only with 2.0.0
, due to changes in build.rs
for boring-sys
which seem to break the ability to conditionally vendor binaries: https://github.com/cloudflare/boring/blob/master/boring-sys/build.rs#L330
Additionally, the build.rs
mechanism boring-sys
is using to auto-build boringssl
doesn't seem to work if you install boring-sys
as a normal Cargo dep - only as a Gitref dep.
Seems as if realistically we either
- have to vendor for every supported target arch/platform by default
- we vendor for no platforms and we're back to people having to care about specific
clang
versions in their env by default.
Neither option is particularly compelling.
Third option is we write a build.sh
wrapper, I guess.
from ztunnel.
Adding this as a ref - cloudflare/boring#97
A clang environmental dep in our build-tools
might be a reasonable workaround once that is in upstream - our current build-tools
image is too new for clang-7
, which is what the pinned version of boringssl
that boring-sys
tries to autobuild (when installed as a Gitref dep via cargo) currently requires.
When that merges we should be good with
-
Installing
clang-12
in ourbuild-tools
image - clang 12 is available for both arm64 and amd64 in our current build image distro, at least. -
Adding
boring-sys
as a Gitref patch dep incargo.toml
:
[patch.crates-io]
boring-sys = { git = "https://github.com/cloudflare/boring", tag = "v2.1.0" }
- Letting
boring-sys
build the fips/non-fips binaries itself, respecting the host arch.
EDIT: Oh right, that's what this is: https://github.com/istio/ztunnel/blob/master/vendor/boringssl-fips/linux_x86_64/Dockerfile.v1 - because the Ubuntu clang is v12, but the minor version is different, so it's not a blessed FIPS version.
from ztunnel.
Related Issues (20)
- [release-1.22] Refactor build_requests
- Add more XDS operational metrics HOT 4
- [release-1.22] dns: fix search lookup HOT 1
- Fixes around workload.hostname
- [release-1.22] Drop improper workload DNS lookups
- Ambient mode getting started fails due to proxy protocol in 1.22.1 HOT 9
- h2 ping/pong task can panic
- Provide a new label for metrics regarding destination type HOT 3
- Issue trying ambient mode on an ipv4-only k8s cluster HOT 13
- [release-1.22] h2: remove illegal double oneshot recv HOT 1
- [release-1.22] Properly handle named targetPort services
- dualstack: DNS always returns both IP families regardless of service configuration
- Support dual-stack localhost binding for DNS
- Emit end-of-process access logs
- Stress test on-demand DNS querying
- [release-1.22] Add option for disabling IPv6 HOT 1
- local_address and peer_address can panic
- Ztunnel does not scale up with number of worker threads in expected way HOT 13
- Implement DNS-over-TCP redirection HOT 1
- Do not error if the app sends a RST
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ztunnel.