Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/install/installer/pkg/components/usage/objects.go
2501 views
1
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
2
/// Licensed under the GNU Affero General Public License (AGPL).
3
// See License.AGPL.txt in the project root for license information.
4
5
package usage
6
7
import (
8
"github.com/gitpod-io/gitpod/common-go/log"
9
"github.com/gitpod-io/gitpod/installer/pkg/common"
10
"github.com/gitpod-io/gitpod/installer/pkg/config/v1/experimental"
11
"k8s.io/apimachinery/pkg/runtime"
12
)
13
14
func Objects(ctx *common.RenderContext) ([]runtime.Object, error) {
15
cfg := getExperimentalUsageConfig(ctx)
16
if cfg == nil {
17
return nil, nil
18
}
19
20
log.Debug("Detected experimental.WebApp.Usage configuration", cfg)
21
return common.CompositeRenderFunc(
22
deployment,
23
rolebinding,
24
configmap,
25
common.DefaultServiceAccount(Component),
26
service,
27
networkpolicy,
28
)(ctx)
29
}
30
31
func getExperimentalUsageConfig(ctx *common.RenderContext) *experimental.UsageConfig {
32
experimentalWebAppCfg := common.ExperimentalWebappConfig(ctx)
33
if experimentalWebAppCfg == nil || experimentalWebAppCfg.Usage == nil {
34
35
return nil
36
}
37
38
return experimentalWebAppCfg.Usage
39
}
40
41
func getExperimentalWorkspaceClassConfig(ctx *common.RenderContext) []experimental.WebAppWorkspaceClass {
42
experimentalWebAppCfg := common.ExperimentalWebappConfig(ctx)
43
if experimentalWebAppCfg == nil {
44
return nil
45
}
46
47
return experimentalWebAppCfg.WorkspaceClasses
48
}
49
50