Punq streamlines Kubernetes cluster management through an intuitive WebApp and a user-friendly CLI, designed to simplify the lives of DevOps professionals.
It offers unified team collaboration, comprehensive log access, and a sophisticated workload editor, facilitates seamless oversight and manipulation of clusters spanning various infrastructures.
This project is dedicated to enhancing operational efficiency within Kubernetes environments, with a particular focus on bolstering team-based workflows.
Punq offers a self-hosted solution, residing directly within your Kubernetes cluster, to create a dedicated instance for your team. Each instance is composed of:
Punq empowers you to seamlessly oversee multiple Kubernetes clusters. Simply import them from your local kubeconfig, and punq handles the rest, securely tucking away your configurations as secrets within your cluster.
Leveraging these configurations, punq presents a comprehensive view of all workloads and resources through its application. Consequently, every team member using your punq instance gains the capability to monitor and manage clusters, all without the necessity to access the kubeconfig directly. This not only enhances security but also promotes operational efficiency and team collaboration.
Setting up punq is straightforward and conducted through the command line interface (CLI).
Currently, Homebrew covers installation on macOS and Linux platforms whereas if you are a Windows user you can leverage Scoop.
brew tap mogenius/punq
brew install punq
scoop bucket add mogenius https://github.com/mogenius/punq
scoop install punq
After successfully installing punq, you're just a few steps away from harnessing its full potential. Here's how to get your journey started.
To install punq on your cluster within the current context and set up ingress routing, enabling you to access punq via your custom domain:
punq install
punq proxy
punq install -i punq.yourdomain.com
And thereafter to finalize your punq setup, configure your domain, and getting started with using punq:
Configure DNS Settings:
punq.yourdomain.com
to the address provided by your punq installation or the IP of your ingress controller. The exact setup may depend on your hosting or DNS provider,Access punq Interface:
punq.yourdomain.com
(replace with your actual subdomain).Admin Login:
Explore Your Default Cluster:
Add Additional Clusters:
Get Started:
Invite your team
punq user add
together with the required flags.-a
to set the access level of a user: ADMIN, USER, and READER.Stay Secure:
Remember, the punq community and documentation are valuable resources if you encounter any issues or have further questions as you embark on this streamlined Kubernetes management experience.
Here are some basic punq commands to start with:
# List all available CLI features
punq help
# Install the punq operator in your current kubecontext
punq install -i punq.yourdomain.com
# Manage users and permissions
punq user
# Upgrade your punq instance to the recent version
punq upgrade
# Delete punq from your current kubecontext
punq clean
If you're interested in running the development version of punq, which corresponds to the develop
branch of the repository, you can do so by following these instructions:
brew tap mogenius/punq-dev
brew install punq-dev
However, please be aware that you cannot run both the standard (punq) and development (punq-dev) versions on the same cluster at the same time.
To update the documentation please run (in project root):
go install github.com/swaggo/swag/cmd/swag@latest
swag init --parseDependency --parseInternal
How to set a default editor for Windows (for example Visual Studio Code):
Open powershell as admin and run:
[System.Environment]::SetEnvironmentVariable("EDITOR", "code -w", [System.EnvironmentVariableTarget]::Machine)
The punq community is on Slack! Check out the workspace to discuss questions and ideas with fellow punq users and the team.
🏠 Join us on Slack
Punq is in its nascent stages, brimming with potential, and we're excited to extend an invitation for you to be part of this journey. Your insights, expertise, and contributions can significantly shape its evolution, enhancing this tool for many users and diverse needs. Here's how you can get involved:
Explore Open Issues:
Choose an Issue:
Communicate:
Fork and Branch:
Code:
Test:
Create a Pull Request (PR):
Engage and Iterate:
Celebrate: 🥳
Remember, open-source is not just about code. It's about collaboration, learning, and shared stewardship. Whether you're a seasoned developer or a newbie, your contributions are valuable and appreciated. So, let's shape the future of punq together!
Made with 💜 by the folks at mogenius