@@ -20,7 +20,7 @@ type Module struct {
2020 helmOpts map [string ]interface {}
2121 sets map [string ]interface {}
2222 kubeconfig string
23- valuesFilesList [][] byte
23+ valuesFilesList []string
2424 valuesYAML []map [string ]interface {}
2525}
2626
@@ -58,16 +58,6 @@ func (m *Module) genMainCodeBlock() ([]byte, error) {
5858 setBlock .Body ().SetAttributeValue ("name" , cty .StringVal (key ))
5959 setBlock .Body ().SetAttributeValue ("value" , ctyVal )
6060 }
61- depMarkers , ok := m .ProjectPtr ().Markers [common .RemoteStateMarkerCatName ]
62- if ok {
63- for hash , marker := range depMarkers .(map [string ]* project.Dependency ) {
64- if marker .Module == nil {
65- continue
66- }
67- remoteStateRef := fmt .Sprintf ("data.terraform_remote_state.%s-%s.outputs.%s" , marker .Module .InfraName (), marker .Module .Name (), marker .Output )
68- hcltools .ReplaceStingMarkerInBody (helmBody , hash , remoteStateRef )
69- }
70- }
7161 if len (m .valuesFilesList ) > 0 {
7262 ctyValuesList := []cty.Value {}
7363 for _ , v := range m .valuesFilesList {
@@ -76,6 +66,15 @@ func (m *Module) genMainCodeBlock() ([]byte, error) {
7666 helmBody .SetAttributeValue ("values" , cty .ListVal (ctyValuesList ))
7767 //hcltools.ReplaceStingMarkerInBody(helmBody, marker, "file(\"./values.yaml\")")
7868 }
69+ for hash , m := range m .Markers () {
70+ marker , ok := m .(* project.Dependency )
71+ // log.Warnf("kubernetes marker HELM: %v", marker)
72+ refStr := common .DependencyToRemoteStateRef (marker )
73+ if ! ok {
74+ return nil , fmt .Errorf ("generate main.tf: internal error: incorrect remote state type" )
75+ }
76+ hcltools .ReplaceStingMarkerInBody (helmBody , hash , refStr )
77+ }
7978 return f .Bytes (), nil
8079}
8180
@@ -116,8 +115,8 @@ func (m *Module) ReadConfig(spec map[string]interface{}, infra *project.Infrastr
116115 if ! check {
117116 return fmt .Errorf ("read module config: 'values' have unknown type: %v" , err )
118117 }
119- m .valuesFilesList = [][] byte {}
120- log .Warnf ("%v" , ok )
118+ m .valuesFilesList = []string {}
119+ // log.Warnf("%v", ok)
121120
122121 for _ , valuesCat := range valuesCatList {
123122 valuesCatMap , check := valuesCat .(map [string ]interface {})
@@ -154,7 +153,7 @@ func (m *Module) ReadConfig(spec map[string]interface{}, infra *project.Infrastr
154153 return fmt .Errorf ("read module config: unmarshal values file: " , err .Error ())
155154 }
156155 m .valuesYAML = append (m .valuesYAML , vYAML )
157- m .valuesFilesList = append (m .valuesFilesList , values )
156+ m .valuesFilesList = append (m .valuesFilesList , string ( values ) )
158157 }
159158 }
160159 pv , ok := spec ["provider_version" ].(string )
@@ -174,6 +173,14 @@ func (m *Module) ReplaceMarkers() error {
174173 if err != nil {
175174 return err
176175 }
176+ err = project .ScanMarkers (m .valuesFilesList , m .RemoteStatesScanner , m )
177+ if err != nil {
178+ return err
179+ }
180+ err = project .ScanMarkers (m .valuesFilesList , m .YamlBlockMarkerScanner , m )
181+ if err != nil {
182+ return err
183+ }
177184 err = project .ScanMarkers (m .helmOpts , m .RemoteStatesScanner , m )
178185 if err != nil {
179186 return err
0 commit comments