mirror of https://github.com/rancher/dartboard.git
Merge pull request #36 from rancher/arbitrary-values
This commit is contained in:
commit
e6156ad134
|
|
@ -114,7 +114,7 @@ func Deploy(cli *cli.Context) error {
|
||||||
return GetAccess(cli)
|
return GetAccess(cli)
|
||||||
}
|
}
|
||||||
|
|
||||||
func chartInstall(kubeConf string, chart chart, vals map[string]any) error {
|
func chartInstall(kubeConf string, chart chart, vals map[string]any, extraArgs ...string) error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
name := chart.name
|
name := chart.name
|
||||||
|
|
@ -126,7 +126,7 @@ func chartInstall(kubeConf string, chart chart, vals map[string]any) error {
|
||||||
|
|
||||||
log.Printf("Installing chart %q (%s)\n", namespace+"/"+name, path)
|
log.Printf("Installing chart %q (%s)\n", namespace+"/"+name, path)
|
||||||
|
|
||||||
if err = helm.Install(kubeConf, path, name, namespace, vals); err != nil {
|
if err = helm.Install(kubeConf, path, name, namespace, vals, extraArgs...); err != nil {
|
||||||
return fmt.Errorf("chart %s: %w", name, err)
|
return fmt.Errorf("chart %s: %w", name, err)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
@ -190,7 +190,29 @@ func chartInstallRancher(r *dart.Dart, rancherImageTag string, cluster *tofu.Clu
|
||||||
|
|
||||||
chartVals := getRancherValsJSON(r.ChartVariables.RancherImageOverride, rancherImageTag, r.ChartVariables.AdminPassword, rancherClusterName, rancherClusterURL, r.ChartVariables.RancherReplicas)
|
chartVals := getRancherValsJSON(r.ChartVariables.RancherImageOverride, rancherImageTag, r.ChartVariables.AdminPassword, rancherClusterName, rancherClusterURL, r.ChartVariables.RancherReplicas)
|
||||||
|
|
||||||
return chartInstall(cluster.Kubeconfig, chartRancher, chartVals)
|
var extraArgs []string
|
||||||
|
if r.ChartVariables.RancherValues != "" {
|
||||||
|
p, err := writeValuesFile(r.ChartVariables.RancherValues)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("writing extra values file: %w", err)
|
||||||
|
}
|
||||||
|
defer os.Remove(p)
|
||||||
|
|
||||||
|
extraArgs = append(extraArgs, "-f", p)
|
||||||
|
}
|
||||||
|
|
||||||
|
return chartInstall(cluster.Kubeconfig, chartRancher, chartVals, extraArgs...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func writeValuesFile(content string) (string, error) {
|
||||||
|
p, err := os.CreateTemp("", "values-*.yaml")
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
if _, err := io.WriteString(p, content); err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
return p.Name(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func chartInstallRancherIngress(cluster *tofu.Cluster) error {
|
func chartInstallRancherIngress(cluster *tofu.Cluster) error {
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,10 @@ chart_variables:
|
||||||
# rancher_image_override: rancher/rancher
|
# rancher_image_override: rancher/rancher
|
||||||
# rancher_image_tag_override: v2.8.6-debug-1
|
# rancher_image_tag_override: v2.8.6-debug-1
|
||||||
|
|
||||||
|
# Set arbitrary helm values (in yaml format) for installing Rancher
|
||||||
|
# rancher_values: |
|
||||||
|
# features: "my-feature-flag=true"
|
||||||
|
|
||||||
test_variables:
|
test_variables:
|
||||||
test_config_maps: 2000
|
test_config_maps: 2000
|
||||||
test_secrets: 2000
|
test_secrets: 2000
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,10 @@ chart_variables:
|
||||||
# rancher_image_override: rancher/rancher
|
# rancher_image_override: rancher/rancher
|
||||||
# rancher_image_tag_override: v2.8.6-debug-1
|
# rancher_image_tag_override: v2.8.6-debug-1
|
||||||
|
|
||||||
|
# Set arbitrary helm values (in yaml format) for installing Rancher
|
||||||
|
# rancher_values: |
|
||||||
|
# features: "my-feature-flag=true"
|
||||||
|
|
||||||
test_variables:
|
test_variables:
|
||||||
test_config_maps: 2000
|
test_config_maps: 2000
|
||||||
test_secrets: 2000
|
test_secrets: 2000
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,11 @@ chart_variables:
|
||||||
# rancher_image_override: rancher/rancher
|
# rancher_image_override: rancher/rancher
|
||||||
# rancher_image_tag_override: v2.8.6-debug-1
|
# rancher_image_tag_override: v2.8.6-debug-1
|
||||||
|
|
||||||
|
# Set arbitrary helm values (in yaml format) for installing Rancher
|
||||||
|
# rancher_values: |
|
||||||
|
# features: "my-feature-flag=true"
|
||||||
|
|
||||||
|
|
||||||
test_variables:
|
test_variables:
|
||||||
test_config_maps: 2000
|
test_config_maps: 2000
|
||||||
test_secrets: 2000
|
test_secrets: 2000
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ type ChartVariables struct {
|
||||||
RancherMonitoringVersion string `yaml:"rancher_monitoring_version"`
|
RancherMonitoringVersion string `yaml:"rancher_monitoring_version"`
|
||||||
CertManagerVersion string `yaml:"cert_manager_version"`
|
CertManagerVersion string `yaml:"cert_manager_version"`
|
||||||
TesterGrafanaVersion string `yaml:"tester_grafana_version"`
|
TesterGrafanaVersion string `yaml:"tester_grafana_version"`
|
||||||
|
RancherValues string `yaml:"rancher_values"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type TestVariables struct {
|
type TestVariables struct {
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ import (
|
||||||
"github.com/rancher/dartboard/internal/vendored"
|
"github.com/rancher/dartboard/internal/vendored"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Install(kubecfg, chartLocation, releaseName, namespace string, vals map[string]any) error {
|
func Install(kubecfg, chartLocation, releaseName, namespace string, vals map[string]any, extraArgs ...string) error {
|
||||||
args := []string{
|
args := []string{
|
||||||
"--kubeconfig=" + kubecfg,
|
"--kubeconfig=" + kubecfg,
|
||||||
"upgrade",
|
"upgrade",
|
||||||
|
|
@ -46,6 +46,7 @@ func Install(kubecfg, chartLocation, releaseName, namespace string, vals map[str
|
||||||
}
|
}
|
||||||
args = append(args, "--set-json="+valueString)
|
args = append(args, "--set-json="+valueString)
|
||||||
}
|
}
|
||||||
|
args = append(args, extraArgs...)
|
||||||
|
|
||||||
cmd := vendored.Command("helm", args...)
|
cmd := vendored.Command("helm", args...)
|
||||||
var errStream strings.Builder
|
var errStream strings.Builder
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue