MCPcopy
hub / github.com/carvel-dev/ytt / file

Method file

pkg/cmd/template/data_values_flags.go:143–190  ·  view source on GitHub ↗
(fullPath string, strict bool)

Source from the content-addressed store, hash-verified

141}
142
143func (s *DataValuesFlags) file(fullPath string, strict bool) ([]*datavalues.Envelope, error) {
144 libRef, path, err := s.libraryRefAndRemainder(fullPath)
145 if err != nil {
146 return nil, err
147 }
148
149 dvFiles, err := s.asFiles(path)
150 if err != nil {
151 return nil, fmt.Errorf("Find files '%s': %s", path, err)
152 }
153
154 var result []*datavalues.Envelope
155 for _, dvFile := range dvFiles {
156 // Users may want to store other files (docs, etc.) within this directory; ignore those.
157 if dvFile.IsImplied() && !(dvFile.Type() == files.TypeYAML) {
158 continue
159 }
160 contents, err := dvFile.Bytes()
161 if err != nil {
162 return nil, fmt.Errorf("Reading file '%s': %s", dvFile.RelativePath(), err)
163 }
164
165 docSetOpts := yamlmeta.DocSetOpts{
166 AssociatedName: dvFile.RelativePath(),
167 Strict: strict,
168 }
169 docSet, err := yamlmeta.NewDocumentSetFromBytes(contents, docSetOpts)
170 if err != nil {
171 return nil, fmt.Errorf("Unmarshaling YAML data values file '%s': %s", dvFile.Description(), err)
172 }
173
174 for _, doc := range docSet.Items {
175 if doc.Value != nil {
176 dvsOverlay, err := NewDataValuesFile(doc).AsOverlay()
177 if err != nil {
178 return nil, fmt.Errorf("Checking data values file '%s': %s", path, err)
179 }
180 dvs, err := datavalues.NewEnvelopeWithLibRef(dvsOverlay, libRef)
181 if err != nil {
182 return nil, err
183 }
184 result = append(result, dvs)
185 }
186 }
187 }
188
189 return result, nil
190}
191
192func (s *DataValuesFlags) env(prefix string, src dataValuesFlagsSource) ([]*datavalues.Envelope, error) {
193 const (

Callers 1

AsOverlaysMethod · 0.95

Calls 11

asFilesMethod · 0.95
NewDocumentSetFromBytesFunction · 0.92
NewEnvelopeWithLibRefFunction · 0.92
NewDataValuesFileFunction · 0.85
IsImpliedMethod · 0.80
AsOverlayMethod · 0.80
BytesMethod · 0.65
RelativePathMethod · 0.65
DescriptionMethod · 0.65
TypeMethod · 0.45

Tested by

no test coverage detected