1let
2 opensearchTest =
3 import ./make-test-python.nix (
4 { pkgs, lib, extraSettings ? {} }: {
5 name = "opensearch";
6 meta.maintainers = with pkgs.lib.maintainers; [ shyim ];
7
8 nodes.machine = lib.mkMerge [
9 {
10 virtualisation.memorySize = 2048;
11 services.opensearch.enable = true;
12 }
13 extraSettings
14 ];
15
16 testScript = ''
17 machine.start()
18 machine.wait_for_unit("opensearch.service")
19 machine.wait_for_open_port(9200)
20
21 machine.succeed(
22 "curl --fail localhost:9200"
23 )
24 '';
25 });
26in
27{
28 opensearch = opensearchTest {};
29 opensearchCustomPathAndUser = opensearchTest {
30 extraSettings = {
31 services.opensearch.dataDir = "/var/opensearch_test";
32 services.opensearch.user = "open_search";
33 services.opensearch.group = "open_search";
34 system.activationScripts.createDirectory = {
35 text = ''
36 mkdir -p "/var/opensearch_test"
37 chown open_search:open_search /var/opensearch_test
38 chmod 0700 /var/opensearch_test
39 '';
40 deps = [ "users" "groups" ];
41 };
42 users = {
43 groups.open_search = {};
44 users.open_search = {
45 description = "OpenSearch daemon user";
46 group = "open_search";
47 isSystemUser = true;
48 };
49 };
50 };
51 };
52}