mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-20 02:55:39 +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-pgsql = handleTest ./freshrss-pgsql.nix {};
|
||||
frigate = handleTest ./frigate.nix {};
|
||||
frp = handleTest ./frp.nix {};
|
||||
frr = handleTest ./frr.nix {};
|
||||
fsck = handleTest ./fsck.nix {};
|
||||
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 {
|
||||
pname = "frp";
|
||||
@ -17,6 +17,10 @@ buildGoModule rec {
|
||||
|
||||
subPackages = [ "cmd/frpc" "cmd/frps" ];
|
||||
|
||||
passthru.tests = {
|
||||
frp = nixosTests.frp;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast reverse proxy";
|
||||
longDescription = ''
|
||||
|
Loading…
Reference in New Issue
Block a user