On our journey with the mogenius platform, open-source software has always played a crucial role and allowed us to take significant steps with our technology. At some point, we felt the need to share something with the open-source community as well, which is why we're introducing punq today.
What is punq? In simple terms, punq is a lightweight Kubernetes manager with built-in team collaboration. It's written in Go and comes with an Angular web application. punq is designed for DevOps teams to manage workloads across multiple clusters without the need to share kubeconfigs among team members. This way, punq is set up once, and then team members can join to access and manage resources across Kubernetes clusters.
Here's an overview of the most important v1 features:
Web app and CLI Adding clusters via kubeconfig YAML editor Terminal access to pods RBAC How does it work? punq is a lightweight container that can be hosted on a Kubernetes cluster by installing it via the punq CLI. The application comes with an Angular user interface running on your domain. By default, this shows the cluster where punq is installed.
You can add more clusters by uploading a kubeconfig; the data will be extracted once and stored as secrets on your Kubernetes cluster. After adding a cluster, each team member on your punq instance can manage it without access to the kubeconfig itself. This way, you're making it easy for the team to collaborate across clusters. On top of that, we've put a lot of effort into making punq very fast to keep you productive :)
Why punq? While there are existing tools for managing Kubernetes clusters that we've extensively used, we found a gap among open-source solutions — a tool that enables us to collaborate in managing multiple clusters with shared access. Without that, we were connecting to Kubernetes clusters locally via kubeconfig, which required individual setups for each team member and each cluster.
During some tool research over the summer, it struck us: our mogenius operator was already capable of doing this. The core technology that powers our Internal Developer Platform could monitor and orchestrate Kubernetes resources. Plus, it was already fueling a cloud-based web application to make the resources accessible to team members. This foundation made the decision easy; we're building the tool ourselves 🙂
Check out punq on GitHub and leave a star; We're excited to hear your feedback.
PS: punq will soon become an integral part of the mogenius platform. Each organization will have its dedicated instance of punq, accessible to all admins.