DEVOPS-2496 add max history setting (#12)
* add history_max setting * update docs * use suite for env test
This commit is contained in:
committed by
Colin Hoglund
parent
a566ea0cf7
commit
8d450bbf7d
8
internal/env/config.go
vendored
8
internal/env/config.go
vendored
@@ -10,6 +10,10 @@ import (
|
||||
"github.com/kelseyhightower/envconfig"
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultHistoryMax = 10
|
||||
)
|
||||
|
||||
var (
|
||||
justNumbers = regexp.MustCompile(`^\d+$`)
|
||||
deprecatedVars = []string{"PURGE", "RECREATE_PODS", "TILLER_NS", "UPGRADE", "CANARY_IMAGE", "CLIENT_ONLY", "STABLE_REPO_URL"}
|
||||
@@ -45,6 +49,7 @@ type Config struct {
|
||||
Wait bool `envconfig:"wait_for_upgrade"` // Pass --wait to applicable helm commands
|
||||
ReuseValues bool `split_words:"true"` // Pass --reuse-values to `helm upgrade`
|
||||
KeepHistory bool `split_words:"true"` // Pass --keep-history to `helm uninstall`
|
||||
HistoryMax int `split_words:"true"` // Pass --history-max option
|
||||
Timeout string `` // Argument to pass to --timeout in applicable helm commands
|
||||
Chart string `` // Chart argument to use in applicable helm commands
|
||||
Release string `` // Release argument to use in applicable helm commands
|
||||
@@ -79,6 +84,9 @@ func NewConfig(stdout, stderr io.Writer) (*Config, error) {
|
||||
KubeToken: aliases.KubeToken,
|
||||
Certificate: aliases.Certificate,
|
||||
|
||||
// set to same default as helm CLI
|
||||
HistoryMax: DefaultHistoryMax,
|
||||
|
||||
Stdout: stdout,
|
||||
Stderr: stderr,
|
||||
}
|
||||
|
||||
9
internal/env/config_test.go
vendored
9
internal/env/config_test.go
vendored
@@ -217,6 +217,15 @@ func (suite *ConfigTestSuite) TestValuesSecretsWithDebugLogging() {
|
||||
suite.Contains(stderr.String(), `$SECRET_WATER not present in environment, replaced with ""`)
|
||||
}
|
||||
|
||||
func (suite *ConfigTestSuite) TestHistoryMax() {
|
||||
conf := NewTestConfig(suite.T())
|
||||
suite.Assert().Equal(10, conf.HistoryMax)
|
||||
|
||||
suite.setenv("PLUGIN_HISTORY_MAX", "0")
|
||||
conf = NewTestConfig(suite.T())
|
||||
suite.Assert().Equal(0, conf.HistoryMax)
|
||||
}
|
||||
|
||||
func (suite *ConfigTestSuite) setenv(key, val string) {
|
||||
orig, ok := os.LookupEnv(key)
|
||||
if ok {
|
||||
|
||||
15
internal/env/testing.go
vendored
Normal file
15
internal/env/testing.go
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
package env
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func NewTestConfig(t *testing.T) *Config {
|
||||
conf, err := NewConfig(os.Stdout, os.Stderr)
|
||||
require.NoError(t, err)
|
||||
|
||||
return conf
|
||||
}
|
||||
Reference in New Issue
Block a user