Skip to content

Commit

Permalink
fix: make filed in helm values_override optional (#400)
Browse files Browse the repository at this point in the history
  • Loading branch information
pggb25 committed Jun 26, 2024
1 parent 772f17b commit 73ebfc3
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 13 deletions.
7 changes: 2 additions & 5 deletions docs/resources/helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,16 +184,13 @@ Required:
<a id="nestedatt--values_override"></a>
### Nested Schema for `values_override`

Required:
Optional:

- `file` (Attributes) Define the overrides by selecting a YAML file from a git repository (preferred) or by passing raw YAML files. (see [below for nested schema](#nestedatt--values_override--file))
- `set` (Map of String)
- `set_json` (Map of String)
- `set_string` (Map of String)

Optional:

- `file` (Attributes) Define the overrides by selecting a YAML file from a git repository (preferred) or by passing raw YAML files. (see [below for nested schema](#nestedatt--values_override--file))

<a id="nestedatt--values_override--file"></a>
### Nested Schema for `values_override.file`

Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ require (
github.com/hashicorp/terraform-plugin-log v0.9.0
github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0
github.com/pkg/errors v0.9.1
github.com/qovery/qovery-client-go v0.0.0-20240618145737-8fd8c6389642
github.com/qovery/qovery-client-go v0.0.0-20240625123858-611e64237ed4
github.com/schollz/progressbar/v3 v3.13.0
github.com/sethvargo/go-envconfig v0.9.0
github.com/stretchr/testify v1.9.0
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -428,6 +428,8 @@ github.com/qovery/qovery-client-go v0.0.0-20240611152527-5b39ca9f2845 h1:x7cDoxl
github.com/qovery/qovery-client-go v0.0.0-20240611152527-5b39ca9f2845/go.mod h1:9eHj5a4EtXGIyfbvVL3HVYW9k7Xmiwi00OqHrP4dc10=
github.com/qovery/qovery-client-go v0.0.0-20240618145737-8fd8c6389642 h1:zXFbs1KZLdqRA26C3pynPSzj75KAhCNF2BvpwlZL8l4=
github.com/qovery/qovery-client-go v0.0.0-20240618145737-8fd8c6389642/go.mod h1:9eHj5a4EtXGIyfbvVL3HVYW9k7Xmiwi00OqHrP4dc10=
github.com/qovery/qovery-client-go v0.0.0-20240625123858-611e64237ed4 h1:xJJo8LX+5QrM7tUFttGusd36O+0VRrHhasK2iNO0cj8=
github.com/qovery/qovery-client-go v0.0.0-20240625123858-611e64237ed4/go.mod h1:9eHj5a4EtXGIyfbvVL3HVYW9k7Xmiwi00OqHrP4dc10=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw=
github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
Expand Down
6 changes: 3 additions & 3 deletions qovery/resource_helm.go
Original file line number Diff line number Diff line change
Expand Up @@ -173,15 +173,15 @@ func (r helmResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *
Attributes: map[string]schema.Attribute{
"set": schema.MapAttribute{
ElementType: types.StringType,
Required: true,
Optional: true,
},
"set_string": schema.MapAttribute{
ElementType: types.StringType,
Required: true,
Optional: true,
},
"set_json": schema.MapAttribute{
ElementType: types.StringType,
Required: true,
Optional: true,
},
"file": schema.SingleNestedAttribute{
Description: "Define the overrides by selecting a YAML file from a git repository (preferred) or by passing raw YAML files.",
Expand Down
21 changes: 17 additions & 4 deletions qovery/resource_helm_model.go
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,11 @@ func (valuesOverride HelmValuesOverride) toUpsertRequest() helm.ValuesOverride {
}
}

func convertSetToHelmValuesOverrideSet(ctx context.Context, set [][]string) types.Map {
func convertSetToHelmValuesOverrideSet(ctx context.Context, set [][]string, state *types.Map) types.Map {
if state != nil && len(set) == 0 && (state.IsUnknown() || state.IsNull()) {
return *state
}

elements := make(map[string]string, len(set))

for _, kv := range set {
Expand All @@ -324,9 +328,18 @@ func convertSetToHelmValuesOverrideSet(ctx context.Context, set [][]string) type
}

func HelmValuesOverrideFromDomainHelmValuesOverride(ctx context.Context, h helm.ValuesOverride, state *HelmValuesOverride) HelmValuesOverride {
helmValuesOverrideSet := convertSetToHelmValuesOverrideSet(ctx, h.Set)
helmValuesOverrideSetString := convertSetToHelmValuesOverrideSet(ctx, h.SetString)
helmValuesOverrideSetJson := convertSetToHelmValuesOverrideSet(ctx, h.SetJson)
var helmValuesOverrideSet types.Map
var helmValuesOverrideSetString types.Map
var helmValuesOverrideSetJson types.Map
if state == nil {
helmValuesOverrideSet = convertSetToHelmValuesOverrideSet(ctx, h.Set, nil)
helmValuesOverrideSetString = convertSetToHelmValuesOverrideSet(ctx, h.SetString, nil)
helmValuesOverrideSetJson = convertSetToHelmValuesOverrideSet(ctx, h.SetJson, nil)
} else {
helmValuesOverrideSet = convertSetToHelmValuesOverrideSet(ctx, h.Set, &state.HelmValuesOverrideSetString)
helmValuesOverrideSetString = convertSetToHelmValuesOverrideSet(ctx, h.SetString, &state.HelmValuesOverrideSetString)
helmValuesOverrideSetJson = convertSetToHelmValuesOverrideSet(ctx, h.SetJson, &state.HelmValuesOverrideSetJson)
}

var gitRepository *HelmValuesGitRepository
if h.File.GitRepository != nil {
Expand Down

0 comments on commit 73ebfc3

Please sign in to comment.