summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2018-08-06 12:06:46 +0200
committerRobin Gloster <mail@glob.in>2018-08-06 16:31:33 +0200
commitcb9d784e49a85972df261a273d615096b106908e (patch)
treebf05d8e398f75557c2080d308224b55e45498425 /nixos
parent0da086860847d5379132fb07ad75da51dae15d81 (diff)
downloadnixpkgs-cb9d784e49a85972df261a273d615096b106908e.tar
nixpkgs-cb9d784e49a85972df261a273d615096b106908e.tar.gz
nixpkgs-cb9d784e49a85972df261a273d615096b106908e.tar.bz2
nixpkgs-cb9d784e49a85972df261a273d615096b106908e.tar.lz
nixpkgs-cb9d784e49a85972df261a273d615096b106908e.tar.xz
nixpkgs-cb9d784e49a85972df261a273d615096b106908e.tar.zst
nixpkgs-cb9d784e49a85972df261a273d615096b106908e.zip
docker-registry: Revert "[bot]: remove unreferenced code"
This code was referenced.

This reverts commit 87f5930c3fb2c852f5243278b7a9da8e117d95e4.

cc @volth
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/misc/docker-registry.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix
index 08031d33c13..9a3966ab30a 100644
--- a/nixos/modules/services/misc/docker-registry.nix
+++ b/nixos/modules/services/misc/docker-registry.nix
@@ -5,6 +5,43 @@ with lib;
 let
   cfg = config.services.dockerRegistry;
 
+  blobCache = if cfg.enableRedisCache
+    then "redis"
+    else "inmemory";
+
+  registryConfig = {
+    version =  "0.1";
+    log.fields.service = "registry";
+    storage = {
+      cache.blobdescriptor = blobCache;
+      filesystem.rootdirectory = cfg.storagePath;
+      delete.enabled = cfg.enableDelete;
+    };
+    http = {
+      addr = ":${builtins.toString cfg.port}";
+      headers.X-Content-Type-Options = ["nosniff"];
+    };
+    health.storagedriver = {
+      enabled = true;
+      interval = "10s";
+      threshold = 3;
+    };
+  };
+
+  registryConfig.redis = mkIf cfg.enableRedisCache {
+    addr = "${cfg.redisUrl}";
+    password = "${cfg.redisPassword}";
+    db = 0;
+    dialtimeout = "10ms";
+    readtimeout = "10ms";
+    writetimeout = "10ms";
+    pool = {
+      maxidle = 16;
+      maxactive = 64;
+      idletimeout = "300s";
+    };
+  };
+
   configFile = pkgs.writeText "docker-registry-config.yml" (builtins.toJSON (recursiveUpdate registryConfig cfg.extraConfig));
 
 in {