瀏覽代碼

stacks push to different image repos (#3004)

Feroze Mohideen 3 年之前
父節點
當前提交
f381056d8a
共有 3 個文件被更改,包括 12 次插入11 次删除
  1. 0 2
      cli/cmd/preview/utils.go
  2. 6 5
      cli/cmd/stack/apply.go
  3. 6 4
      cli/cmd/stack/build.go

+ 0 - 2
cli/cmd/preview/utils.go

@@ -203,7 +203,6 @@ func GetTarget(resourceName string, input map[string]interface{}) (*preview.Targ
 
 		if config.GetCLIConfig().Registry == 0 {
 			regList, err := apiClient.ListRegistries(context.Background(), output.Project)
-
 			if err != nil {
 				return nil, fmt.Errorf("for resource '%s', error listing registries in project: %w", resourceName, err)
 			}
@@ -215,7 +214,6 @@ func GetTarget(resourceName string, input map[string]interface{}) (*preview.Targ
 			output.RegistryURL = (*regList)[0].URL
 		} else {
 			reg, err := apiClient.GetRegistry(context.Background(), output.Project, config.GetCLIConfig().Registry)
-
 			if err != nil {
 				return nil, fmt.Errorf("for resource '%s', error getting registry from CLI config: %w", resourceName, err)
 			}

+ 6 - 5
cli/cmd/stack/apply.go

@@ -17,7 +17,7 @@ type StackConf struct {
 	apiClient            *api.Client
 	rawBytes             []byte
 	parsed               *PorterStackYAML
-	stackName            string
+	stackName, namespace string
 	projectID, clusterID uint
 }
 
@@ -93,16 +93,17 @@ func createStackConf(client *api.Client, raw []byte, stackName string, projectID
 		stackName: stackName,
 		projectID: projectID,
 		clusterID: clusterID,
+		namespace: fmt.Sprintf("porter-stack-%s", stackName),
 	}, nil
 }
 
 func createV1BuildResourcesFromPorterYaml(stackConf *StackConf) (*switchboardTypes.Resource, *switchboardTypes.Resource, error) {
-	bi, err := stackConf.parsed.Build.getV1BuildImage(stackConf.parsed.Env)
+	bi, err := stackConf.parsed.Build.getV1BuildImage(stackConf.parsed.Env, stackConf.namespace)
 	if err != nil {
 		return nil, nil, err
 	}
 
-	pi, err := stackConf.parsed.Build.getV1PushImage()
+	pi, err := stackConf.parsed.Build.getV1PushImage(stackConf.namespace)
 	if err != nil {
 		return nil, nil, err
 	}
@@ -122,12 +123,12 @@ func createV1BuildResourcesFromDB(client *api.Client, stackConf *StackConf) (*sw
 
 	build := convertToBuild(res)
 
-	bi, err := build.getV1BuildImage(stackConf.parsed.Env)
+	bi, err := build.getV1BuildImage(stackConf.parsed.Env, stackConf.namespace)
 	if err != nil {
 		return nil, nil, err
 	}
 
-	pi, err := build.getV1PushImage()
+	pi, err := build.getV1PushImage(stackConf.namespace)
 	if err != nil {
 		return nil, nil, err
 	}

+ 6 - 4
cli/cmd/stack/build.go

@@ -74,7 +74,7 @@ func (b *Build) GetImage() string {
 	return *b.Image
 }
 
-func (b *Build) getV1BuildImage(env map[string]string) (*types.Resource, error) {
+func (b *Build) getV1BuildImage(env map[string]string, namespace string) (*types.Resource, error) {
 	config := &preview.BuildDriverConfig{}
 
 	if b.GetMethod() == "pack" {
@@ -110,7 +110,8 @@ func (b *Build) getV1BuildImage(env map[string]string) (*types.Resource, error)
 			"name": "web",
 		},
 		Target: map[string]any{
-			"app_name": b.GetName(),
+			"app_name":  b.GetName(),
+			"namespace": namespace,
 		},
 		DependsOn: []string{
 			"get-env",
@@ -127,7 +128,7 @@ func GetBuildImageDriverName() string {
 	return fmt.Sprintf("%s-build-image", getBuildImageName())
 }
 
-func (b *Build) getV1PushImage() (*types.Resource, error) {
+func (b *Build) getV1PushImage(namespace string) (*types.Resource, error) {
 	config := &preview.PushDriverConfig{}
 
 	config.Push.Image = fmt.Sprintf("{ .%s.image }", GetBuildImageDriverName())
@@ -147,7 +148,8 @@ func (b *Build) getV1PushImage() (*types.Resource, error) {
 			GetBuildImageDriverName(),
 		},
 		Target: map[string]any{
-			"app_name": b.GetName(),
+			"app_name":  b.GetName(),
+			"namespace": namespace,
 		},
 		Config: rawConfig,
 	}, nil