Path: blob/main/install/installer/pkg/components/redis/rolebinding.go
2501 views
// Copyright (c) 2023 Gitpod GmbH. All rights reserved.1// Licensed under the GNU Affero General Public License (AGPL).2// See License.AGPL.txt in the project root for license information.34package redis56import (7"fmt"8"github.com/gitpod-io/gitpod/installer/pkg/common"9rbacv1 "k8s.io/api/rbac/v1"10metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"11"k8s.io/apimachinery/pkg/runtime"12)1314func rolebinding(ctx *common.RenderContext) ([]runtime.Object, error) {15labels := common.DefaultLabels(Component)1617return []runtime.Object{18&rbacv1.ClusterRoleBinding{19TypeMeta: common.TypeMetaClusterRoleBinding,20ObjectMeta: metav1.ObjectMeta{21Name: fmt.Sprintf("%s-%s-rb-kube-rbac-proxy", ctx.Namespace, Component),22Labels: labels,23},24RoleRef: rbacv1.RoleRef{25Kind: "ClusterRole",26Name: fmt.Sprintf("%s-kube-rbac-proxy", ctx.Namespace),27APIGroup: "rbac.authorization.k8s.io",28},29Subjects: []rbacv1.Subject{{30Kind: "ServiceAccount",31Name: Component,32Namespace: ctx.Namespace,33}},34},35&rbacv1.RoleBinding{36TypeMeta: common.TypeMetaRoleBinding,37ObjectMeta: metav1.ObjectMeta{38Name: Component,39Namespace: ctx.Namespace,40Labels: common.DefaultLabels(Component),41},42RoleRef: rbacv1.RoleRef{43Kind: "ClusterRole",44Name: fmt.Sprintf("%s-ns-psp:restricted-root-user", ctx.Namespace),45APIGroup: "rbac.authorization.k8s.io",46},47Subjects: []rbacv1.Subject{{48Kind: "ServiceAccount",49Name: Component,50}},51},52}, nil53}545556