Skip to content

Commit 69cb169

Browse files
committed
feat(plugins): allow consumer name argument in show consumer permissions
- Add optional ConsumerName parameter (defaults to kubeplus-saas-consumer) - Supports custom consumers created via provider-kubeconfig.py -c (e.g. team1, team2) - Update help text and kubectl-kubeplus-commands documentation - Fixes #1091
1 parent 918dcb7 commit 69cb169

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

plugins/kubeconfigretriever.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ def retrieve_kubeconfig(self, serverURL, kubeconfigFor, kubeconfig):
1111

1212
kubeplusNS = self.get_kubeplus_namespace(kubeconfig)
1313
if kubeconfigFor == 'provider':
14-
cmd = "kubectl get configmaps kubeplus-saas-provider -n " + kubeplusNS + r" -o jsonpath=\"{.data.kubeplus-saas-provider\.json}\""
14+
cmd = "kubectl get configmaps kubeplus-saas-provider -n " + kubeplusNS + r" -o jsonpath='{.data.kubeplus-saas-provider\.json}'"
1515
if kubeconfigFor == 'consumer':
16-
cmd = "kubectl get configmaps kubeplus-saas-consumer-kubeconfig -n " + kubeplusNS + r" -o jsonpath=\"{.data.kubeplus-saas-consumer\.json}\""
16+
cmd = "kubectl get configmaps kubeplus-saas-consumer-kubeconfig -n " + kubeplusNS + r" -o jsonpath='{.data.kubeplus-saas-consumer\.json}'"
1717

1818
cmd = cmd + " --kubeconfig=" + kubeconfig
1919
out = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).communicate()[0]

plugins/kubectl-kubeplus-commands

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ print_help () {
1616
echo " kubectl grantpermission consumer"
1717
echo " kubectl upload chart"
1818
echo " kubectl show provider permissions"
19-
echo " kubectl show consumer permissions"
19+
echo " kubectl show consumer permissions <Namespace> [ConsumerName]"
2020
echo " kubectl license create"
2121
echo " kubectl license get"
2222
echo " kubectl license delete"
@@ -57,7 +57,7 @@ print_help () {
5757
echo " Upload Helm chart (tgz) to KubePlus Operator."
5858
echo ""
5959
echo " - kubectl show provider permissions shows the permissions for kubeplus-saas-provider service account in the namespace where kubeplus is installed."
60-
echo " - kubectl show consumer permissions shows the permissions for kubeplus-saas-consumer service account in the namespace where kubeplus is installed."
60+
echo " - kubectl show consumer permissions shows the RBAC permissions for a consumer. Optional ConsumerName defaults to kubeplus-saas-consumer."
6161
echo " License Management."
6262
echo " - kubectl license create - creates license for a Kind"
6363
echo " - kubectl license get - gets license for a Kind"

plugins/kubectl-show-consumer-permissions

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,27 @@ print_help () {
77
echo " kubectl show consumer permissions"
88
echo ""
99
echo "SYNOPSIS"
10-
echo " kubectl show consumer permissions <Namespace>"
10+
echo " kubectl show consumer permissions <Namespace> [ConsumerName]"
1111
echo ""
1212
echo "DESCRIPTION"
13-
echo " kubectl show consumer permissions shows the permissions for kubeplus-saas-consumer service account in the namespace where kubeplus is installed."
13+
echo " kubectl show consumer permissions shows the RBAC permissions for a consumer service account."
14+
echo " Namespace is the namespace where KubePlus is installed (where the consumer service account lives)."
15+
echo " ConsumerName is optional; if omitted, defaults to kubeplus-saas-consumer."
16+
echo " Use a custom ConsumerName when you have created consumers with provider-kubeconfig.py -c (e.g. team1, team2)."
17+
echo ""
18+
echo "EXAMPLES"
19+
echo " kubectl show consumer permissions default"
20+
echo " kubectl show consumer permissions default team1"
1421
exit 0
1522
}
1623

17-
if (( $# < 1 || $# >= 2)); then
24+
if (( $# < 1 || $# > 2)); then
1825
print_help
1926
fi
2027

2128
namespace="$1"
29+
consumer="${2:-kubeplus-saas-consumer}"
2230

2331
check_namespace $namespace
2432

25-
kubectl auth can-i --list --as=system:serviceaccount:$namespace:kubeplus-saas-consumer
33+
kubectl auth can-i --list --as=system:serviceaccount:$namespace:$consumer

0 commit comments

Comments
 (0)