Skip to content

Commit

Permalink
fix: sort environment variables
Browse files Browse the repository at this point in the history
This makes for usable `terraform plan` change reports
  • Loading branch information
gnosek committed Dec 19, 2023
1 parent b288e49 commit f8d344f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
12 changes: 10 additions & 2 deletions pkg/hocon/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package hocon

import (
"fmt"
"sort"

"github.com/go-akka/configuration"

Expand Down Expand Up @@ -45,10 +46,17 @@ func extractBuild(config *configuration.Config) (*kilt.Build, error) {
sidecarEnv := mount.GetKey("environment_variables")
if sidecarEnv != nil && sidecarEnv.IsObject() {
obj := sidecarEnv.GetObject()
for k, v := range obj.Items() {
items := obj.Items()
keys := make([]string, 0, len(items))
for k := range items {
keys = append(keys, k)
}
sort.Strings(keys)

for _, k := range keys {
keyValue := make(map[string]interface{})
keyValue["Name"] = k
keyValue["Value"] = v.GetString()
keyValue["Value"] = items[k].GetString()

resource.EnvironmentVariables = append(resource.EnvironmentVariables, keyValue)
}
Expand Down
12 changes: 10 additions & 2 deletions runtimes/cloudformation/cfnpatcher/patcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package cfnpatcher
import (
"context"
"fmt"
"sort"

"github.com/sysdiglabs/agent-kilt/pkg/kilt"
"github.com/sysdiglabs/agent-kilt/pkg/kiltapi"
Expand Down Expand Up @@ -203,11 +204,18 @@ func applyContainerDefinitionPatch(ctx context.Context, container *gabs.Containe
}
}

for k, v := range patch.EnvironmentVariables {
keyValue := make(map[string]interface{})
keys := make([]string, 0, len(patch.EnvironmentVariables))
for k := range patch.EnvironmentVariables {
keys = append(keys, k)
}
sort.Strings(keys)

for _, k := range keys {
keyValue := make(map[string]interface{})
keyValue["Name"] = k

v := patch.EnvironmentVariables[k]

if _, ok := cfnInfo.EnvironmentVariables[k]; !ok && configuration.ParameterizeEnvars {
keyValue["Value"] = map[string]string{"Ref": getParameterName(k)}
} else {
Expand Down

0 comments on commit f8d344f

Please sign in to comment.