summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubemqctl/default.nix25
-rw-r--r--pkgs/servers/kubemq-community/default.nix27
-rw-r--r--pkgs/top-level/all-packages.nix4
4 files changed, 62 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 47547d7f409..99b64520ffa 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1688,6 +1688,12 @@
     githubId = 355401;
     name = "Brian Hicks";
   };
+  brianmcgee = {
+    name = "Brian McGee";
+    email = "brian@41north.dev";
+    github = "brianmcgee";
+    githubId = 1173648;
+  };
   Br1ght0ne = {
     email = "brightone@protonmail.com";
     github = "Br1ght0ne";
diff --git a/pkgs/applications/networking/cluster/kubemqctl/default.nix b/pkgs/applications/networking/cluster/kubemqctl/default.nix
new file mode 100644
index 00000000000..a5ad1ea0a77
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubemqctl/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubemqctl";
+  version = "3.5.1";
+  src = fetchFromGitHub {
+    owner = "kubemq-io";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0daqvd1y6b87xvnpdl2k0sa91zdmp48r0pgp6dvnb2l44ml8a4z0";
+  };
+
+  ldflags = [ "-w" "-s" "-X main.version=${version}" ];
+
+  doCheck = false; # TODO tests are failing
+
+  vendorSha256 = "1agn6i7cnsb5igvvbjzlaa5fgssr5h7h25y440q44bk16jxk6s74";
+
+  meta = {
+    homepage = "https://github.com/kubemq-io/kubemqctl";
+    description = "Kubemqctl is a command line interface (CLI) for Kubemq Kubernetes Message Broker.";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ brianmcgee ];
+  };
+}
diff --git a/pkgs/servers/kubemq-community/default.nix b/pkgs/servers/kubemq-community/default.nix
new file mode 100644
index 00000000000..823f3125cbe
--- /dev/null
+++ b/pkgs/servers/kubemq-community/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubemq-community";
+  version = "2.2.12";
+  src = fetchFromGitHub {
+    owner = "kubemq-io";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "06n3avcqknqzf9y03xqcsg36pwcha29j2psp9xsnir7hrx66zww8";
+  };
+
+  CGO_ENABLED=0;
+
+  ldflags=[ "-w" "-s" "-X main.version=${version}" ];
+
+  doCheck = false;  # grpc tests are flaky
+
+  vendorSha256 = "1sh0dzz8z065964k2gzkzw9p3db3rcf6mv901zym0wqm4p71045w";
+
+  meta = {
+    homepage = "https://github.com/kubemq-io/kubemq-community";
+    description = "KubeMQ Community is the open-source version of KubeMQ, the Kubernetes native message broker.";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ brianmcgee ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 089a6b6a29a..d8f2dba6f25 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15271,6 +15271,8 @@ with pkgs;
 
   kubei = callPackage ../tools/security/kubei { };
 
+  kubemq-community = callPackage ../servers/kubemq-community { };
+
   kubeone = callPackage ../applications/networking/cluster/kubeone { };
 
   kubeprompt = callPackage ../development/tools/kubeprompt { };
@@ -27000,6 +27002,8 @@ with pkgs;
   kubernetes = callPackage ../applications/networking/cluster/kubernetes { };
   kubectl = callPackage ../applications/networking/cluster/kubernetes/kubectl.nix { };
 
+  kubemqctl = callPackage ../applications/networking/cluster/kubemqctl { };
+
   kubeseal = callPackage ../applications/networking/cluster/kubeseal { };
 
   kubernix = callPackage ../applications/networking/cluster/kubernix { };