diff --git a/pkgs/applications/networking/cluster/kubergrunt/default.nix b/pkgs/applications/networking/cluster/kubergrunt/default.nix
new file mode 100644
index 000000000000..733bb3c59412
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubergrunt/default.nix
@@ -0,0 +1,33 @@
+{ buildGoModule, lib, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubergrunt";
+  version = "0.7.11";
+
+  src = fetchFromGitHub {
+    owner = "gruntwork-io";
+    repo = "kubergrunt";
+    rev = "v${version}";
+    sha256 = "1224ssqdz9ak0vylyfbr9c2w0yfdp4hw9jh99qmfi2j5nhw9kzcc";
+  };
+
+  vendorSha256 = "1hbb3hn8mzz9h9p1rl35izz3l6c2rqsg8aq6dgpbpsf5krp3zs3v";
+
+  # Disable tests since it requires network access and relies on the
+  # presence of certain AWS infrastructure
+  doCheck = false;
+
+  runVend = true;
+
+  postInstall = ''
+    # The binary is named kubergrunt
+    mv $out/bin/cmd $out/bin/kubergrunt
+  '';
+
+  meta = with lib; {
+    description = "Collection of commands to fill in the gaps between Terraform, Helm, and Kubectl";
+    homepage = "https://github.com/gruntwork-io/kubergrunt";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ psibi ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 370a9b4b2302..f131ddee44cb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6928,6 +6928,8 @@ with pkgs;
 
   kubepug = callPackage ../development/tools/kubepug { };
 
+  kubergrunt = callPackage ../applications/networking/cluster/kubergrunt { };
+
   kwalletcli = libsForQt5.callPackage ../tools/security/kwalletcli { };
 
   peruse = libsForQt5.callPackage ../tools/misc/peruse { };