github.com/replicatedhq/ship@v0.55.0/pkg/lifecycle/unfork/pre_unfork.go (about)

     1  package unfork
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/pkg/errors"
     7  	"github.com/replicatedhq/ship/pkg/api"
     8  )
     9  
    10  type ListK8sYaml struct {
    11  	APIVersion string        `json:"apiVersion" yaml:"apiVersion"`
    12  	Kind       string        `json:"kind" yaml:"kind" hcl:"kind"`
    13  	Items      []interface{} `json:"items" yaml:"items"`
    14  }
    15  
    16  func (l *Unforker) PreExecute(ctx context.Context, step api.Step) error {
    17  	// Split multi doc forked base first as it will be unmarshalled incorrectly in the following steps
    18  	if err := l.maybeSplitMultidocYaml(ctx, step.Unfork.ForkedBase); err != nil {
    19  		return errors.Wrap(err, "maybe split multi doc yaml forked base")
    20  	}
    21  
    22  	if err := l.maybeSplitMultidocYaml(ctx, step.Unfork.UpstreamBase); err != nil {
    23  		return errors.Wrap(err, "maybe split multi doc yaml upstream base")
    24  	}
    25  
    26  	return nil
    27  }