Path: blob/main/install/installer/pkg/components/database/init/configmap.go
2504 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 init56import (7"embed"8"fmt"9"io/fs"1011"github.com/gitpod-io/gitpod/installer/pkg/common"12corev1 "k8s.io/api/core/v1"13metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"14"k8s.io/apimachinery/pkg/runtime"15)1617//go:embed files/*.sql18var initScriptFiles embed.FS1920func configmap(ctx *common.RenderContext) ([]runtime.Object, error) {21if disableMigration := common.IsDatabaseMigrationDisabled(ctx); disableMigration {22return nil, nil23}2425initScripts, err := fs.ReadDir(initScriptFiles, initScriptDir)26if err != nil {27return nil, err28}2930initScriptData := ""3132for _, script := range initScripts {33file, err := fs.ReadFile(initScriptFiles, fmt.Sprintf("%s/%s", initScriptDir, script.Name()))3435if err != nil {36return nil, err37}3839fileStr := string(file)4041// Add the file name for debugging purposes42initScriptData += fmt.Sprintf("-- %s\n\n%s", script.Name(), fileStr)43}4445return []runtime.Object{46&corev1.ConfigMap{47TypeMeta: common.TypeMetaConfigmap,48ObjectMeta: metav1.ObjectMeta{49Name: sqlInitScripts,50Namespace: ctx.Namespace,51Labels: common.CustomizeLabel(ctx, Component, common.TypeMetaConfigmap),52Annotations: common.CustomizeAnnotation(ctx, Component, common.TypeMetaConfigmap),53},54Data: map[string]string{55"init.sql": initScriptData,56},57},58}, nil59}606162