mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 01:53:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			32 lines
		
	
	
		
			671 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			671 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package build
 | 
						|
 | 
						|
import (
 | 
						|
	"strings"
 | 
						|
 | 
						|
	"github.com/moby/buildkit/session"
 | 
						|
	"github.com/moby/buildkit/session/sshforward/sshprovider"
 | 
						|
)
 | 
						|
 | 
						|
func ParseSSHSpecs(sl []string) (session.Attachable, error) {
 | 
						|
	configs := make([]sshprovider.AgentConfig, 0, len(sl))
 | 
						|
	for _, v := range sl {
 | 
						|
		c, err := parseSSH(v)
 | 
						|
		if err != nil {
 | 
						|
			return nil, err
 | 
						|
		}
 | 
						|
		configs = append(configs, *c)
 | 
						|
	}
 | 
						|
	return sshprovider.NewSSHAgentProvider(configs)
 | 
						|
}
 | 
						|
 | 
						|
func parseSSH(value string) (*sshprovider.AgentConfig, error) {
 | 
						|
	parts := strings.SplitN(value, "=", 2)
 | 
						|
	cfg := sshprovider.AgentConfig{
 | 
						|
		ID: parts[0],
 | 
						|
	}
 | 
						|
	if len(parts) > 1 {
 | 
						|
		cfg.Paths = strings.Split(parts[1], ",")
 | 
						|
	}
 | 
						|
	return &cfg, nil
 | 
						|
}
 |