github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/dockerfile/inject.go (about)

     1  package dockerfile
     2  
     3  import (
     4  	"github.com/distribution/reference"
     5  
     6  	"github.com/tilt-dev/tilt/internal/container"
     7  )
     8  
     9  func InjectImageDigest(df Dockerfile, selector container.RefSelector, ref reference.NamedTagged, buildArgs []string) (Dockerfile, bool, error) {
    10  	ast, err := ParseAST(df)
    11  	if err != nil {
    12  		return "", false, err
    13  	}
    14  
    15  	modified, err := ast.InjectImageDigest(selector, ref, buildArgs)
    16  	if err != nil {
    17  		return "", false, err
    18  	}
    19  
    20  	if !modified {
    21  		return df, false, nil
    22  	}
    23  
    24  	newDf, err := ast.Print()
    25  	return newDf, true, err
    26  }