...

Source file src/edge-infra.dev/pkg/edge/api/graph/mapper/mapper_spegelconfig.go

Documentation: edge-infra.dev/pkg/edge/api/graph/mapper

     1  package mapper
     2  
     3  import (
     4  	"reflect"
     5  	"strings"
     6  
     7  	corev1 "k8s.io/api/core/v1"
     8  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     9  
    10  	"edge-infra.dev/pkg/edge/api/graph/model"
    11  	"edge-infra.dev/pkg/edge/constants"
    12  )
    13  
    14  const (
    15  	registriesKey       = "REGISTRIES"
    16  	mirrorRegistriesKey = "MIRROR_REGISTRIES"
    17  
    18  	edgeRegistry       = "https://us-east1-docker.pkg.dev"
    19  	localRegistry30020 = "http://127.0.0.1:30020"
    20  	localRegistry30021 = "http://127.0.0.1:30021"
    21  )
    22  
    23  func CreateSpegelConfigMap(artifactRegistries []*model.ArtifactRegistry) *corev1.ConfigMap {
    24  	urls := urlsFromArtifactRegistries(artifactRegistries)
    25  	return spegelConfig(urls)
    26  }
    27  
    28  func urlsFromArtifactRegistries(artifactRegistries []*model.ArtifactRegistry) []string {
    29  	urls := []string{}
    30  	for _, artifactRegistry := range artifactRegistries {
    31  		urls = append(urls, artifactRegistry.URL)
    32  	}
    33  	return urls
    34  }
    35  
    36  func spegelConfig(urls []string) *corev1.ConfigMap {
    37  	return &corev1.ConfigMap{
    38  		TypeMeta: metav1.TypeMeta{
    39  			Kind:       reflect.TypeOf(corev1.ConfigMap{}).Name(),
    40  			APIVersion: corev1.SchemeGroupVersion.String(),
    41  		},
    42  		ObjectMeta: metav1.ObjectMeta{
    43  			Name:      constants.SpegelConfig,
    44  			Namespace: constants.SpegelNamespace,
    45  		},
    46  		Data: map[string]string{
    47  			registriesKey:       registriesValue(urls),
    48  			mirrorRegistriesKey: mirrorRegistriesValue(urls),
    49  		},
    50  	}
    51  }
    52  
    53  func registriesValue(urls []string) string {
    54  	registries := []string{
    55  		edgeRegistry,
    56  	}
    57  	registries = append(registries, urls...)
    58  	return strings.Join(registries, ",")
    59  }
    60  
    61  func mirrorRegistriesValue(urls []string) string {
    62  	mirrorRegistries := []string{
    63  		localRegistry30020,
    64  		localRegistry30021,
    65  		edgeRegistry,
    66  	}
    67  	mirrorRegistries = append(mirrorRegistries, urls...)
    68  	return strings.Join(mirrorRegistries, ",")
    69  }
    70  

View as plain text