Simon Emms f526413d72 [installer]: specify the desired registry domain in image.registry
The Bitnami charts have changed in the past year and they now require
the "registry" to be populated. Upon reconsideration, specifying the
registry is probably the better way of doing it.
2023-01-05 12:13:45 +01:00

58 lines
2.1 KiB
Go

// Copyright (c) 2021 Gitpod GmbH. All rights reserved.
// Licensed under the GNU Affero General Public License (AGPL).
// See License.AGPL.txt in the project root for license information.
package incluster
import (
"github.com/gitpod-io/gitpod/installer/pkg/cluster"
"github.com/gitpod-io/gitpod/installer/pkg/common"
"github.com/gitpod-io/gitpod/installer/pkg/helm"
"github.com/gitpod-io/gitpod/installer/third_party/charts"
"helm.sh/helm/v3/pkg/cli/values"
)
var Helm = common.CompositeHelmFunc(
helm.ImportTemplate(charts.MySQL(), helm.TemplateConfig{}, func(cfg *common.RenderContext) (*common.HelmConfig, error) {
affinity, err := helm.AffinityYaml(cluster.AffinityLabelMeta)
if err != nil {
return nil, err
}
primaryAffinityTemplate, err := helm.KeyFileValue("mysql.primary.affinity", affinity)
if err != nil {
return nil, err
}
imageRegistry := common.ThirdPartyContainerRepo(cfg.Config.Repository, common.DockerRegistryURL)
return &common.HelmConfig{
Enabled: true,
Values: &values.Options{
Values: []string{
helm.KeyValue("mysql.auth.existingSecret", SQLPasswordName),
helm.KeyValue("mysql.auth.database", Database),
helm.KeyValue("mysql.auth.username", Username),
helm.KeyValue("mysql.initdbScriptsConfigMap", SQLInitScripts),
helm.KeyValue("mysql.serviceAccount.name", Component),
helm.ImagePullSecrets("mysql.image.pullSecrets", cfg),
helm.KeyValue("mysql.image.registry", imageRegistry),
helm.ImagePullSecrets("mysql.metrics.image.pullSecrets", cfg),
helm.KeyValue("mysql.metrics.image.registry", imageRegistry),
helm.ImagePullSecrets("mysql.volumePermissions.image.pullSecrets", cfg),
helm.KeyValue("mysql.volumePermissions.image.pullPolicy", "IfNotPresent"),
helm.KeyValue("mysql.volumePermissions.image.registry", imageRegistry),
// improve start time
helm.KeyValue("mysql.primary.startupProbe.enabled", "false"),
helm.KeyValue("mysql.primary.livenessProbe.initialDelaySeconds", "30"),
},
// This is too complex to be sent as a string
FileValues: []string{
primaryAffinityTemplate,
},
},
}, nil
}),
)