summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2024-12-09 02:14:02 +0100
committerMel <einebeere@gmail.com>2024-12-09 02:14:02 +0100
commitd207dfbeec495fed22537aca8b5e64b03756a2e3 (patch)
tree433163cd9db0fb6984227763330332d6395624b7 /pkgs
parent08562f0c9c6176eb946cde992fc16bea625c50e2 (diff)
downloadnetwork-d207dfbeec495fed22537aca8b5e64b03756a2e3.tar.zst
network-d207dfbeec495fed22537aca8b5e64b03756a2e3.zip
Export common.pullImage, support alternative registries
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/common.nix28
1 files changed, 20 insertions, 8 deletions
diff --git a/pkgs/common.nix b/pkgs/common.nix
index cf99b77..d6bd9c6 100644
--- a/pkgs/common.nix
+++ b/pkgs/common.nix
@@ -17,8 +17,9 @@ let
     };
   };
 
-  mkImage =
+  pullImage =
     {
+      registry ? "docker",
       name,
       tag,
       digest,
@@ -27,8 +28,17 @@ let
     let
       arch = systemToArch.${system};
 
+      registryUrl =
+        assert lib.assertOneOf
+        "unknown image registry"
+        registry [ "docker" "github" ];
+      {
+        "docker" = "";
+        "github" = "ghcr.io/";
+      }.${registry};
+
       image = dockerTools.pullImage {
-        imageName = name;
+        imageName = registryUrl + name;
         imageDigest = digest;
         finalImageName = name;
         finalImageTag = tag;
@@ -44,7 +54,9 @@ let
     };
 
   images = {
-    alpine = mkImage {
+    inherit pullImage;
+
+    alpine = pullImage {
       name = "alpine";
       tag = "3.20.3";
       digest = "sha256:1e42bbe2508154c9126d48c2b8a75420c3544343bf86fd041fb7527e017a4b4a";
@@ -52,7 +64,7 @@ let
       arm.sha256 = "06c0q5kk60i89y1d83a28wk282ymp806xjcsmlca4cwwqp590j0q";
     };
 
-    postgres13 = mkImage {
+    postgres13 = pullImage {
       name = "postgres";
       tag = "13-alpine";
       digest = "sha256:857aa00fc7e8541e3e5818b7bb8596182cb5c1b3ad964e4184e90682d5ca0d57";
@@ -60,7 +72,7 @@ let
       arm.sha256 = "0kjxk2sd03445mgf54x1ir9w2zmjn41zgmyns2h3k3cd7qazhkrx";
     };
 
-    postgres14 = mkImage {
+    postgres14 = pullImage {
       name = "postgres";
       tag = "14-alpine";
       digest = "sha256:3f5fc44eeb8e8b42448e218f05299105761a2c33b54a89d9fd06c87cd5f7b043";
@@ -68,7 +80,7 @@ let
       arm.sha256 = "1gh6f4frfilr5mp6smp1k00aijd9vh1kv711a64044yl9kqr2nci";
     };
 
-    postgres15 = mkImage {
+    postgres15 = pullImage {
       name = "postgres";
       tag = "15-alpine";
       digest = "sha256:8b963ea3038c3b32182ee7f592ccde21242fa7c5fd9d1b72aa333c27f1bfc809";
@@ -76,7 +88,7 @@ let
       arm.sha256 = "0wydmscp4znjdflycvjqwjfry9crizhav0wc2hnajbyvk4ql32h8";
     };
 
-    postgres16 = mkImage {
+    postgres16 = pullImage {
       name = "postgres";
       tag = "16-alpine";
       digest = "sha256:52bba373df3c13594014b5e9ccc9f3c2cdb2221d50db1a91ec64570819f18aba";
@@ -84,7 +96,7 @@ let
       arm.sha256 = "08i3n6kykhp0wd255xvkrpgv1n6izjm9gc57dg6nz4yz3yjnybzh";
     };
 
-    postgres17 = mkImage {
+    postgres17 = pullImage {
       name = "postgres";
       tag = "17-alpine";
       digest = "sha256:e7897baa70dae1968d23d785adb4aeb699175e0bcaae44f98a7083ecb9668b93";