github.com/argoproj/argo-cd/v3@v3.2.1/util/notification/expression/shared/appdetail.go (about)

     1  package shared
     2  
     3  import (
     4  	"time"
     5  
     6  	"github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
     7  
     8  	"github.com/argoproj/argo-cd/v3/reposerver/apiclient"
     9  )
    10  
    11  type CommitMetadata struct {
    12  	// Commit message
    13  	Message string
    14  	// Commit author
    15  	Author string
    16  	// Commit creation date
    17  	Date time.Time
    18  	// Associated tags
    19  	Tags []string
    20  }
    21  
    22  type AppDetail struct {
    23  	// AppDetail Type
    24  	Type string
    25  	// Helm details
    26  	Helm *CustomHelmAppSpec
    27  	// Kustomize details
    28  	Kustomize *apiclient.KustomizeAppSpec
    29  	// Directory details
    30  	Directory *apiclient.DirectoryAppSpec
    31  }
    32  
    33  type CustomHelmAppSpec struct {
    34  	HelmAppSpec            apiclient.HelmAppSpec
    35  	HelmParameterOverrides []v1alpha1.HelmParameter
    36  }
    37  
    38  func (has CustomHelmAppSpec) GetParameterValueByName(name string) string {
    39  	// Check in overrides first
    40  	for i := range has.HelmParameterOverrides {
    41  		if has.HelmParameterOverrides[i].Name == name {
    42  			return has.HelmParameterOverrides[i].Value
    43  		}
    44  	}
    45  
    46  	for i := range has.HelmAppSpec.Parameters {
    47  		if has.HelmAppSpec.Parameters[i].Name == name {
    48  			return has.HelmAppSpec.Parameters[i].Value
    49  		}
    50  	}
    51  	return ""
    52  }
    53  
    54  func (has CustomHelmAppSpec) GetFileParameterPathByName(name string) string {
    55  	var path string
    56  	for i := range has.HelmAppSpec.FileParameters {
    57  		if has.HelmAppSpec.FileParameters[i].Name == name {
    58  			path = has.HelmAppSpec.FileParameters[i].Path
    59  			break
    60  		}
    61  	}
    62  	return path
    63  }