Fixes #383. Deprecated `context` directive in favor of helmDefaults.kubeContext (#401)

This commit is contained in:
Anatoly Rugalev 2018-11-22 06:39:03 +03:00 committed by KUOKA Yusuke
parent b3e27db8b3
commit b41b44c313
4 changed files with 13 additions and 9 deletions

View File

@ -970,11 +970,11 @@ func (a *app) loadDesiredStateFromYaml(yaml []byte, file string, namespace strin
}
if a.kubeContext != "" {
if st.Context != "" {
log.Printf("err: Cannot use option --kube-context and set attribute context.")
if st.HelmDefaults.KubeContext != "" {
log.Printf("err: Cannot use option --kube-context and set attribute helmDefaults.kubeContext.")
os.Exit(1)
}
st.Context = a.kubeContext
st.HelmDefaults.KubeContext = a.kubeContext
}
if namespace != "" {
if st.Namespace != "" {

View File

@ -101,6 +101,10 @@ func (c *creator) CreateFromYaml(content []byte, file string, env string) (*Helm
state.DeprecatedReleases = []ReleaseSpec{}
}
if state.DeprecatedContext != "" && state.HelmDefaults.KubeContext == "" {
state.HelmDefaults.KubeContext = state.DeprecatedContext
}
state.logger = c.logger
e, err := state.loadEnv(env, c.readFile)

View File

@ -32,7 +32,7 @@ type HelmState struct {
FilePath string
HelmDefaults HelmSpec `yaml:"helmDefaults"`
Helmfiles []string `yaml:"helmfiles"`
Context string `yaml:"context"`
DeprecatedContext string `yaml:"context"`
DeprecatedReleases []ReleaseSpec `yaml:"charts"`
Namespace string `yaml:"namespace"`
Repositories []RepositorySpec `yaml:"repositories"`

View File

@ -116,7 +116,7 @@ func TestHelmState_applyDefaultsTo(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
state := &HelmState{
basePath: tt.fields.BaseChartPath,
Context: tt.fields.Context,
DeprecatedContext: tt.fields.Context,
DeprecatedReleases: tt.fields.DeprecatedReleases,
Namespace: tt.fields.Namespace,
Repositories: tt.fields.Repositories,
@ -380,10 +380,10 @@ func TestHelmState_flagsForUpgrade(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
state := &HelmState{
basePath: "./",
Context: "default",
Releases: []ReleaseSpec{*tt.release},
HelmDefaults: tt.defaults,
basePath: "./",
DeprecatedContext: "default",
Releases: []ReleaseSpec{*tt.release},
HelmDefaults: tt.defaults,
}
helm := helmexec.New(logger, "default")
args, err := state.flagsForUpgrade(helm, tt.release)