mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-21 11:34:13 +00:00
nixos/frp: add test and link to package
This commit is contained in:
parent
6cd38e43cd
commit
b53e5a6479
@ -290,6 +290,7 @@ in {
|
|||||||
freshrss-sqlite = handleTest ./freshrss-sqlite.nix {};
|
freshrss-sqlite = handleTest ./freshrss-sqlite.nix {};
|
||||||
freshrss-pgsql = handleTest ./freshrss-pgsql.nix {};
|
freshrss-pgsql = handleTest ./freshrss-pgsql.nix {};
|
||||||
frigate = handleTest ./frigate.nix {};
|
frigate = handleTest ./frigate.nix {};
|
||||||
|
frp = handleTest ./frp.nix {};
|
||||||
frr = handleTest ./frr.nix {};
|
frr = handleTest ./frr.nix {};
|
||||||
fsck = handleTest ./fsck.nix {};
|
fsck = handleTest ./fsck.nix {};
|
||||||
fsck-systemd-stage-1 = handleTest ./fsck.nix { systemdStage1 = true; };
|
fsck-systemd-stage-1 = handleTest ./fsck.nix { systemdStage1 = true; };
|
||||||
|
86
nixos/tests/frp.nix
Normal file
86
nixos/tests/frp.nix
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||||
|
name = "frp";
|
||||||
|
meta.maintainers = with lib.maintainers; [ zaldnoay janik ];
|
||||||
|
nodes = {
|
||||||
|
frps = {
|
||||||
|
networking = {
|
||||||
|
useNetworkd = true;
|
||||||
|
useDHCP = false;
|
||||||
|
firewall.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.network.networks."01-eth1" = {
|
||||||
|
name = "eth1";
|
||||||
|
networkConfig.Address = "10.0.0.1/24";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.frp = {
|
||||||
|
enable = true;
|
||||||
|
role = "server";
|
||||||
|
settings = {
|
||||||
|
common = {
|
||||||
|
bind_port = 7000;
|
||||||
|
vhost_http_port = 80;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
frpc = {
|
||||||
|
networking = {
|
||||||
|
useNetworkd = true;
|
||||||
|
useDHCP = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.network.networks."01-eth1" = {
|
||||||
|
name = "eth1";
|
||||||
|
networkConfig.Address = "10.0.0.2/24";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.httpd = {
|
||||||
|
enable = true;
|
||||||
|
adminAddr = "admin@example.com";
|
||||||
|
virtualHosts."test-appication" =
|
||||||
|
let
|
||||||
|
testdir = pkgs.writeTextDir "web/index.php" "<?php phpinfo();";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
documentRoot = "${testdir}/web";
|
||||||
|
locations."/" = {
|
||||||
|
index = "index.php index.html";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
phpPackage = pkgs.php81;
|
||||||
|
enablePHP = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.frp = {
|
||||||
|
enable = true;
|
||||||
|
role = "client";
|
||||||
|
settings = {
|
||||||
|
common = {
|
||||||
|
server_addr = "10.0.0.1";
|
||||||
|
server_port = 7000;
|
||||||
|
};
|
||||||
|
web = {
|
||||||
|
type = "http";
|
||||||
|
local_port = 80;
|
||||||
|
custom_domains = "10.0.0.1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
frps.wait_for_unit("frp.service")
|
||||||
|
frps.wait_for_open_port(80)
|
||||||
|
frpc.wait_for_unit("frp.service")
|
||||||
|
response = frpc.succeed("curl -fvvv -s http://127.0.0.1/")
|
||||||
|
assert "PHP Version ${pkgs.php81.version}" in response, "PHP version not detected"
|
||||||
|
response = frpc.succeed("curl -fvvv -s http://10.0.0.1/")
|
||||||
|
assert "PHP Version ${pkgs.php81.version}" in response, "PHP version not detected"
|
||||||
|
'';
|
||||||
|
})
|
@ -1,4 +1,4 @@
|
|||||||
{ buildGoModule, lib, fetchFromGitHub }:
|
{ buildGoModule, lib, fetchFromGitHub, nixosTests }:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "frp";
|
pname = "frp";
|
||||||
@ -17,6 +17,10 @@ buildGoModule rec {
|
|||||||
|
|
||||||
subPackages = [ "cmd/frpc" "cmd/frps" ];
|
subPackages = [ "cmd/frpc" "cmd/frps" ];
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
frp = nixosTests.frp;
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Fast reverse proxy";
|
description = "Fast reverse proxy";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
Loading…
Reference in New Issue
Block a user