MCPcopy
hub / github.com/docker/compose / createLayers

Method createLayers

pkg/compose/publish.go:164–198  ·  view source on GitHub ↗
(ctx context.Context, project *types.Project, options api.PublishOptions)

Source from the content-addressed store, hash-verified

162}
163
164func (s *composeService) createLayers(ctx context.Context, project *types.Project, options api.PublishOptions) ([]v1.Descriptor, error) {
165 var layers []v1.Descriptor
166 extFiles := map[string]string{}
167 envFiles := map[string]string{}
168 for _, file := range project.ComposeFiles {
169 data, err := processFile(ctx, file, project, extFiles, envFiles)
170 if err != nil {
171 return nil, err
172 }
173
174 layerDescriptor := oci.DescriptorForComposeFile(file, data)
175 layers = append(layers, layerDescriptor)
176 }
177
178 extLayers, err := processExtends(ctx, project, extFiles)
179 if err != nil {
180 return nil, err
181 }
182 layers = append(layers, extLayers...)
183
184 if options.WithEnvironment {
185 layers = append(layers, envFileLayers(envFiles)...)
186 }
187
188 if options.ResolveImageDigests {
189 yaml, err := s.generateImageDigestsOverride(ctx, project)
190 if err != nil {
191 return nil, err
192 }
193
194 layerDescriptor := oci.DescriptorForComposeFile("image-digests.yaml", yaml)
195 layers = append(layers, layerDescriptor)
196 }
197 return layers, nil
198}
199
200func processExtends(ctx context.Context, project *types.Project, extFiles map[string]string) ([]v1.Descriptor, error) {
201 var layers []v1.Descriptor

Callers 2

Test_createLayersFunction · 0.95
publishMethod · 0.95

Calls 5

DescriptorForComposeFileFunction · 0.92
processFileFunction · 0.85
processExtendsFunction · 0.85
envFileLayersFunction · 0.85

Tested by 1

Test_createLayersFunction · 0.76