2025-03-16 17:15:24 +01:00
|
|
|
{ config, lib, ... }:
|
2024-07-01 09:32:41 +02:00
|
|
|
|
|
|
|
{
|
|
|
|
name = "glance";
|
|
|
|
|
|
|
|
nodes = {
|
|
|
|
machine_default =
|
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
|
|
services.glance = {
|
|
|
|
enable = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
machine_custom_port =
|
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
|
|
services.glance = {
|
|
|
|
enable = true;
|
|
|
|
settings.server.port = 5678;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2025-03-16 17:15:24 +01:00
|
|
|
extraPythonPackages =
|
|
|
|
p: with p; [
|
|
|
|
beautifulsoup4
|
|
|
|
types-beautifulsoup4
|
|
|
|
];
|
|
|
|
|
2024-07-01 09:32:41 +02:00
|
|
|
testScript = ''
|
2025-03-16 17:15:24 +01:00
|
|
|
from bs4 import BeautifulSoup
|
|
|
|
|
2024-07-01 09:32:41 +02:00
|
|
|
machine_default.start()
|
|
|
|
machine_default.wait_for_unit("glance.service")
|
|
|
|
machine_default.wait_for_open_port(8080)
|
|
|
|
|
|
|
|
machine_custom_port.start()
|
|
|
|
machine_custom_port.wait_for_unit("glance.service")
|
|
|
|
machine_custom_port.wait_for_open_port(5678)
|
2025-03-16 17:15:24 +01:00
|
|
|
|
|
|
|
soup = BeautifulSoup(machine_default.succeed("curl http://localhost:8080"))
|
2025-03-21 08:28:06 +01:00
|
|
|
expected_version = "v${config.nodes.machine_default.services.glance.package.version}"
|
2025-03-16 17:15:24 +01:00
|
|
|
assert any(a.text == expected_version for a in soup.select(".footer a"))
|
2024-07-01 09:32:41 +02:00
|
|
|
'';
|
|
|
|
|
|
|
|
meta.maintainers = [ lib.maintainers.drupol ];
|
|
|
|
}
|