Loading nixos/tests/all-tests.nix +8 −1 Original line number Diff line number Diff line Loading @@ -407,7 +407,14 @@ in enlightenment = handleTest ./enlightenment.nix { }; env = handleTest ./env.nix { }; envfs = handleTest ./envfs.nix { }; envoy = handleTest ./envoy.nix { }; envoy = runTest { imports = [ ./envoy.nix ]; _module.args.envoyPackage = pkgs.envoy; }; envoy-bin = runTest { imports = [ ./envoy.nix ]; _module.args.envoyPackage = pkgs.envoy-bin; }; ergo = handleTest ./ergo.nix { }; ergochat = handleTest ./ergochat.nix { }; eris-server = handleTest ./eris-server.nix { }; Loading nixos/tests/envoy.nix +53 −55 Original line number Diff line number Diff line import ./make-test-python.nix ( { pkgs, lib, ... }: { envoyPackage, lib, ... }: { name = "envoy"; meta = with pkgs.lib.maintainers; { name = envoyPackage.pname; meta = with lib.maintainers; { maintainers = [ cameronnemo ]; }; nodes.machine = { pkgs, ... }: { nodes.machine = { services.envoy.enable = true; services.envoy.package = envoyPackage; services.envoy.settings = { admin = { access_log_path = "/dev/null"; Loading Loading @@ -59,4 +58,3 @@ import ./make-test-python.nix ( machine.succeed('test -f /var/log/envoy/access.log') ''; } ) pkgs/by-name/en/envoy-bin/package.nix 0 → 100644 +77 −0 Original line number Diff line number Diff line { lib, stdenv, autoPatchelfHook, fetchurl, makeWrapper, nixosTests, versionCheckHook, }: let version = "1.33.2"; inherit (stdenv.hostPlatform) system; throwSystem = throw "envoy-bin is not available for ${system}."; plat = { aarch64-linux = "aarch_64"; x86_64-linux = "x86_64"; } .${system} or throwSystem; hash = { aarch64-linux = "sha256-gew2iaghIu/wymgMSBdvTTUbb5iBp5zJ2QeKb7Swtqg="; x86_64-linux = "sha256-vS/4fF78lf14gNcQkV9XPBqrTZxV2NqIbc2R30P610E="; } .${system} or throwSystem; in stdenv.mkDerivation { pname = "envoy-bin"; inherit version; src = fetchurl { url = "https://github.com/envoyproxy/envoy/releases/download/v${version}/envoy-${version}-linux-${plat}"; inherit hash; }; nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ makeWrapper ]; dontUnpack = true; dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out/bin install -m755 $src $out/bin/envoy runHook postInstall ''; nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; versionCheckProgram = "${placeholder "out"}/bin/envoy"; versionCheckProgramArg = "--version"; passthru = { tests.envoy-bin = nixosTests.envoy-bin; updateScript = ./update.sh; }; meta = { homepage = "https://envoyproxy.io"; changelog = "https://github.com/envoyproxy/envoy/releases/tag/v${version}"; description = "Cloud-native edge and service proxy"; license = lib.licenses.asl20; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; maintainers = with lib.maintainers; [ adamcstephens ]; mainProgram = "envoy"; platforms = [ "x86_64-linux" "aarch64-linux" ]; }; } pkgs/by-name/en/envoy-bin/update.sh 0 → 100755 +32 −0 Original line number Diff line number Diff line #!/usr/bin/env nix-shell #!nix-shell -i bash -p curl gnused gawk nix-prefetch common-updater-scripts jq set -euo pipefail ROOT="$(dirname "$(readlink -f "$0")")" NIX_DRV="$ROOT/package.nix" if [ ! -f "$NIX_DRV" ]; then echo "ERROR: cannot find package.nix in $ROOT" exit 1 fi fetch_arch() { VER="$1" ARCH="$2" URL="https://github.com/envoyproxy/envoy/releases/download/v${VER}/envoy-${VER}-linux-${ARCH}" nix hash convert --to sri --hash-algo sha256 "$(nix-prefetch-url --type sha256 "$URL")" } replace_hash() { sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV" } VER=$(list-git-tags --url=https://github.com/envoyproxy/envoy | rg 'v[0-9\.]*$' | sed -e 's/^v//' | sort -V | tail -n 1) LINUX_X64_HASH=$(fetch_arch "$VER" "x86_64") LINUX_AARCH64_HASH=$(fetch_arch "$VER" "aarch_64") sed -i "s/version = \".*\"/version = \"$VER\"/" "$NIX_DRV" replace_hash "x86_64-linux" "$LINUX_X64_HASH" replace_hash "aarch64-linux" "$LINUX_AARCH64_HASH" Loading
nixos/tests/all-tests.nix +8 −1 Original line number Diff line number Diff line Loading @@ -407,7 +407,14 @@ in enlightenment = handleTest ./enlightenment.nix { }; env = handleTest ./env.nix { }; envfs = handleTest ./envfs.nix { }; envoy = handleTest ./envoy.nix { }; envoy = runTest { imports = [ ./envoy.nix ]; _module.args.envoyPackage = pkgs.envoy; }; envoy-bin = runTest { imports = [ ./envoy.nix ]; _module.args.envoyPackage = pkgs.envoy-bin; }; ergo = handleTest ./ergo.nix { }; ergochat = handleTest ./ergochat.nix { }; eris-server = handleTest ./eris-server.nix { }; Loading
nixos/tests/envoy.nix +53 −55 Original line number Diff line number Diff line import ./make-test-python.nix ( { pkgs, lib, ... }: { envoyPackage, lib, ... }: { name = "envoy"; meta = with pkgs.lib.maintainers; { name = envoyPackage.pname; meta = with lib.maintainers; { maintainers = [ cameronnemo ]; }; nodes.machine = { pkgs, ... }: { nodes.machine = { services.envoy.enable = true; services.envoy.package = envoyPackage; services.envoy.settings = { admin = { access_log_path = "/dev/null"; Loading Loading @@ -59,4 +58,3 @@ import ./make-test-python.nix ( machine.succeed('test -f /var/log/envoy/access.log') ''; } )
pkgs/by-name/en/envoy-bin/package.nix 0 → 100644 +77 −0 Original line number Diff line number Diff line { lib, stdenv, autoPatchelfHook, fetchurl, makeWrapper, nixosTests, versionCheckHook, }: let version = "1.33.2"; inherit (stdenv.hostPlatform) system; throwSystem = throw "envoy-bin is not available for ${system}."; plat = { aarch64-linux = "aarch_64"; x86_64-linux = "x86_64"; } .${system} or throwSystem; hash = { aarch64-linux = "sha256-gew2iaghIu/wymgMSBdvTTUbb5iBp5zJ2QeKb7Swtqg="; x86_64-linux = "sha256-vS/4fF78lf14gNcQkV9XPBqrTZxV2NqIbc2R30P610E="; } .${system} or throwSystem; in stdenv.mkDerivation { pname = "envoy-bin"; inherit version; src = fetchurl { url = "https://github.com/envoyproxy/envoy/releases/download/v${version}/envoy-${version}-linux-${plat}"; inherit hash; }; nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ makeWrapper ]; dontUnpack = true; dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out/bin install -m755 $src $out/bin/envoy runHook postInstall ''; nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; versionCheckProgram = "${placeholder "out"}/bin/envoy"; versionCheckProgramArg = "--version"; passthru = { tests.envoy-bin = nixosTests.envoy-bin; updateScript = ./update.sh; }; meta = { homepage = "https://envoyproxy.io"; changelog = "https://github.com/envoyproxy/envoy/releases/tag/v${version}"; description = "Cloud-native edge and service proxy"; license = lib.licenses.asl20; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; maintainers = with lib.maintainers; [ adamcstephens ]; mainProgram = "envoy"; platforms = [ "x86_64-linux" "aarch64-linux" ]; }; }
pkgs/by-name/en/envoy-bin/update.sh 0 → 100755 +32 −0 Original line number Diff line number Diff line #!/usr/bin/env nix-shell #!nix-shell -i bash -p curl gnused gawk nix-prefetch common-updater-scripts jq set -euo pipefail ROOT="$(dirname "$(readlink -f "$0")")" NIX_DRV="$ROOT/package.nix" if [ ! -f "$NIX_DRV" ]; then echo "ERROR: cannot find package.nix in $ROOT" exit 1 fi fetch_arch() { VER="$1" ARCH="$2" URL="https://github.com/envoyproxy/envoy/releases/download/v${VER}/envoy-${VER}-linux-${ARCH}" nix hash convert --to sri --hash-algo sha256 "$(nix-prefetch-url --type sha256 "$URL")" } replace_hash() { sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV" } VER=$(list-git-tags --url=https://github.com/envoyproxy/envoy | rg 'v[0-9\.]*$' | sed -e 's/^v//' | sort -V | tail -n 1) LINUX_X64_HASH=$(fetch_arch "$VER" "x86_64") LINUX_AARCH64_HASH=$(fetch_arch "$VER" "aarch_64") sed -i "s/version = \".*\"/version = \"$VER\"/" "$NIX_DRV" replace_hash "x86_64-linux" "$LINUX_X64_HASH" replace_hash "aarch64-linux" "$LINUX_AARCH64_HASH"