Path: blob/main/install/installer/pkg/components/image-builder-mk3/networkpolicy.go
2506 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 image_builder_mk356import (7"github.com/gitpod-io/gitpod/installer/pkg/common"8"github.com/gitpod-io/gitpod/installer/pkg/components/server"9"github.com/gitpod-io/gitpod/installer/pkg/config/v1"1011networkingv1 "k8s.io/api/networking/v1"12metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"13"k8s.io/apimachinery/pkg/runtime"14)1516func networkpolicy(ctx *common.RenderContext) ([]runtime.Object, error) {17labels := common.DefaultLabels(Component)18var ingressRules []networkingv1.NetworkPolicyPeer19// Allow all ingress in workspace clusters20// until https://github.com/gitpod-io/ops/issues/6905 is fixed.21if ctx.Config.Kind != config.InstallationWorkspace {22ingressRules = []networkingv1.NetworkPolicyPeer{23{24PodSelector: &metav1.LabelSelector{25MatchLabels: map[string]string{26"component": server.Component,27},28},29},30{31PodSelector: &metav1.LabelSelector{32MatchLabels: map[string]string{33"component": common.WSManagerMk2Component,34},35},36},37}38}3940return []runtime.Object{41&networkingv1.NetworkPolicy{42TypeMeta: common.TypeMetaNetworkPolicy,43ObjectMeta: metav1.ObjectMeta{44Name: Component,45Namespace: ctx.Namespace,46Labels: labels,47},48Spec: networkingv1.NetworkPolicySpec{49PodSelector: metav1.LabelSelector{MatchLabels: labels},50PolicyTypes: []networkingv1.PolicyType{"Ingress"},51Ingress: []networkingv1.NetworkPolicyIngressRule{52{53From: ingressRules,54},55},56},57},58}, nil59}606162