45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
| package helmexec
 | |
| 
 | |
| import (
 | |
| 	"os"
 | |
| 	"path/filepath"
 | |
| )
 | |
| 
 | |
| type HelmContext struct {
 | |
| 	Tillerless      bool
 | |
| 	TillerNamespace string
 | |
| 	WorkerIndex     int
 | |
| }
 | |
| 
 | |
| func (context *HelmContext) GetTillerlessArgs(helmBinary string) []string {
 | |
| 	if context.Tillerless {
 | |
| 		if context.TillerNamespace != "" {
 | |
| 			return []string{"tiller", "run", context.TillerNamespace, "--", helmBinary}
 | |
| 		} else {
 | |
| 			return []string{"tiller", "run", "--", helmBinary}
 | |
| 		}
 | |
| 	} else {
 | |
| 		return []string{}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (context *HelmContext) getTillerlessEnv() map[string]string {
 | |
| 	if context.Tillerless {
 | |
| 		result := map[string]string{
 | |
| 			"HELM_TILLER_SILENT": "true",
 | |
| 			// Changing the TILLER port doesn't really work: https://github.com/helm/helm/issues/3159
 | |
| 			// So this is not used for the moment.
 | |
| 			// "HELM_TILLER_PORT":   strconv.Itoa(44134 + context.WorkerIndex),
 | |
| 		}
 | |
| 		if config := os.Getenv("KUBECONFIG"); config != "" {
 | |
| 			absConfig, err := filepath.Abs(config)
 | |
| 			if err == nil {
 | |
| 				result["KUBECONFIG"] = absConfig
 | |
| 			}
 | |
| 		}
 | |
| 		return result
 | |
| 	} else {
 | |
| 		return map[string]string{}
 | |
| 	}
 | |
| }
 |