Skip to content
Snippets Groups Projects
Select Git revision
22 results Searching

util.go

Blame
  • util.go 915 B
    package main
    
    import (
    	"encoding/json"
    	"fmt"
    	"io"
    	"os"
    
    	v1 "k8s.io/api/core/v1"
    	"sigs.k8s.io/yaml"
    )
    
    func loadFile(filepath string) (string, error) {
    	f, err := os.Open(filepath)
    	if err != nil {
    		return "", err
    	}
    	defer f.Close()
    	helperPodYaml, err := io.ReadAll(f)
    	if err != nil {
    		return "", err
    	}
    	return string(helperPodYaml), nil
    }
    
    func loadHelperPodFile(helperPodYaml string) (*v1.Pod, error) {
    	helperPodJSON, err := yaml.YAMLToJSON([]byte(helperPodYaml))
    	if err != nil {
    		return nil, fmt.Errorf("invalid YAMLToJSON the helper pod with helperPodYaml: %v", helperPodYaml)
    	}
    	p := v1.Pod{}
    	err = json.Unmarshal(helperPodJSON, &p)
    	if err != nil {
    		return nil, fmt.Errorf("invalid unmarshal the helper pod with helperPodJson: %v", string(helperPodJSON))
    	}
    	if len(p.Spec.Containers) == 0 {
    		return nil, fmt.Errorf("helper pod template does not specify any container")
    	}
    	return &p, nil
    }