diff --git a/e2e/internal/kuberesource/sets.go b/e2e/internal/kuberesource/sets.go index 7443922d4f..ab2348f3c7 100644 --- a/e2e/internal/kuberesource/sets.go +++ b/e2e/internal/kuberesource/sets.go @@ -3,8 +3,6 @@ package kuberesource import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/intstr" - applyappsv1 "k8s.io/client-go/applyconfigurations/apps/v1" - applycorev1 "k8s.io/client-go/applyconfigurations/core/v1" ) // CoordinatorRelease will generate the Coordinator deployment YAML that is published @@ -213,9 +211,17 @@ func OpenSSL() ([]any, error) { return resources, nil } -// generateEmojivoto returns resources for deploying Emojivoto application. -func generateEmojivoto() ([]any, error) { +// Emojivoto returns resources for deploying EmojiVoto application. +func Emojivoto() ([]any, error) { ns := "edg-default" + namespace := Namespace(ns) + coordinator := Coordinator(ns).DeploymentApplyConfiguration + coordinatorService := ServiceForDeployment(coordinator) + coordinatorForwarder := PortForwarder("coordinator", ns). + WithListenPort(1313). + WithForwardTarget("coordinator", 1313). + PodApplyConfiguration + emoji := Deployment("emoji", ns). WithLabels(map[string]string{ "app.kubernetes.io/name": "emoji", @@ -477,6 +483,10 @@ func generateEmojivoto() ([]any, error) { PodApplyConfiguration resources := []any{ + namespace, + coordinator, + coordinatorService, + coordinatorForwarder, emoji, emojiService, emojiserviceAccount, @@ -493,78 +503,3 @@ func generateEmojivoto() ([]any, error) { return resources, nil } - -// PatchImages replaces images in a set of resources. -func PatchImages(resources []any, replacements map[string]string) []any { - for _, resource := range resources { - switch r := resource.(type) { - case *applyappsv1.DeploymentApplyConfiguration: - for i := 0; i < len(r.Spec.Template.Spec.InitContainers); i++ { - if replacement, ok := replacements[*r.Spec.Template.Spec.InitContainers[i].Image]; ok { - r.Spec.Template.Spec.InitContainers[i].Image = &replacement - } - } - for i := 0; i < len(r.Spec.Template.Spec.Containers); i++ { - if replacement, ok := replacements[*r.Spec.Template.Spec.Containers[i].Image]; ok { - r.Spec.Template.Spec.Containers[i].Image = &replacement - } - } - case *applycorev1.PodApplyConfiguration: - for i := 0; i < len(r.Spec.Containers); i++ { - if replacement, ok := replacements[*r.Spec.Containers[i].Image]; ok { - r.Spec.Containers[i].Image = &replacement - } - } - } - } - return resources -} - -// PatchNamespaces replaces namespaces in a set of resources. -func PatchNamespaces(resources []any, namespace string) []any { - for _, resource := range resources { - switch r := resource.(type) { - case *applycorev1.PodApplyConfiguration: - r.Namespace = &namespace - case *applyappsv1.DeploymentApplyConfiguration: - r.Namespace = &namespace - case *applycorev1.ServiceApplyConfiguration: - r.Namespace = &namespace - case *applycorev1.ServiceAccountApplyConfiguration: - r.Namespace = &namespace - } - } - return resources -} - -// EmojivotoDemo returns patched resources for deploying an Emojivoto demo. -func EmojivotoDemo(replacements map[string]string) ([]any, error) { - resources, err := generateEmojivoto() - if err != nil { - return nil, err - } - patched := PatchImages(resources, replacements) - patched = PatchNamespaces(patched, "default") - return patched, nil -} - -// Emojivoto returns resources for deploying Emojivoto application. -func Emojivoto() ([]any, error) { - resources, err := generateEmojivoto() - if err != nil { - return nil, err - } - - // Add coordinator - ns := "edg-default" - namespace := Namespace(ns) - coordinator := Coordinator(ns).DeploymentApplyConfiguration - coordinatorService := ServiceForDeployment(coordinator) - coordinatorForwarder := PortForwarder("coordinator", ns). - WithListenPort(1313). - WithForwardTarget("coordinator", 1313). - PodApplyConfiguration - resources = append(resources, namespace, coordinator, coordinatorService, coordinatorForwarder) - - return resources, nil -}