github.com/pdmccormick/importable-docker-buildx@v0.0.0-20240426161518-e47091289030/util/confutil/metadata.go (about)

     1  package confutil
     2  
     3  import (
     4  	"os"
     5  	"strconv"
     6  )
     7  
     8  // MetadataProvenanceMode is the type for setting provenance in the metdata file
     9  type MetadataProvenanceMode int
    10  
    11  const (
    12  	// MetadataProvenanceModeMin sets minimal provenance (default)
    13  	MetadataProvenanceModeMin MetadataProvenanceMode = iota
    14  	// MetadataProvenanceModeMax sets full provenance
    15  	MetadataProvenanceModeMax
    16  	// MetadataProvenanceModeDisabled doesn't set provenance
    17  	MetadataProvenanceModeDisabled
    18  )
    19  
    20  // MetadataProvenance returns the provenance mode to set in the metadata file
    21  func MetadataProvenance() MetadataProvenanceMode {
    22  	bmp := os.Getenv("BUILDX_METADATA_PROVENANCE")
    23  	switch bmp {
    24  	case "min":
    25  		return MetadataProvenanceModeMin
    26  	case "max":
    27  		return MetadataProvenanceModeMax
    28  	case "disabled":
    29  		return MetadataProvenanceModeDisabled
    30  	}
    31  	if ok, err := strconv.ParseBool(bmp); err == nil && !ok {
    32  		return MetadataProvenanceModeDisabled
    33  	}
    34  	return MetadataProvenanceModeMin
    35  }