From 0fb8456b1316797cc6cd45814b3250e432eeef77 Mon Sep 17 00:00:00 2001 From: Pascal Bach Date: Sat, 8 Jul 2017 00:11:44 +0200 Subject: minio service: add additional config options Set access and secret key and disable browser. Tests extended to do real operations against minio. --- nixos/modules/services/web-servers/minio.nix | 42 ++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'nixos/modules/services/web-servers/minio.nix') diff --git a/nixos/modules/services/web-servers/minio.nix b/nixos/modules/services/web-servers/minio.nix index 1893edf3a77..843f0d98687 100644 --- a/nixos/modules/services/web-servers/minio.nix +++ b/nixos/modules/services/web-servers/minio.nix @@ -29,6 +29,40 @@ in description = "The config directory, for the access keys and other settings."; }; + accessKey = mkOption { + default = ""; + type = types.str; + description = '' + Access key of 5 to 20 characters in length that clients use to access the server. + This overrides the access key that is generated by minio on first startup and stored inside the + configDir directory. + ''; + }; + + secretKey = mkOption { + default = ""; + type = types.str; + description = '' + Specify the Secret key of 8 to 40 characters in length that clients use to access the server. + This overrides the secret key that is generated by minio on first startup and stored inside the + configDir directory. + ''; + }; + + region = mkOption { + default = "us-east-1"; + type = types.str; + description = '' + The physical location of the server. By default it is set to us-east-1, which is same as AWS S3's and Minio's default region. + ''; + }; + + browser = mkOption { + default = true; + type = types.bool; + description = "Enable or disable access to web UI."; + }; + package = mkOption { default = pkgs.minio; defaultText = "pkgs.minio"; @@ -57,6 +91,14 @@ in Group = "minio"; LimitNOFILE = 65536; }; + environment = { + MINIO_REGION = "${cfg.region}"; + MINIO_BROWSER = "${if cfg.browser then "on" else "off"}"; + } // optionalAttrs (cfg.accessKey != "") { + MINIO_ACCESS_KEY = "${cfg.accessKey}"; + } // optionalAttrs (cfg.secretKey != "") { + MINIO_SECRET_KEY = "${cfg.secretKey}"; + }; }; users.extraUsers.minio = { -- cgit 1.4.1