Skip to content

Commit

Permalink
Allow creation of events (#19005)
Browse files Browse the repository at this point in the history
  • Loading branch information
Furisto authored Nov 3, 2023
1 parent 4316088 commit c671da1
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 0 deletions.
2 changes: 2 additions & 0 deletions install/installer/pkg/components/workspace/objects.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@ import "github.com/gitpod-io/gitpod/installer/pkg/common"
var Objects = common.CompositeRenderFunc(
networkpolicy,
common.DefaultServiceAccount(Component),
role,
rolebinding,
)
37 changes: 37 additions & 0 deletions install/installer/pkg/components/workspace/role.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// Copyright (c) 2021 Gitpod GmbH. All rights reserved.
// Licensed under the GNU Affero General Public License (AGPL).
// See License.AGPL.txt in the project root for license information.

package workspace

import (
"github.com/gitpod-io/gitpod/installer/pkg/common"
rbacv1 "k8s.io/api/rbac/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
)

func role(ctx *common.RenderContext) ([]runtime.Object, error) {
labels := common.DefaultLabels(Component)

return []runtime.Object{
&rbacv1.Role{
TypeMeta: common.TypeMetaRole,
ObjectMeta: metav1.ObjectMeta{
Name: Component,
Namespace: ctx.Namespace,
Labels: labels,
},
Rules: []rbacv1.PolicyRule{
{
APIGroups: []string{""},
Resources: []string{"events"},
Verbs: []string{
"create",
"patch",
},
},
},
},
}, nil
}
40 changes: 40 additions & 0 deletions install/installer/pkg/components/workspace/rolebinding.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Copyright (c) 2021 Gitpod GmbH. All rights reserved.
// Licensed under the GNU Affero General Public License (AGPL).
// See License.AGPL.txt in the project root for license information.

package workspace

import (
"github.com/gitpod-io/gitpod/installer/pkg/common"
rbacv1 "k8s.io/api/rbac/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
)

func rolebinding(ctx *common.RenderContext) ([]runtime.Object, error) {
labels := common.DefaultLabels(Component)

return []runtime.Object{

&rbacv1.RoleBinding{
TypeMeta: common.TypeMetaRoleBinding,
ObjectMeta: metav1.ObjectMeta{
Name: Component,
Namespace: ctx.Namespace,
Labels: labels,
},
RoleRef: rbacv1.RoleRef{
APIGroup: "rbac.authorization.k8s.io",
Kind: "Role",
Name: Component,
},
Subjects: []rbacv1.Subject{
{
Kind: "ServiceAccount",
Name: Component,
Namespace: ctx.Namespace,
},
},
},
}, nil
}

0 comments on commit c671da1

Please sign in to comment.