Browse Source

Add source policies for build

Build{x,kit} support passing in source policies via an (expirimental)
env var.
This change adds those policies to the build request.

Signed-off-by: Brian Goff <[email protected]>
Brian Goff 1 year ago
parent
commit
2bf2b22fbe
1 changed files with 21 additions and 15 deletions
  1. 21 15
      pkg/compose/build.go

+ 21 - 15
pkg/compose/build.go

@@ -410,6 +410,11 @@ func (s *composeService) toBuildOptions(project *types.Project, service types.Se
 		}}
 	}
 
+	sp, err := build.ReadSourcePolicy()
+	if err != nil {
+		return build.Options{}, err
+	}
+
 	return build.Options{
 		Inputs: build.Inputs{
 			ContextPath:      service.Build.Context,
@@ -417,21 +422,22 @@ func (s *composeService) toBuildOptions(project *types.Project, service types.Se
 			DockerfilePath:   dockerFilePath(service.Build.Context, service.Build.Dockerfile),
 			NamedContexts:    toBuildContexts(service.Build.AdditionalContexts),
 		},
-		CacheFrom:   pb.CreateCaches(cacheFrom),
-		CacheTo:     pb.CreateCaches(cacheTo),
-		NoCache:     service.Build.NoCache,
-		Pull:        service.Build.Pull,
-		BuildArgs:   flatten(resolveAndMergeBuildArgs(s.dockerCli, project, service, options)),
-		Tags:        tags,
-		Target:      service.Build.Target,
-		Exports:     exports,
-		Platforms:   plats,
-		Labels:      imageLabels,
-		NetworkMode: service.Build.Network,
-		ExtraHosts:  service.Build.ExtraHosts.AsList(":"),
-		Ulimits:     toUlimitOpt(service.Build.Ulimits),
-		Session:     sessionConfig,
-		Allow:       allow,
+		CacheFrom:    pb.CreateCaches(cacheFrom),
+		CacheTo:      pb.CreateCaches(cacheTo),
+		NoCache:      service.Build.NoCache,
+		Pull:         service.Build.Pull,
+		BuildArgs:    flatten(resolveAndMergeBuildArgs(s.dockerCli, project, service, options)),
+		Tags:         tags,
+		Target:       service.Build.Target,
+		Exports:      exports,
+		Platforms:    plats,
+		Labels:       imageLabels,
+		NetworkMode:  service.Build.Network,
+		ExtraHosts:   service.Build.ExtraHosts.AsList(":"),
+		Ulimits:      toUlimitOpt(service.Build.Ulimits),
+		Session:      sessionConfig,
+		Allow:        allow,
+		SourcePolicy: sp,
 	}, nil
 }