about summary refs log tree commit diff
path: root/nixos/modules/services/monitoring/goss.md
diff options
context:
space:
mode:
authorAnthony Roussel <anthony@roussel.dev>2023-10-25 13:54:42 +0200
committerAnthony Roussel <anthony@roussel.dev>2023-10-27 08:00:48 +0200
commit3a2d3bc3d82bc389ed8d5ce9dba87c9c60dce280 (patch)
tree5344950074747803fb8c1cc79fece06e93c046e1 /nixos/modules/services/monitoring/goss.md
parent9fc549a6dfae8b8f11d201a77e0e19e8b1bc0786 (diff)
downloadnixlib-3a2d3bc3d82bc389ed8d5ce9dba87c9c60dce280.tar
nixlib-3a2d3bc3d82bc389ed8d5ce9dba87c9c60dce280.tar.gz
nixlib-3a2d3bc3d82bc389ed8d5ce9dba87c9c60dce280.tar.bz2
nixlib-3a2d3bc3d82bc389ed8d5ce9dba87c9c60dce280.tar.lz
nixlib-3a2d3bc3d82bc389ed8d5ce9dba87c9c60dce280.tar.xz
nixlib-3a2d3bc3d82bc389ed8d5ce9dba87c9c60dce280.tar.zst
nixlib-3a2d3bc3d82bc389ed8d5ce9dba87c9c60dce280.zip
nixos/goss: init
Diffstat (limited to 'nixos/modules/services/monitoring/goss.md')
-rw-r--r--nixos/modules/services/monitoring/goss.md44
1 files changed, 44 insertions, 0 deletions
diff --git a/nixos/modules/services/monitoring/goss.md b/nixos/modules/services/monitoring/goss.md
new file mode 100644
index 000000000000..1e636aa3bdf3
--- /dev/null
+++ b/nixos/modules/services/monitoring/goss.md
@@ -0,0 +1,44 @@
+# Goss {#module-services-goss}
+
+[goss](https://goss.rocks/) is a YAML based serverspec alternative tool
+for validating a server's configuration.
+
+## Basic Usage {#module-services-goss-basic-usage}
+
+A minimal configuration looks like this:
+
+```
+{
+  services.goss = {
+    enable = true;
+
+    environment = {
+      GOSS_FMT = "json";
+      GOSS_LOGLEVEL = "TRACE";
+    };
+
+    settings = {
+      addr."tcp://localhost:8080" = {
+        reachable = true;
+        local-address = "127.0.0.1";
+      };
+      command."check-goss-version" = {
+        exec = "${lib.getExe pkgs.goss} --version";
+        exit-status = 0;
+      };
+      dns.localhost.resolvable = true;
+      file."/nix" = {
+        filetype = "directory";
+        exists = true;
+      };
+      group.root.exists = true;
+      kernel-param."kernel.ostype".value = "Linux";
+      service.goss = {
+        enabled = true;
+        running = true;
+      };
+      user.root.exists = true;
+    };
+  };
+}
+```