summary refs log tree commit diff
path: root/nixos/tests/minio.nix
diff options
context:
space:
mode:
authorJohn Soo <john.soo@arista.com>2023-03-13 18:00:43 -0700
committerJohn Soo <john.soo@arista.com>2023-03-13 18:00:43 -0700
commit4400f7d72ff5ce35d3be07cb7fd6906f5bcb4c9c (patch)
tree991d043ac78278594fc92c14818266c41d5e02b4 /nixos/tests/minio.nix
parente30469a37bfdd898b0f359c758c18bc00167cbaf (diff)
downloadnixpkgs-4400f7d72ff5ce35d3be07cb7fd6906f5bcb4c9c.tar
nixpkgs-4400f7d72ff5ce35d3be07cb7fd6906f5bcb4c9c.tar.gz
nixpkgs-4400f7d72ff5ce35d3be07cb7fd6906f5bcb4c9c.tar.bz2
nixpkgs-4400f7d72ff5ce35d3be07cb7fd6906f5bcb4c9c.tar.lz
nixpkgs-4400f7d72ff5ce35d3be07cb7fd6906f5bcb4c9c.tar.xz
nixpkgs-4400f7d72ff5ce35d3be07cb7fd6906f5bcb4c9c.tar.zst
nixpkgs-4400f7d72ff5ce35d3be07cb7fd6906f5bcb4c9c.zip
nixosTests/minio: make sure editing root credentials restarts minio
Diffstat (limited to 'nixos/tests/minio.nix')
-rw-r--r--nixos/tests/minio.nix21
1 files changed, 17 insertions, 4 deletions
diff --git a/nixos/tests/minio.nix b/nixos/tests/minio.nix
index ad51f738d49..bbea6f523f3 100644
--- a/nixos/tests/minio.nix
+++ b/nixos/tests/minio.nix
@@ -18,6 +18,14 @@ let
       sio.seek(0)
       minioClient.put_object('test-bucket', 'test.txt', sio, sio_len, content_type='text/plain')
     '';
+    rootCredentialsFile = "/etc/nixos/minio-root-credentials";
+    credsPartial =  pkgs.writeText "minio-credentials-partial" ''
+      MINIO_ROOT_USER=${accessKey}
+    '';
+    credsFull =  pkgs.writeText "minio-credentials-full" ''
+      MINIO_ROOT_USER=${accessKey}
+      MINIO_ROOT_PASSWORD=${secretKey}
+    '';
 in {
   name = "minio";
   meta = with pkgs.lib.maintainers; {
@@ -28,10 +36,7 @@ in {
     machine = { pkgs, ... }: {
       services.minio = {
         enable = true;
-        rootCredentialsFile = pkgs.writeText "minio-credentials" ''
-          MINIO_ROOT_USER=${accessKey}
-          MINIO_ROOT_PASSWORD=${secretKey}
-        '';
+        inherit rootCredentialsFile;
       };
       environment.systemPackages = [ pkgs.minio-client ];
 
@@ -41,7 +46,15 @@ in {
   };
 
   testScript = ''
+    import time
+
     start_all()
+    # simulate manually editing root credentials file
+    machine.wait_for_unit("multi-user.target")
+    machine.copy_from_host("${credsPartial}", "${rootCredentialsFile}")
+    time.sleep(3)
+    machine.copy_from_host("${credsFull}", "${rootCredentialsFile}")
+
     machine.wait_for_unit("minio.service")
     machine.wait_for_open_port(9000)