Path: blob/main/install/installer/pkg/components/openvsx-proxy/rolebinding.go
2501 views
// Copyright (c) 2021 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 openvsx_proxy56import (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)16return []runtime.Object{17&rbacv1.RoleBinding{18TypeMeta: common.TypeMetaRoleBinding,19ObjectMeta: metav1.ObjectMeta{20Name: Component,21Namespace: ctx.Namespace,22Labels: labels,23},24RoleRef: rbacv1.RoleRef{25Kind: "ClusterRole",26Name: fmt.Sprintf("%s-ns-psp:restricted-root-user", ctx.Namespace),27APIGroup: "rbac.authorization.k8s.io",28},29Subjects: []rbacv1.Subject{{30Kind: "ServiceAccount",31Name: Component,32}},33},34&rbacv1.ClusterRoleBinding{35TypeMeta: common.TypeMetaClusterRoleBinding,36ObjectMeta: metav1.ObjectMeta{37Name: fmt.Sprintf("%s-%s-kube-rbac-proxy", ctx.Namespace, Component),38Labels: labels,39},40RoleRef: rbacv1.RoleRef{41Kind: "ClusterRole",42Name: fmt.Sprintf("%s-kube-rbac-proxy", ctx.Namespace),43APIGroup: "rbac.authorization.k8s.io",44},45Subjects: []rbacv1.Subject{{46Kind: "ServiceAccount",47Name: Component,48Namespace: ctx.Namespace,49}},50},51}, nil52}535455