Path: blob/main/install/installer/pkg/components/usage/objects.go
2501 views
// Copyright (c) 2022 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 usage56import (7"github.com/gitpod-io/gitpod/common-go/log"8"github.com/gitpod-io/gitpod/installer/pkg/common"9"github.com/gitpod-io/gitpod/installer/pkg/config/v1/experimental"10"k8s.io/apimachinery/pkg/runtime"11)1213func Objects(ctx *common.RenderContext) ([]runtime.Object, error) {14cfg := getExperimentalUsageConfig(ctx)15if cfg == nil {16return nil, nil17}1819log.Debug("Detected experimental.WebApp.Usage configuration", cfg)20return common.CompositeRenderFunc(21deployment,22rolebinding,23configmap,24common.DefaultServiceAccount(Component),25service,26networkpolicy,27)(ctx)28}2930func getExperimentalUsageConfig(ctx *common.RenderContext) *experimental.UsageConfig {31experimentalWebAppCfg := common.ExperimentalWebappConfig(ctx)32if experimentalWebAppCfg == nil || experimentalWebAppCfg.Usage == nil {3334return nil35}3637return experimentalWebAppCfg.Usage38}3940func getExperimentalWorkspaceClassConfig(ctx *common.RenderContext) []experimental.WebAppWorkspaceClass {41experimentalWebAppCfg := common.ExperimentalWebappConfig(ctx)42if experimentalWebAppCfg == nil {43return nil44}4546return experimentalWebAppCfg.WorkspaceClasses47}484950