Path: blob/main/install/installer/pkg/config/v1/load.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 config56import (7"io/ioutil"89"k8s.io/utils/pointer"10"sigs.k8s.io/yaml"11)1213func Load(fn string) (*Config, error) {14fc, err := ioutil.ReadFile(fn)15if err != nil {16return nil, err17}1819var cfg Config20err = yaml.UnmarshalStrict(fc, &cfg)21if err != nil {22return nil, err23}24return &cfg, nil25}2627// LoadMock produces a valid but non-sensical configuration useful for testing28func LoadMock() *Config {29return &Config{30Kind: InstallationFull,31Domain: "gitpod-testing.com",32Metadata: Metadata{33Region: "eu-west1",34},35Repository: "eu.gcr.io/gitpod-core-dev/build",36Observability: Observability{37LogLevel: "debug",38},39Database: Database{40InCluster: pointer.Bool(true),41},42ObjectStorage: ObjectStorage{43InCluster: pointer.Bool(true),44},45ContainerRegistry: ContainerRegistry{46InCluster: pointer.Bool(true),47},48Certificate: ObjectRef{49Kind: ObjectRefSecret,50Name: "https-certs",51},52OpenVSX: OpenVSX{53URL: "https://open-vsx.org",54},55Workspace: Workspace{56Runtime: WorkspaceRuntime{57FSShiftMethod: FSShiftShiftFS,58ContainerDRuntimeDir: "/run/containerd/io.containerd.runtime.v2.task/k8s.io",59},60},61}62}636465