Permission Manager is an application developed by SIGHUP that enables a super-easy and user-friendly RBAC management for Kubernetes. If you are looking for a simple and intuitive way of managing your users within a Kubernetes cluster, this is the right place.
With Permission Manager, you can create users, assign namespaces/permissions, and distribute Kubeconfig YAML files via a nice&easy web UI.
Screenshots
Installation
To deploy and run the Permission Manager on your cluster, follow the installation guide
Development Setup
We love contributions from the community ❤️.
Learn how-to-contribute
How it works?
The application allows us to define and select permission standard templates (those defining who can do what, within a namespace or globally) and associate them with all the users you might want to create.
The template system is an abstraction over Cluster-Roles, RoleBinding, and ClusterRolesBindigs.
Do we plan to use CRD’s and custom labels? Sure, it’s in the product roadmap.
What is a template?
A template is a ClusterRole with a prefix
template-namespaced-resources___
for example template-namespaced-resources___developer
Why a template is not a CRD?
When we started the development of this project, a template was one-to-one to a clusterrole, the usage of a CRD looked overkill. This will obviously change in future to avoid polluting clusterroles and will allow us to have a more precise encapsulation of what is owned by the permission manager.
How to add a new template?
Create a clusterrole starting with template-namespaced-resources___ and apply it.
Default templates
developer and operation default templates can be created by applying the manifest located at k8s/k8s-seeds/seed.yml
kubectl apply -f k8s/k8s-seeds
What is a user?
A user is a custom resource of kind permissionmanagerusers.permissionmanager.user
The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…
The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…
The top command in Linux provides a real-time view of running processes and system resource usage. From…
The usermod command in Linux modifies existing user account attributes. You can use it to manage group…
The sort command in Linux reads lines from files or standard input and writes them to standard…
The wall command in Linux sends a message to the terminals of all currently logged-in users. The…