tvl-depot/third_party
Griffin Smith c5f3b12f04 feat(tvix): Support systemd socket activation
When the nix daemon starts up, first check (using sd_listen_fds) whether
we have been systemd socket-activated. If so, instead of passing the nix
daemon socket path to grpc, start a manual accept(2) loop, passing the
client file descriptors to grpc via AddInsecureChannelFromFd. There's an
open grpc issue at https://github.com/grpc/grpc/issues/19133 for
building support into grpc to do this automatically, but as of right now
this appears to be the only way to make this happen.

Making this happen, by the way, was a bit of a journey - at one point I
attempted to ServerBuilder's experimental AddExternalConnectionAcceptor
API, and that didn't work either - it appears that the final missing
piece to getting this working was explicitly fcntl(2)ing the client file
descriptors to set O_NONBLOCK before passing them into gRPC. With that
set, this all works inside of the test vm.

Fixes: b/56
Change-Id: I5d2ab2b5b02eb570249b30a9674e115c61b0ab0e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1882
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-09-01 01:07:11 +00:00
..
abseil_cpp chore(third_party): Skip subtrees of large external projects 2020-08-26 23:49:32 +00:00
alsi revert(glittershark): "Temporarily skip grfn's subtree" 2020-08-28 21:24:36 +00:00
apereo-cas chore(apereo-cas): fix up configuration 2020-07-08 17:49:25 +00:00
bat_syntaxes feat(3p/bat_syntaxes): Add a derivation to extend bat syntaxes 2020-06-15 16:52:23 +00:00
bufbuild chore(3p): Bump nixos-unstable channel 2020-08-17 09:54:18 +00:00
cgit fix(3p/cgit): transpose html_option parameters 2020-08-03 10:28:44 +00:00
cpp/googleapis chore: Add meta.ci=false to various broken projects 2020-08-26 23:49:32 +00:00
emacs feat(3p/emacs): Check in derivation for explain-pause-mode 2020-06-03 02:31:31 +01:00
farmhash feat(third_party): Add Google's farmhash library 2020-05-08 18:39:43 +01:00
ffmpeg feat(third_party/ffmpeg): Add "libnpp" support to ffmpeg 2020-04-04 02:36:20 +01:00
gerrit chore(gerrit): Update to latest HEAD. 2020-08-02 01:01:08 +00:00
gerrit_plugins chore(gerrit): Update to latest HEAD. 2020-08-02 01:01:08 +00:00
git revert(3p/git): Revert merge of git upstream at v2.26.2 2020-05-26 00:06:52 +01:00
git-bug chore: Add meta.ci=false to various broken projects 2020-08-26 23:49:32 +00:00
gitignoreSource feat(3p): Add gitignoreSource 2020-06-29 17:23:52 +00:00
glog fix(3p/nix): Link to glog built by Nix 2020-07-05 16:54:12 +00:00
gopkgs chore: simplify buildGo expressions 2020-08-04 07:43:25 +00:00
grpc fix(3p/grpc): Bump to 1.30.0 and build with precompiled Abseil 2020-07-05 17:51:31 +00:00
gtest feat(3p/gtest): Bump version & override stdenv to libcxx 2020-07-17 02:59:42 +00:00
haskell-language-server chore(3p): Bump nixpkgs channels 2020-08-06 00:15:33 +00:00
haskell_overlay fix(3p/haskell_overlay): Fix imports and remove unused file 2020-08-26 23:49:32 +00:00
immer chore(third_party): Skip subtrees of large external projects 2020-08-26 23:49:32 +00:00
kernelPatches/trx40_usb_audio feat(3p/kernelPatches): Add kernel audio patch for ASUS TRX40 Pro 2020-06-20 22:27:03 +00:00
lieer chore(3p/lieer): Revert "Work around issues in Google Mail API" 2020-07-07 21:50:01 +00:00
lisp feat(3p/lisp): Add checkl 2020-07-27 14:18:06 +00:00
loxy chore(3p/loxy): add OWNERS 2020-08-19 13:20:04 +00:00
naersk chore(3p/naersk): Update to latest 'master' 2020-05-25 23:36:20 +01:00
nix feat(tvix): Support systemd socket activation 2020-09-01 01:07:11 +00:00
nixery chore: Rename pkgs->depot in all Nix file headers 2020-02-21 13:54:53 +00:00
notmuch chore: Add meta.ci=false to various broken projects 2020-08-26 23:49:32 +00:00
nsfv feat(3p/nsfv): Add derivation for NSFV 2020-06-25 02:27:38 +00:00
openldap feat(3p/openldap): Enable slapd-passwd-argon2 module 2020-07-01 19:10:13 +00:00
protobuf feat(3p/protobuf): Check in derivation for proto 3.12 with libcxx 2020-06-07 14:56:56 +01:00
python/broadlink feat(3p/python/broadlink): Add max_devices discovery parameter 2020-04-26 14:50:04 +01:00
rapidcheck feat(3p): Add rapidcheck 2020-07-19 16:26:52 +00:00
rr feat(3p/rr): Add ThreadRipper compatibility patch 2020-07-13 17:56:22 +00:00
smtprelay feat(nixos/smtprelay): Add derivation & module for SMTP relay 2020-06-13 01:23:01 +00:00
terraform-gcp chore: Rename pkgs->depot in all Nix file headers 2020-02-21 13:54:53 +00:00
default.nix feat(tools/tvlc): init project 2020-08-19 01:23:54 +00:00
README.md docs(third_party): Add README 2019-06-29 14:12:38 +01:00

Third-Party Code

Code under this folder is one of the following:

  1. Externally developed dependencies which have been imported ("vendored") into this repository. These dependencies come with their own licenses and whatever else.

  2. Code that is developed inside of this repository, but released to an external repository via Copybara.