From b754e680557a27fedbc3fcd56e4334e731a0415e Mon Sep 17 00:00:00 2001 From: Darren Shepherd Date: Tue, 2 May 2023 15:43:20 -0700 Subject: [PATCH] Change container name to match app public name Signed-off-by: Darren Shepherd --- integration/log/log_test.go | 2 +- pkg/buildclient/filesyncclient.go | 7 +++- pkg/controller/appdefinition/acorn.go | 17 ++++++-- pkg/controller/appdefinition/deploy.go | 3 +- pkg/controller/appdefinition/endpoints.go | 3 +- pkg/controller/appdefinition/jobs.go | 2 + pkg/controller/appdefinition/router.go | 4 +- .../labels/expected.yaml.d/appinstance.yaml | 1 + .../expected.yaml.d/deployment.yaml | 1 + .../all-set/expected.yaml.d/deployment.yaml | 1 + .../container/expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/deployment.yaml | 2 + .../computeclass/job/expected.yaml.d/job.yaml | 2 + .../job/expected.yaml.d/serviceaccount.yaml | 1 + .../expected.yaml.d/deployment.yaml | 1 + .../sidecar/expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/deployment.yaml | 2 + .../expected.yaml.d/deployment.yaml | 1 + .../testdata/cronjob/expected.yaml | 3 ++ .../expected.yaml.d/serviceaccount.yaml | 1 + .../expected.yaml.d/deployment.yaml | 2 + .../depends/expected.yaml.d/deployment.yaml | 2 + .../testdata/deployspec/basic/expected.yaml | 2 + .../expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/job-serviceaccount.yaml | 1 + .../expected.yaml.d/job.yaml | 2 + .../labels/expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/job-serviceaccount.yaml | 1 + .../labels/expected.yaml.d/job.yaml | 2 + .../expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/job-serviceaccount.yaml | 1 + .../no-user-labels/expected.yaml.d/job.yaml | 2 + .../testdata/deployspec/scale/expected.yaml | 2 + .../testdata/deployspec/stop/expected.yaml | 2 + .../files-bug/expected.yaml.d/deployment.yaml | 1 + .../files/expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/appinstance.yaml | 2 + .../globalenv/expected.yaml.d/deployment.yaml | 1 + .../basic/expected.yaml.d/deployment.yaml | 2 + .../expected.yaml.d/deployment.yaml | 1 + .../labels/expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/deployment.yaml | 2 + .../prefix-1/expected.yaml.d/deployment.yaml | 1 + .../prefix-2/expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/deployment.yaml | 1 + .../testdata/job/basic/expected.yaml | 2 + .../basic/expected.yaml.d/serviceaccount.yaml | 1 + .../job/labels/expected.yaml.d/job.yaml | 2 + .../expected.yaml.d/serviceaccount.yaml | 1 + .../expected.yaml.d/deployment.yaml | 1 + .../all-set/expected.yaml.d/deployment.yaml | 1 + .../container/expected.yaml.d/deployment.yaml | 1 + .../memory/job/expected.yaml.d/job.yaml | 2 + .../job/expected.yaml.d/serviceaccount.yaml | 1 + .../expected.yaml.d/deployment.yaml | 1 + .../sidecar/expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/deployment.yaml | 2 + .../expected.yaml.d/deployment.yaml | 1 + .../both/expected.yaml.d/clusterrole.yaml | 1 + .../expected.yaml.d/clusterrolebinding.yaml | 1 + .../both/expected.yaml.d/deployment.yaml | 1 + .../both/expected.yaml.d/jobs.yaml | 2 + .../both/expected.yaml.d/role.yaml | 1 + .../both/expected.yaml.d/rolebinding.yaml | 1 + .../both/expected.yaml.d/serviceaccount.yaml | 1 + .../expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/job.yaml | 2 + .../expected.yaml.d/serviceaccount.yaml | 1 + .../container/expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/deployment.yaml | 1 + .../expected.yaml.d/deployment.yaml | 2 + .../job/expected.yaml.d/clusterrole.yaml | 1 + .../expected.yaml.d/clusterrolebinding.yaml | 1 + .../permissions/job/expected.yaml.d/job.yaml | 2 + .../permissions/job/expected.yaml.d/role.yaml | 1 + .../job/expected.yaml.d/rolebinding.yaml | 1 + .../job/expected.yaml.d/serviceaccount.yaml | 1 + .../expected.yaml.d/deployment.yaml | 2 + .../expected.yaml.d/clusterrole.yaml | 2 + .../expected.yaml.d/clusterrolebinding.yaml | 2 + .../multiplejobs/expected.yaml.d/job.yaml | 4 ++ .../multiplejobs/expected.yaml.d/role.yaml | 2 + .../expected.yaml.d/rolebinding.yaml | 2 + .../expected.yaml.d/serviceaccount.yaml | 2 + .../testdata/probes/expected.yaml | 2 + .../custom/expected.yaml.d/deployment.yaml | 2 + .../default/expected.yaml.d/deployment.yaml | 2 + .../router/expected.yaml.d/deployment.yaml | 1 + .../secret/expected.yaml.d/deployment.yaml | 1 + .../alias/expected.yaml.d/deployment.yaml | 3 ++ .../basic/expected.yaml.d/deployment.yaml | 2 + .../template/expected.yaml.d/deployment.yaml | 1 + .../expected.yaml | 1 + .../configure-but-no-bind/expected.yaml | 1 + .../testdata/volumes/contextdir/expected.yaml | 1 + .../testdata/volumes/defaults/expected.yaml | 1 + .../testdata/volumes/empty/expected.yaml | 1 + .../volumes/ephemeral-bound/expected.yaml | 1 + .../testdata/volumes/ephemeral/expected.yaml | 1 + .../volumes/inactive-class/expected.yaml | 1 + .../volumes/named-bound/expected.yaml | 1 + .../testdata/volumes/named/expected.yaml | 1 + .../volumes/no-default-class/expected.yaml | 1 + .../cli_status.go | 2 +- .../{appdefinition => appstatus}/status.go | 13 ++++-- .../status_test.go | 2 +- pkg/controller/routes.go | 15 +++---- pkg/labels/labels.go | 2 + pkg/log/log.go | 41 +++++++++++++++---- pkg/log/log_test.go | 8 ++-- pkg/namespace/namespace.go | 4 +- pkg/publicname/container.go | 10 +++++ .../apigroups/acorn/containers/translator.go | 36 +++++++--------- .../acorn/containers/translator_test.go | 15 +++---- 114 files changed, 257 insertions(+), 64 deletions(-) rename pkg/controller/{appdefinition => appstatus}/cli_status.go (99%) rename pkg/controller/{appdefinition => appstatus}/status.go (97%) rename pkg/controller/{appdefinition => appstatus}/status_test.go (97%) create mode 100644 pkg/publicname/container.go diff --git a/integration/log/log_test.go b/integration/log/log_test.go index 564c7d6cb..074288509 100644 --- a/integration/log/log_test.go +++ b/integration/log/log_test.go @@ -196,5 +196,5 @@ func TestSidecarContainerLog(t *testing.T) { sort.Strings(lines) assert.Equal(t, "line 1-3\nline 1-4", strings.Join(lines, "\n")) - assert.Len(t, strings.Split(replicas[1].Name, "."), 3) + assert.Len(t, strings.Split(replicas[1].Name, ":"), 2) } diff --git a/pkg/buildclient/filesyncclient.go b/pkg/buildclient/filesyncclient.go index a983b18c1..b14a4a1f7 100644 --- a/pkg/buildclient/filesyncclient.go +++ b/pkg/buildclient/filesyncclient.go @@ -6,6 +6,7 @@ import ( "io" "os" "path/filepath" + "strings" "github.com/moby/buildkit/session/filesync" "github.com/sirupsen/logrus" @@ -125,7 +126,11 @@ func prepareSyncedDirs(localDirs map[string]string, dirNames []string, followPat } f := filepath.Join(d, followPath) if _, err := os.Stat(f); os.IsNotExist(err) { - err := os.MkdirAll(f, 0755) + if strings.Contains(f, "*") || strings.Contains(f, "?") { + err = nil + } else { + err = os.MkdirAll(f, 0755) + } if err != nil { return nil, err } diff --git a/pkg/controller/appdefinition/acorn.go b/pkg/controller/appdefinition/acorn.go index 47795b827..ec1d64379 100644 --- a/pkg/controller/appdefinition/acorn.go +++ b/pkg/controller/appdefinition/acorn.go @@ -37,6 +37,7 @@ func toAcorns(appInstance *v1.AppInstance, tag name.Reference, pullSecrets *Pull Labels: service.Labels, Annotations: service.Annotations, Image: service.Image, + Build: service.Build, DeployArgs: service.ServiceArgs, Environment: service.Environment, Secrets: service.Secrets, @@ -72,6 +73,11 @@ func toAcorn(appInstance *v1.AppInstance, tag name.Reference, pullSecrets *PullS image = strings.TrimPrefix(acorn.Image, "sha256:") } + originalImage := acorn.Image + if acorn.Build != nil && acorn.Build.OriginalImage != "" { + originalImage = acorn.Build.OriginalImage + } + // Ensure secret gets copied pullSecrets.ForAcorn(acornName, image) @@ -83,10 +89,13 @@ func toAcorn(appInstance *v1.AppInstance, tag name.Reference, pullSecrets *PullS acornInstance := &v1.AppInstance{ ObjectMeta: metav1.ObjectMeta{ - Name: name2.SafeHashConcatName(appInstance.Name, acornName), - Namespace: appInstance.Namespace, - Labels: labelMap, - Annotations: appInstanceScoped(acornName, appInstance.Status.AppSpec.Annotations, appInstance.Spec.Annotations, acorn.Annotations), + Name: name2.SafeHashConcatName(appInstance.Name, acornName), + Namespace: appInstance.Namespace, + Labels: labelMap, + Annotations: labels.Merge(appInstanceScoped(acornName, appInstance.Status.AppSpec.Annotations, appInstance.Spec.Annotations, acorn.Annotations), + map[string]string{ + labels.AcornOriginalImage: originalImage, + }), }, Spec: v1.AppInstanceSpec{ Region: appInstance.GetRegion(), diff --git a/pkg/controller/appdefinition/deploy.go b/pkg/controller/appdefinition/deploy.go index a2a32712b..fba6fabb4 100644 --- a/pkg/controller/appdefinition/deploy.go +++ b/pkg/controller/appdefinition/deploy.go @@ -16,6 +16,7 @@ import ( "github.com/acorn-io/acorn/pkg/labels" "github.com/acorn-io/acorn/pkg/pdb" "github.com/acorn-io/acorn/pkg/ports" + "github.com/acorn-io/acorn/pkg/publicname" "github.com/acorn-io/acorn/pkg/secrets" "github.com/acorn-io/acorn/pkg/system" "github.com/acorn-io/acorn/pkg/volume" @@ -594,7 +595,7 @@ func toDeployment(req router.Request, appInstance *v1.AppInstance, tag name.Refe return nil, err } - podLabels := containerLabels(appInstance, container, name) + podLabels := containerLabels(appInstance, container, name, labels.AcornAppPublicName, publicname.Get(appInstance)) deploymentLabels := containerLabels(appInstance, container, name) matchLabels := selectorMatchLabels(appInstance, name) diff --git a/pkg/controller/appdefinition/endpoints.go b/pkg/controller/appdefinition/endpoints.go index 82fc26fd4..132c8da23 100644 --- a/pkg/controller/appdefinition/endpoints.go +++ b/pkg/controller/appdefinition/endpoints.go @@ -7,6 +7,7 @@ import ( "strings" v1 "github.com/acorn-io/acorn/pkg/apis/internal.acorn.io/v1" + "github.com/acorn-io/acorn/pkg/controller/appstatus" "github.com/acorn-io/acorn/pkg/labels" "github.com/acorn-io/acorn/pkg/publish" "github.com/acorn-io/baaah/pkg/router" @@ -139,7 +140,7 @@ func AppEndpointsStatus(req router.Request, _ router.Response) error { eps := append(ingressEndpoints, serviceEndpoints...) - ingressTLSHosts, err := IngressTLSHosts(req.Ctx, req.Client, app) + ingressTLSHosts, err := appstatus.IngressTLSHosts(req.Ctx, req.Client, app) if err != nil { return err } diff --git a/pkg/controller/appdefinition/jobs.go b/pkg/controller/appdefinition/jobs.go index 4ff1399c7..673a5f775 100644 --- a/pkg/controller/appdefinition/jobs.go +++ b/pkg/controller/appdefinition/jobs.go @@ -5,6 +5,7 @@ import ( v1 "github.com/acorn-io/acorn/pkg/apis/internal.acorn.io/v1" "github.com/acorn-io/acorn/pkg/labels" + "github.com/acorn-io/acorn/pkg/publicname" "github.com/acorn-io/acorn/pkg/secrets" "github.com/acorn-io/baaah/pkg/router" "github.com/acorn-io/baaah/pkg/typed" @@ -89,6 +90,7 @@ func toJob(req router.Request, appInstance *v1.AppInstance, pullSecrets *PullSec ObjectMeta: metav1.ObjectMeta{ Labels: jobLabels(appInstance, container, name, labels.AcornManaged, "true", + labels.AcornAppPublicName, publicname.Get(appInstance), labels.AcornJobName, name, labels.AcornContainerName, ""), Annotations: labels.Merge(podAnnotations(appInstance, name, container), baseAnnotations), diff --git a/pkg/controller/appdefinition/router.go b/pkg/controller/appdefinition/router.go index 717792dba..638cc69fb 100644 --- a/pkg/controller/appdefinition/router.go +++ b/pkg/controller/appdefinition/router.go @@ -7,8 +7,10 @@ import ( "strings" v1 "github.com/acorn-io/acorn/pkg/apis/internal.acorn.io/v1" + "github.com/acorn-io/acorn/pkg/labels" "github.com/acorn-io/acorn/pkg/pdb" "github.com/acorn-io/acorn/pkg/ports" + "github.com/acorn-io/acorn/pkg/publicname" "github.com/acorn-io/acorn/pkg/system" "github.com/acorn-io/acorn/pkg/tolerations" "github.com/acorn-io/baaah/pkg/router" @@ -48,7 +50,7 @@ func toRouter(appInstance *v1.AppInstance, routerName string, router v1.Router) conf, confName := toNginxConf(routerName, router) - podLabels := routerLabels(appInstance, router, routerName) + podLabels := routerLabels(appInstance, router, routerName, labels.AcornAppPublicName, publicname.Get(appInstance)) deploymentLabels := routerLabels(appInstance, router, routerName) matchLabels := routerSelectorMatchLabels(appInstance, routerName) diff --git a/pkg/controller/appdefinition/testdata/acorn/labels/expected.yaml.d/appinstance.yaml b/pkg/controller/appdefinition/testdata/acorn/labels/expected.yaml.d/appinstance.yaml index 30aaf456d..c61ed55e2 100644 --- a/pkg/controller/appdefinition/testdata/acorn/labels/expected.yaml.d/appinstance.yaml +++ b/pkg/controller/appdefinition/testdata/acorn/labels/expected.yaml.d/appinstance.yaml @@ -22,6 +22,7 @@ metadata: "global2a": "value" "allacornsa": "value" "override2": "outervalue" + acorn.io/original-image: foo spec: # The labels and annotations in this spec should be a combination of the "inner" acorn's definition and the outer # appInstance's scoped label and annotations. diff --git a/pkg/controller/appdefinition/testdata/computeclass/all-set-overwrite-computeclass/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/computeclass/all-set-overwrite-computeclass/expected.yaml.d/deployment.yaml index 0db97c566..68828134f 100644 --- a/pkg/controller/appdefinition/testdata/computeclass/all-set-overwrite-computeclass/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/computeclass/all-set-overwrite-computeclass/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/computeclass/all-set/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/computeclass/all-set/expected.yaml.d/deployment.yaml index 4853da16f..9efd61544 100644 --- a/pkg/controller/appdefinition/testdata/computeclass/all-set/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/computeclass/all-set/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/computeclass/container/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/computeclass/container/expected.yaml.d/deployment.yaml index 03579c58f..b9d1ecf4e 100644 --- a/pkg/controller/appdefinition/testdata/computeclass/container/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/computeclass/container/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/computeclass/different-computeclass/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/computeclass/different-computeclass/expected.yaml.d/deployment.yaml index a53a24935..ddb2dae82 100644 --- a/pkg/controller/appdefinition/testdata/computeclass/different-computeclass/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/computeclass/different-computeclass/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -78,6 +79,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "twoimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/computeclass/job/expected.yaml.d/job.yaml b/pkg/controller/appdefinition/testdata/computeclass/job/expected.yaml.d/job.yaml index b98400946..cf0fc5816 100644 --- a/pkg/controller/appdefinition/testdata/computeclass/job/expected.yaml.d/job.yaml +++ b/pkg/controller/appdefinition/testdata/computeclass/job/expected.yaml.d/job.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" spec: @@ -13,6 +14,7 @@ spec: metadata: labels: "acorn.io/app-namespace": "app-namespace" + "acorn.io/app-public-name": "app-name" "acorn.io/app-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" diff --git a/pkg/controller/appdefinition/testdata/computeclass/job/expected.yaml.d/serviceaccount.yaml b/pkg/controller/appdefinition/testdata/computeclass/job/expected.yaml.d/serviceaccount.yaml index a45dcc6a0..5cb86bb87 100644 --- a/pkg/controller/appdefinition/testdata/computeclass/job/expected.yaml.d/serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/computeclass/job/expected.yaml.d/serviceaccount.yaml @@ -6,5 +6,6 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + acorn.io/app-public-name: "app-name" acorn.io/managed: "true" acorn.io/job-name: "oneimage" diff --git a/pkg/controller/appdefinition/testdata/computeclass/overwrite-acornfile-computeclass/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/computeclass/overwrite-acornfile-computeclass/expected.yaml.d/deployment.yaml index 6a57601fa..ac4cfac9f 100644 --- a/pkg/controller/appdefinition/testdata/computeclass/overwrite-acornfile-computeclass/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/computeclass/overwrite-acornfile-computeclass/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/computeclass/sidecar/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/computeclass/sidecar/expected.yaml.d/deployment.yaml index 33194e131..6ca4e3a4d 100644 --- a/pkg/controller/appdefinition/testdata/computeclass/sidecar/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/computeclass/sidecar/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" "service-name.acorn.io/oneimage": "true" diff --git a/pkg/controller/appdefinition/testdata/computeclass/two-containers/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/computeclass/two-containers/expected.yaml.d/deployment.yaml index 8bc096142..e3282df1d 100644 --- a/pkg/controller/appdefinition/testdata/computeclass/two-containers/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/computeclass/two-containers/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -79,6 +80,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "twoimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/computeclass/with-acornfile-computeclass/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/computeclass/with-acornfile-computeclass/expected.yaml.d/deployment.yaml index b038ee30a..9a8c34d0f 100644 --- a/pkg/controller/appdefinition/testdata/computeclass/with-acornfile-computeclass/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/computeclass/with-acornfile-computeclass/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/cronjob/expected.yaml b/pkg/controller/appdefinition/testdata/cronjob/expected.yaml index 32accb972..ee3634c01 100644 --- a/pkg/controller/appdefinition/testdata/cronjob/expected.yaml +++ b/pkg/controller/appdefinition/testdata/cronjob/expected.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" spec: @@ -15,6 +16,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" spec: @@ -23,6 +25,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/cronjob/expected.yaml.d/serviceaccount.yaml b/pkg/controller/appdefinition/testdata/cronjob/expected.yaml.d/serviceaccount.yaml index a45dcc6a0..5dfb6716a 100644 --- a/pkg/controller/appdefinition/testdata/cronjob/expected.yaml.d/serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/cronjob/expected.yaml.d/serviceaccount.yaml @@ -6,5 +6,6 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: "oneimage" diff --git a/pkg/controller/appdefinition/testdata/depends-ready/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/depends-ready/expected.yaml.d/deployment.yaml index 2a6223920..a67757ff6 100644 --- a/pkg/controller/appdefinition/testdata/depends-ready/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/depends-ready/expected.yaml.d/deployment.yaml @@ -22,6 +22,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: @@ -61,6 +62,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "web" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/depends/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/depends/expected.yaml.d/deployment.yaml index 8748b5629..46af82c62 100644 --- a/pkg/controller/appdefinition/testdata/depends/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/depends/expected.yaml.d/deployment.yaml @@ -22,6 +22,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: @@ -63,6 +64,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "web" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/deployspec/basic/expected.yaml b/pkg/controller/appdefinition/testdata/deployspec/basic/expected.yaml index cb3024857..ef4a93fea 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/basic/expected.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/basic/expected.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -90,6 +91,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "buildimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/deployment.yaml index c1e9ed957..78403b225 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/deployment.yaml @@ -34,6 +34,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" allowed-global.io: test-global diff --git a/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/job-serviceaccount.yaml b/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/job-serviceaccount.yaml index caef9abcb..21a4b914d 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/job-serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/job-serviceaccount.yaml @@ -12,6 +12,7 @@ metadata: allowed-job.io: test-allowed-job-label allowed.io: test-allowed-app-spec-label permit.io: test-permit-app-spec-label + acorn.io/app-public-name: "app-name" annotations: admit-job.io: test-admit-job-ann admit.io: test-admit-app-spec-ann diff --git a/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/job.yaml b/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/job.yaml index d8d907f08..bcdbe5aa7 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/job.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/filter-user-labels/expected.yaml.d/job.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/job-name": "job-name" "acorn.io/managed": "true" allowed-job.io: test-allowed-job-label @@ -23,6 +24,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/job-name": "job-name" "acorn.io/managed": "true" allowed-job.io: test-allowed-job-label diff --git a/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/deployment.yaml index 121d9a394..e0f7ba011 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/deployment.yaml @@ -34,6 +34,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" appSpecLabel: test-app-spec-label diff --git a/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/job-serviceaccount.yaml b/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/job-serviceaccount.yaml index 8414b148c..5dd90a82b 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/job-serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/job-serviceaccount.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-namespace: app-namespace acorn.io/app-name: app-name + acorn.io/app-public-name: "app-name" acorn.io/job-name: job-name acorn.io/managed: "true" appSpecLabel: test-app-spec-label diff --git a/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/job.yaml b/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/job.yaml index 7e864a4f4..9c740f98d 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/job.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/labels/expected.yaml.d/job.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/job-name": "job-name" "acorn.io/managed": "true" appSpecLabel: test-app-spec-label @@ -21,6 +22,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/job-name": "job-name" "acorn.io/managed": "true" appSpecLabel: test-app-spec-label diff --git a/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/deployment.yaml index 0f7d7e8b2..0e5d4af92 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/deployment.yaml @@ -23,6 +23,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/job-serviceaccount.yaml b/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/job-serviceaccount.yaml index 5a1c753ff..7283fb049 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/job-serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/job-serviceaccount.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-namespace: app-namespace acorn.io/app-name: app-name + acorn.io/app-public-name: "app-name" acorn.io/job-name: job-name acorn.io/managed: "true" diff --git a/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/job.yaml b/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/job.yaml index bafcb9cb9..9433fea56 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/job.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/no-user-labels/expected.yaml.d/job.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/job-name": "job-name" "acorn.io/managed": "true" spec: @@ -14,6 +15,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/job-name": "job-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/deployspec/scale/expected.yaml b/pkg/controller/appdefinition/testdata/deployspec/scale/expected.yaml index 7575a52fb..2d17b677a 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/scale/expected.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/scale/expected.yaml @@ -21,6 +21,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -77,6 +78,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "buildimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/deployspec/stop/expected.yaml b/pkg/controller/appdefinition/testdata/deployspec/stop/expected.yaml index 2043678d8..0c080b421 100644 --- a/pkg/controller/appdefinition/testdata/deployspec/stop/expected.yaml +++ b/pkg/controller/appdefinition/testdata/deployspec/stop/expected.yaml @@ -21,6 +21,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -78,6 +79,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "buildimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/files-bug/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/files-bug/expected.yaml.d/deployment.yaml index dd598d960..f83fe82a2 100644 --- a/pkg/controller/appdefinition/testdata/files-bug/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/files-bug/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/files/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/files/expected.yaml.d/deployment.yaml index e8ecbda4c..6151881d6 100644 --- a/pkg/controller/appdefinition/testdata/files/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/files/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/globalenv/expected.yaml.d/appinstance.yaml b/pkg/controller/appdefinition/testdata/globalenv/expected.yaml.d/appinstance.yaml index b623b0e2d..7866499b9 100644 --- a/pkg/controller/appdefinition/testdata/globalenv/expected.yaml.d/appinstance.yaml +++ b/pkg/controller/appdefinition/testdata/globalenv/expected.yaml.d/appinstance.yaml @@ -45,6 +45,8 @@ metadata: acorn.io/managed: "true" acorn.io/parent-acorn-name: app-name acorn.io/public-name: app-name.acorn-name + annotations: + acorn.io/original-image: acorn-image-name spec: image: acorn-image-name environment: diff --git a/pkg/controller/appdefinition/testdata/globalenv/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/globalenv/expected.yaml.d/deployment.yaml index 8332bb899..840739b3d 100644 --- a/pkg/controller/appdefinition/testdata/globalenv/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/globalenv/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/ingress/basic/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/ingress/basic/expected.yaml.d/deployment.yaml index 33d37582c..9aba16ba2 100644 --- a/pkg/controller/appdefinition/testdata/ingress/basic/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/ingress/basic/expected.yaml.d/deployment.yaml @@ -21,6 +21,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -72,6 +73,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "buildimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/ingress/clusterdomainport/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/ingress/clusterdomainport/expected.yaml.d/deployment.yaml index e801d48b4..309817b42 100644 --- a/pkg/controller/appdefinition/testdata/ingress/clusterdomainport/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/ingress/clusterdomainport/expected.yaml.d/deployment.yaml @@ -21,6 +21,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/ingress/labels/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/ingress/labels/expected.yaml.d/deployment.yaml index 1247faefc..f35a2a525 100644 --- a/pkg/controller/appdefinition/testdata/ingress/labels/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/ingress/labels/expected.yaml.d/deployment.yaml @@ -32,6 +32,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "con1" "acorn.io/managed": "true" "allconsl1": "value" diff --git a/pkg/controller/appdefinition/testdata/ingress/letsencrypt/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/ingress/letsencrypt/expected.yaml.d/deployment.yaml index 562da09f5..f2ab40db1 100644 --- a/pkg/controller/appdefinition/testdata/ingress/letsencrypt/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/ingress/letsencrypt/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "app1" "acorn.io/managed": "true" annotations: @@ -63,6 +64,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "app2" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/ingress/prefix/prefix-1/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/ingress/prefix/prefix-1/expected.yaml.d/deployment.yaml index 95bed3e5a..d0a55edbb 100644 --- a/pkg/controller/appdefinition/testdata/ingress/prefix/prefix-1/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/ingress/prefix/prefix-1/expected.yaml.d/deployment.yaml @@ -32,6 +32,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "con1" "acorn.io/managed": "true" "allconsl1": "value" diff --git a/pkg/controller/appdefinition/testdata/ingress/prefix/prefix-2/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/ingress/prefix/prefix-2/expected.yaml.d/deployment.yaml index 51f39d28c..a0842714c 100644 --- a/pkg/controller/appdefinition/testdata/ingress/prefix/prefix-2/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/ingress/prefix/prefix-2/expected.yaml.d/deployment.yaml @@ -32,6 +32,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "con1" "acorn.io/managed": "true" "allconsl1": "value" diff --git a/pkg/controller/appdefinition/testdata/interpolation/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/interpolation/expected.yaml.d/deployment.yaml index 562bcd001..ab71a654a 100644 --- a/pkg/controller/appdefinition/testdata/interpolation/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/interpolation/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/job/basic/expected.yaml b/pkg/controller/appdefinition/testdata/job/basic/expected.yaml index 604cb0595..3ca5ebc7e 100644 --- a/pkg/controller/appdefinition/testdata/job/basic/expected.yaml +++ b/pkg/controller/appdefinition/testdata/job/basic/expected.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" spec: @@ -14,6 +15,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + acorn.io/app-public-name: "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/job/basic/expected.yaml.d/serviceaccount.yaml b/pkg/controller/appdefinition/testdata/job/basic/expected.yaml.d/serviceaccount.yaml index a45dcc6a0..8fc1fe791 100644 --- a/pkg/controller/appdefinition/testdata/job/basic/expected.yaml.d/serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/job/basic/expected.yaml.d/serviceaccount.yaml @@ -5,6 +5,7 @@ metadata: namespace: app-created-namespace labels: acorn.io/app-name: app-name + acorn.io/app-public-name: "app-name" acorn.io/app-namespace: app-namespace acorn.io/managed: "true" acorn.io/job-name: "oneimage" diff --git a/pkg/controller/appdefinition/testdata/job/labels/expected.yaml.d/job.yaml b/pkg/controller/appdefinition/testdata/job/labels/expected.yaml.d/job.yaml index 35e5b8dd7..a441f0ccb 100644 --- a/pkg/controller/appdefinition/testdata/job/labels/expected.yaml.d/job.yaml +++ b/pkg/controller/appdefinition/testdata/job/labels/expected.yaml.d/job.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "job1" "acorn.io/managed": "true" "alljobs": "value" @@ -25,6 +26,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "job1" "acorn.io/managed": "true" "alljobs": "value" diff --git a/pkg/controller/appdefinition/testdata/job/labels/expected.yaml.d/serviceaccount.yaml b/pkg/controller/appdefinition/testdata/job/labels/expected.yaml.d/serviceaccount.yaml index da4935102..46013a7df 100644 --- a/pkg/controller/appdefinition/testdata/job/labels/expected.yaml.d/serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/job/labels/expected.yaml.d/serviceaccount.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-namespace: app-namespace acorn.io/app-name: app-name + "acorn.io/app-public-name": "app-name" acorn.io/job-name: job1 acorn.io/managed: "true" alljobs: value diff --git a/pkg/controller/appdefinition/testdata/memory/all-set-overwrite/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/memory/all-set-overwrite/expected.yaml.d/deployment.yaml index c7a927d21..123e70e06 100644 --- a/pkg/controller/appdefinition/testdata/memory/all-set-overwrite/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/memory/all-set-overwrite/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/memory/all-set/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/memory/all-set/expected.yaml.d/deployment.yaml index 7c1d21a1d..5b8aad1e1 100644 --- a/pkg/controller/appdefinition/testdata/memory/all-set/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/memory/all-set/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/memory/container/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/memory/container/expected.yaml.d/deployment.yaml index 9a9df09a0..6e4b1c53f 100644 --- a/pkg/controller/appdefinition/testdata/memory/container/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/memory/container/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/memory/job/expected.yaml.d/job.yaml b/pkg/controller/appdefinition/testdata/memory/job/expected.yaml.d/job.yaml index 3d59f11df..77ee8d864 100644 --- a/pkg/controller/appdefinition/testdata/memory/job/expected.yaml.d/job.yaml +++ b/pkg/controller/appdefinition/testdata/memory/job/expected.yaml.d/job.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" spec: @@ -14,6 +15,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/memory/job/expected.yaml.d/serviceaccount.yaml b/pkg/controller/appdefinition/testdata/memory/job/expected.yaml.d/serviceaccount.yaml index a45dcc6a0..5dfb6716a 100644 --- a/pkg/controller/appdefinition/testdata/memory/job/expected.yaml.d/serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/memory/job/expected.yaml.d/serviceaccount.yaml @@ -6,5 +6,6 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: "oneimage" diff --git a/pkg/controller/appdefinition/testdata/memory/overwrite-acornfile-memory/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/memory/overwrite-acornfile-memory/expected.yaml.d/deployment.yaml index f0cb6e24f..cda50845f 100644 --- a/pkg/controller/appdefinition/testdata/memory/overwrite-acornfile-memory/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/memory/overwrite-acornfile-memory/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/memory/sidecar/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/memory/sidecar/expected.yaml.d/deployment.yaml index 05f94e607..696f66b96 100644 --- a/pkg/controller/appdefinition/testdata/memory/sidecar/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/memory/sidecar/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/memory/two-containers/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/memory/two-containers/expected.yaml.d/deployment.yaml index 502c2863c..315ec5a91 100644 --- a/pkg/controller/appdefinition/testdata/memory/two-containers/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/memory/two-containers/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -68,6 +69,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "twoimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/memory/with-acornfile-memory/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/memory/with-acornfile-memory/expected.yaml.d/deployment.yaml index d3799057e..e406478ba 100644 --- a/pkg/controller/appdefinition/testdata/memory/with-acornfile-memory/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/memory/with-acornfile-memory/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/clusterrole.yaml b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/clusterrole.yaml index e6405b65f..d5cdd6096 100644 --- a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/clusterrole.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/clusterrole.yaml @@ -5,6 +5,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage rules: diff --git a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/clusterrolebinding.yaml b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/clusterrolebinding.yaml index 4437aee4e..5400c81b0 100644 --- a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/clusterrolebinding.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/clusterrolebinding.yaml @@ -5,6 +5,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage roleRef: diff --git a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/deployment.yaml index 9ee481fb2..5075afa29 100644 --- a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "twoimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/jobs.yaml b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/jobs.yaml index 7c8dc3073..0767cbc82 100644 --- a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/jobs.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/jobs.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" spec: @@ -14,6 +15,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/role.yaml b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/role.yaml index b64feb73c..cfc3344a6 100644 --- a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/role.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/role.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage rules: diff --git a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/rolebinding.yaml b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/rolebinding.yaml index 79ab8c185..2be297ec5 100644 --- a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/rolebinding.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/rolebinding.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage roleRef: diff --git a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/serviceaccount.yaml b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/serviceaccount.yaml index 13af09153..77bd524f0 100644 --- a/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/both/expected.yaml.d/serviceaccount.yaml @@ -8,6 +8,7 @@ metadata: acorn.io/app-namespace: app-namespace acorn.io/managed: "true" acorn.io/job-name: oneimage + "acorn.io/app-public-name": "app-name" --- apiVersion: v1 kind: ServiceAccount diff --git a/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/deployment.yaml index 9ee481fb2..5075afa29 100644 --- a/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "twoimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/job.yaml b/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/job.yaml index 7c8dc3073..0767cbc82 100644 --- a/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/job.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/job.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" spec: @@ -14,6 +15,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/serviceaccount.yaml b/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/serviceaccount.yaml index 13af09153..ad102bad6 100644 --- a/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/bothwithnopermissions/expected.yaml.d/serviceaccount.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage --- diff --git a/pkg/controller/appdefinition/testdata/permissions/container/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/permissions/container/expected.yaml.d/deployment.yaml index fd4d3cb38..3cc65ecae 100644 --- a/pkg/controller/appdefinition/testdata/permissions/container/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/container/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/containerwithnamespace/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/permissions/containerwithnamespace/expected.yaml.d/deployment.yaml index fd4d3cb38..3cc65ecae 100644 --- a/pkg/controller/appdefinition/testdata/permissions/containerwithnamespace/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/containerwithnamespace/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/differentpermissions/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/permissions/differentpermissions/expected.yaml.d/deployment.yaml index a6f2ff06c..90f25489c 100644 --- a/pkg/controller/appdefinition/testdata/permissions/differentpermissions/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/differentpermissions/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -71,6 +72,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "twoimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/clusterrole.yaml b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/clusterrole.yaml index 7176d3572..26b24d7d7 100644 --- a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/clusterrole.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/clusterrole.yaml @@ -5,6 +5,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage rules: diff --git a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/clusterrolebinding.yaml b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/clusterrolebinding.yaml index 429ad0e73..a39b4d818 100644 --- a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/clusterrolebinding.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/clusterrolebinding.yaml @@ -5,6 +5,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage roleRef: diff --git a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/job.yaml b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/job.yaml index 7c8dc3073..0767cbc82 100644 --- a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/job.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/job.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" spec: @@ -14,6 +15,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/role.yaml b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/role.yaml index 38fd79767..edab3c01a 100644 --- a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/role.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/role.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage rules: diff --git a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/rolebinding.yaml b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/rolebinding.yaml index a42c1bffe..88a387e86 100644 --- a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/rolebinding.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/rolebinding.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage roleRef: diff --git a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/serviceaccount.yaml b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/serviceaccount.yaml index 62a4df96c..5ad8b98a4 100644 --- a/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/job/expected.yaml.d/serviceaccount.yaml @@ -6,5 +6,6 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage diff --git a/pkg/controller/appdefinition/testdata/permissions/multiplecontainers/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/permissions/multiplecontainers/expected.yaml.d/deployment.yaml index a6f2ff06c..90f25489c 100644 --- a/pkg/controller/appdefinition/testdata/permissions/multiplecontainers/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/multiplecontainers/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -71,6 +72,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "twoimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/clusterrole.yaml b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/clusterrole.yaml index 38dce41ce..d5170e135 100644 --- a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/clusterrole.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/clusterrole.yaml @@ -5,6 +5,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage rules: @@ -22,6 +23,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: twoimage rules: diff --git a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/clusterrolebinding.yaml b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/clusterrolebinding.yaml index 024eeffb6..864ec006d 100644 --- a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/clusterrolebinding.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/clusterrolebinding.yaml @@ -5,6 +5,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage roleRef: @@ -23,6 +24,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: twoimage roleRef: diff --git a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/job.yaml b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/job.yaml index d43bfe38e..3d9a4db66 100644 --- a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/job.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/job.yaml @@ -6,6 +6,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" spec: @@ -14,6 +15,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -53,6 +55,7 @@ metadata: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "twoimage" "acorn.io/managed": "true" spec: @@ -61,6 +64,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/job-name": "twoimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/role.yaml b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/role.yaml index 7e3c997bd..9861aff8b 100644 --- a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/role.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/role.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage rules: @@ -24,6 +25,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: twoimage rules: diff --git a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/rolebinding.yaml b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/rolebinding.yaml index 254bef5e1..67c0f0ea9 100644 --- a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/rolebinding.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/rolebinding.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage roleRef: @@ -25,6 +26,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: twoimage roleRef: diff --git a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/serviceaccount.yaml b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/serviceaccount.yaml index 3bcc76e24..44813262b 100644 --- a/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/serviceaccount.yaml +++ b/pkg/controller/appdefinition/testdata/permissions/multiplejobs/expected.yaml.d/serviceaccount.yaml @@ -6,6 +6,7 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: oneimage --- @@ -17,5 +18,6 @@ metadata: labels: acorn.io/app-name: app-name acorn.io/app-namespace: app-namespace + "acorn.io/app-public-name": "app-name" acorn.io/managed: "true" acorn.io/job-name: twoimage diff --git a/pkg/controller/appdefinition/testdata/probes/expected.yaml b/pkg/controller/appdefinition/testdata/probes/expected.yaml index 756ee100c..4967b5f1b 100644 --- a/pkg/controller/appdefinition/testdata/probes/expected.yaml +++ b/pkg/controller/appdefinition/testdata/probes/expected.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -201,6 +202,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "nodefault" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/pullsecrets/custom/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/pullsecrets/custom/expected.yaml.d/deployment.yaml index 3167b4a44..4d72e5081 100644 --- a/pkg/controller/appdefinition/testdata/pullsecrets/custom/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/pullsecrets/custom/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -60,6 +61,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "buildimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/pullsecrets/default/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/pullsecrets/default/expected.yaml.d/deployment.yaml index 4add26876..b29f9a1ae 100644 --- a/pkg/controller/appdefinition/testdata/pullsecrets/default/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/pullsecrets/default/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -60,6 +61,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "buildimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/router/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/router/expected.yaml.d/deployment.yaml index d3734a8bb..8f54ce2ec 100644 --- a/pkg/controller/appdefinition/testdata/router/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/router/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/router-name": "router-name" "acorn.io/managed": "true" spec: diff --git a/pkg/controller/appdefinition/testdata/secret/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/secret/expected.yaml.d/deployment.yaml index e31f0ec78..f94800014 100644 --- a/pkg/controller/appdefinition/testdata/secret/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/secret/expected.yaml.d/deployment.yaml @@ -24,6 +24,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/service/alias/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/service/alias/expected.yaml.d/deployment.yaml index d5ace968f..e67e1628b 100644 --- a/pkg/controller/appdefinition/testdata/service/alias/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/service/alias/expected.yaml.d/deployment.yaml @@ -25,6 +25,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "con1" "acorn.io/managed": "true" "con1key": "value" @@ -79,6 +80,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "con2" "acorn.io/managed": "true" "con2key": "value" @@ -128,6 +130,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "con3" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/service/basic/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/service/basic/expected.yaml.d/deployment.yaml index 54cd57607..25cabe85a 100644 --- a/pkg/controller/appdefinition/testdata/service/basic/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/service/basic/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "oneimage" "acorn.io/managed": "true" annotations: @@ -71,6 +72,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "buildimage" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/template/expected.yaml.d/deployment.yaml b/pkg/controller/appdefinition/testdata/template/expected.yaml.d/deployment.yaml index e63d7fccf..7636085f5 100644 --- a/pkg/controller/appdefinition/testdata/template/expected.yaml.d/deployment.yaml +++ b/pkg/controller/appdefinition/testdata/template/expected.yaml.d/deployment.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/cluster-default-with-bind-combos/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/cluster-default-with-bind-combos/expected.yaml index 2e0362f2c..2ba129fd5 100644 --- a/pkg/controller/appdefinition/testdata/volumes/cluster-default-with-bind-combos/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/cluster-default-with-bind-combos/expected.yaml @@ -23,6 +23,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/configure-but-no-bind/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/configure-but-no-bind/expected.yaml index cb099412b..7ec6bbc24 100644 --- a/pkg/controller/appdefinition/testdata/volumes/configure-but-no-bind/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/configure-but-no-bind/expected.yaml @@ -23,6 +23,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/contextdir/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/contextdir/expected.yaml index d5db600cb..268d2e625 100644 --- a/pkg/controller/appdefinition/testdata/volumes/contextdir/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/contextdir/expected.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/defaults/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/defaults/expected.yaml index a24d2d536..263836406 100644 --- a/pkg/controller/appdefinition/testdata/volumes/defaults/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/defaults/expected.yaml @@ -23,6 +23,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/empty/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/empty/expected.yaml index 6ebda5904..89ea5557e 100644 --- a/pkg/controller/appdefinition/testdata/volumes/empty/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/empty/expected.yaml @@ -23,6 +23,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/ephemeral-bound/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/ephemeral-bound/expected.yaml index 8bc6c302e..41fb31886 100644 --- a/pkg/controller/appdefinition/testdata/volumes/ephemeral-bound/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/ephemeral-bound/expected.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/ephemeral/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/ephemeral/expected.yaml index 031d8d776..7c952fdbf 100644 --- a/pkg/controller/appdefinition/testdata/volumes/ephemeral/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/ephemeral/expected.yaml @@ -20,6 +20,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/inactive-class/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/inactive-class/expected.yaml index 92dbe5459..d4d0980d0 100644 --- a/pkg/controller/appdefinition/testdata/volumes/inactive-class/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/inactive-class/expected.yaml @@ -23,6 +23,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/named-bound/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/named-bound/expected.yaml index 1d46410ae..54684b94c 100644 --- a/pkg/controller/appdefinition/testdata/volumes/named-bound/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/named-bound/expected.yaml @@ -23,6 +23,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/named/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/named/expected.yaml index 03c40edea..1d6dc28c0 100644 --- a/pkg/controller/appdefinition/testdata/volumes/named/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/named/expected.yaml @@ -23,6 +23,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/testdata/volumes/no-default-class/expected.yaml b/pkg/controller/appdefinition/testdata/volumes/no-default-class/expected.yaml index 62eb952e5..114b8b13f 100644 --- a/pkg/controller/appdefinition/testdata/volumes/no-default-class/expected.yaml +++ b/pkg/controller/appdefinition/testdata/volumes/no-default-class/expected.yaml @@ -23,6 +23,7 @@ spec: labels: "acorn.io/app-namespace": "app-namespace" "acorn.io/app-name": "app-name" + "acorn.io/app-public-name": "app-name" "acorn.io/container-name": "container-name" "acorn.io/managed": "true" annotations: diff --git a/pkg/controller/appdefinition/cli_status.go b/pkg/controller/appstatus/cli_status.go similarity index 99% rename from pkg/controller/appdefinition/cli_status.go rename to pkg/controller/appstatus/cli_status.go index 85ba4fdbc..01927ffb8 100644 --- a/pkg/controller/appdefinition/cli_status.go +++ b/pkg/controller/appstatus/cli_status.go @@ -1,4 +1,4 @@ -package appdefinition +package appstatus import ( "bytes" diff --git a/pkg/controller/appdefinition/status.go b/pkg/controller/appstatus/status.go similarity index 97% rename from pkg/controller/appdefinition/status.go rename to pkg/controller/appstatus/status.go index 9878c0357..66e3abe4e 100644 --- a/pkg/controller/appdefinition/status.go +++ b/pkg/controller/appstatus/status.go @@ -1,4 +1,4 @@ -package appdefinition +package appstatus import ( "context" @@ -16,6 +16,7 @@ import ( "github.com/acorn-io/acorn/pkg/ports" "github.com/acorn-io/acorn/pkg/volume" "github.com/acorn-io/baaah/pkg/merr" + name2 "github.com/acorn-io/baaah/pkg/name" "github.com/acorn-io/baaah/pkg/router" "github.com/acorn-io/baaah/pkg/typed" appsv1 "k8s.io/api/apps/v1" @@ -113,6 +114,12 @@ func ReadyStatus(req router.Request, resp router.Response) error { return nil } +func acornNames(app *v1.AppInstance) (result []string) { + result = append(result, typed.SortedKeys(app.Status.AppSpec.Acorns)...) + result = append(result, typed.SortedKeys(app.Status.AppSpec.Services)...) + return +} + func AcornStatus(req router.Request, resp router.Response) error { app := req.Object.(*v1.AppInstance) cond := condition.Setter(app, resp, v1.AppInstanceConditionAcorns) @@ -131,9 +138,9 @@ func AcornStatus(req router.Request, resp router.Response) error { waitingMessage string ) - for _, acornName := range typed.SortedKeys(app.Status.AppSpec.Acorns) { + for _, acornName := range acornNames(app) { appInstance := &v1.AppInstance{} - err := req.Get(appInstance, app.Status.Namespace, acornName) + err := req.Get(appInstance, app.Namespace, name2.SafeHashConcatName(app.Name, acornName)) if apierrors.IsNotFound(err) { continue } else if err != nil { diff --git a/pkg/controller/appdefinition/status_test.go b/pkg/controller/appstatus/status_test.go similarity index 97% rename from pkg/controller/appdefinition/status_test.go rename to pkg/controller/appstatus/status_test.go index 0998caae3..4982b94c0 100644 --- a/pkg/controller/appdefinition/status_test.go +++ b/pkg/controller/appstatus/status_test.go @@ -1,4 +1,4 @@ -package appdefinition +package appstatus import ( "testing" diff --git a/pkg/controller/routes.go b/pkg/controller/routes.go index e893a9562..ae79ffbb6 100644 --- a/pkg/controller/routes.go +++ b/pkg/controller/routes.go @@ -6,6 +6,7 @@ import ( v1 "github.com/acorn-io/acorn/pkg/apis/internal.acorn.io/v1" "github.com/acorn-io/acorn/pkg/controller/acornimagebuildinstance" "github.com/acorn-io/acorn/pkg/controller/appdefinition" + "github.com/acorn-io/acorn/pkg/controller/appstatus" "github.com/acorn-io/acorn/pkg/controller/builder" "github.com/acorn-io/acorn/pkg/controller/config" "github.com/acorn-io/acorn/pkg/controller/defaults" @@ -55,20 +56,20 @@ func routes(router *router.Router, registryTransport http.RoundTripper) { appRouter := router.Type(&v1.AppInstance{}).Middleware(appdefinition.RequireNamespace, appdefinition.IgnoreTerminatingNamespace, appdefinition.FilterLabelsAndAnnotationsConfig) appRouter.HandlerFunc(defaults.Calculate) appRouter.HandlerFunc(scheduling.Calculate) - appRouter = appRouter.Middleware(appdefinition.CheckStatus) + appRouter = appRouter.Middleware(appstatus.CheckStatus) appRouter.Middleware(appdefinition.ImagePulled, appdefinition.CheckDependencies).IncludeRemoved().HandlerFunc(appdefinition.DeploySpec) appRouter.Middleware(appdefinition.ImagePulled).HandlerFunc(secrets.CreateSecrets) - appRouter.HandlerFunc(appdefinition.AppStatus) + appRouter.HandlerFunc(appstatus.AppStatus) appRouter.HandlerFunc(appdefinition.AppEndpointsStatus) - appRouter.HandlerFunc(appdefinition.JobStatus) - appRouter.HandlerFunc(appdefinition.VolumeStatus) - appRouter.HandlerFunc(appdefinition.AcornStatus) - appRouter.HandlerFunc(appdefinition.ReadyStatus) + appRouter.HandlerFunc(appstatus.JobStatus) + appRouter.HandlerFunc(appstatus.VolumeStatus) + appRouter.HandlerFunc(appstatus.AcornStatus) + appRouter.HandlerFunc(appstatus.ReadyStatus) appRouter.HandlerFunc(networkpolicy.NetworkPolicyForApp) appRouter.HandlerFunc(appdefinition.AddAcornProjectLabel) appRouter.HandlerFunc(appdefinition.UpdateObservedFields) - router.Type(&v1.AppInstance{}).HandlerFunc(appdefinition.CLIStatus) + router.Type(&v1.AppInstance{}).HandlerFunc(appstatus.CLIStatus) router.Type(&v1.ServiceInstance{}).HandlerFunc(service.RenderServices) diff --git a/pkg/labels/labels.go b/pkg/labels/labels.go index 0c038995b..57114d6aa 100644 --- a/pkg/labels/labels.go +++ b/pkg/labels/labels.go @@ -15,6 +15,7 @@ const ( AcornAppNamespace = Prefix + "app-namespace" AcornAppName = Prefix + "app-name" AcornParentAcornName = Prefix + "parent-acorn-name" + AcornAppPublicName = Prefix + "app-public-name" AcornPublicName = Prefix + "public-name" AcornAcornName = Prefix + "acorn-name" AcornServiceName = Prefix + "service-name" @@ -34,6 +35,7 @@ const ( AcornManaged = Prefix + "managed" AcornContainerSpec = Prefix + "container-spec" AcornImageMapping = Prefix + "image-mapping" + AcornOriginalImage = Prefix + "original-image" AcornPortNumberPrefix = "port-number." + Prefix AcornCredential = Prefix + "credential" AcornPullSecret = Prefix + "pull-secret" diff --git a/pkg/log/log.go b/pkg/log/log.go index 687448619..7a593f21c 100644 --- a/pkg/log/log.go +++ b/pkg/log/log.go @@ -15,6 +15,7 @@ import ( internalv1 "github.com/acorn-io/acorn/pkg/apis/internal.acorn.io/v1" hclient "github.com/acorn-io/acorn/pkg/k8sclient" applabels "github.com/acorn-io/acorn/pkg/labels" + "github.com/acorn-io/acorn/pkg/publicname" "github.com/acorn-io/baaah/pkg/restconfig" "github.com/acorn-io/baaah/pkg/watcher" "github.com/sirupsen/logrus" @@ -383,21 +384,21 @@ func matchesPod(pod *corev1.Pod, options *Options) bool { if options == nil || options.ContainerReplica == "" { return true } - parts := strings.SplitN(options.ContainerReplica, ".", 3) - return len(parts) > 1 && pod.Name == parts[1] + podName, _ := publicname.SplitPodContainerName(options.ContainerReplica) + return pod.Name == podName } func matchesContainer(pod *corev1.Pod, container corev1.Container, options *Options) bool { if options != nil && options.ContainerReplica != "" { - parts := strings.SplitN(options.ContainerReplica, ".", 3) - if len(parts) == 3 { - return pod.Name == parts[1] && container.Name == parts[2] - } else if len(parts) == 2 { + podName, containerName := publicname.SplitPodContainerName(options.ContainerReplica) + if containerName == "" { if pod.Labels[applabels.AcornContainerName] != "" { - return pod.Name == parts[1] && container.Name == pod.Labels[applabels.AcornContainerName] + return pod.Name == podName && container.Name == pod.Labels[applabels.AcornContainerName] } else { - return pod.Name == parts[1] && container.Name == pod.Labels[applabels.AcornJobName] + return pod.Name == podName && container.Name == pod.Labels[applabels.AcornJobName] } + } else { + return pod.Name == podName && container.Name == containerName } } @@ -455,11 +456,33 @@ func App(ctx context.Context, app *apiv1.App, output chan<- Message, options *Op podSelector := labels.SelectorFromSet(labels.Set{ applabels.AcornManaged: "true", }) + parentSelector := labels.SelectorFromSet(labels.Set{ + applabels.AcornParentAcornName: app.Name, + }) // Ensure that if once func finishes they are all canceled ctx, cancel := context.WithCancel(ctx) defer cancel() eg := errgroup.Group{} + eg.Go(func() error { + defer cancel() + _, err := appWatcher.BySelector(ctx, app.Namespace, parentSelector, func(app *apiv1.App) (bool, error) { + if watching.shouldWatch("App", app.Namespace, app.Name) { + eg.Go(func() error { + err := App(ctx, app, output, options) + if err != nil { + output <- Message{ + Time: time.Now(), + Err: err, + } + } + return err + }) + } + return false, nil + }) + return err + }) eg.Go(func() error { defer cancel() _, err := podWatcher.BySelector(ctx, app.Status.Namespace, podSelector, func(pod *corev1.Pod) (bool, error) { @@ -476,7 +499,7 @@ func App(ctx context.Context, app *apiv1.App, output chan<- Message, options *Op Err: err, } } - return nil + return err }) } return false, nil diff --git a/pkg/log/log_test.go b/pkg/log/log_test.go index b5019c997..32ae33fab 100644 --- a/pkg/log/log_test.go +++ b/pkg/log/log_test.go @@ -111,7 +111,7 @@ func TestMatchesContainer(t *testing.T) { pod: appWithLinkerdProxy, container: corev1.Container{Name: "nginx"}, options: &Options{ - ContainerReplica: "app-name.app-with-linkerd-pod.nginx", + ContainerReplica: "app-name.app-with-linkerd-pod:nginx", }, }, expectedResult: true, @@ -122,7 +122,7 @@ func TestMatchesContainer(t *testing.T) { pod: appWithLinkerdProxy, container: corev1.Container{Name: "sidecar"}, options: &Options{ - ContainerReplica: "app-name.app-with-linkerd-pod.sidecar", + ContainerReplica: "app-name.app-with-linkerd-pod:sidecar", }, }, expectedResult: true, @@ -168,12 +168,12 @@ func TestMatchesContainer(t *testing.T) { expectedResult: true, }, { - name: "app-with-job.job-with-linkerd-pod.busybox-match", + name: "app-with-job.job-with-linkerd-pod:busybox-match", args: args{ pod: jobWithLinkerdProxy, container: corev1.Container{Name: "busybox"}, options: &Options{ - ContainerReplica: "app-with-job.job-with-linkerd-pod.busybox", + ContainerReplica: "app-with-job.job-with-linkerd-pod:busybox", }, }, expectedResult: true, diff --git a/pkg/namespace/namespace.go b/pkg/namespace/namespace.go index c59e17ed2..6f8a0eff3 100644 --- a/pkg/namespace/namespace.go +++ b/pkg/namespace/namespace.go @@ -45,8 +45,8 @@ func NormalizedName(obj metav1.ObjectMeta) (string, string) { if rootNS != "" { ns = rootNS } - if len(obj.Labels[labels.AcornAppName]) > 0 { - name = obj.Labels[labels.AcornAppName] + "." + obj.Name + if len(obj.Labels[labels.AcornAppPublicName]) > 0 { + name = obj.Labels[labels.AcornAppPublicName] + "." + obj.Name } return ns, name } diff --git a/pkg/publicname/container.go b/pkg/publicname/container.go new file mode 100644 index 000000000..e87a96c48 --- /dev/null +++ b/pkg/publicname/container.go @@ -0,0 +1,10 @@ +package publicname + +import "strings" + +func SplitPodContainerName(name string) (string, string) { + parts := strings.Split(name, ".") + last := parts[len(parts)-1] + podName, containerName, _ := strings.Cut(last, ":") + return podName, containerName +} diff --git a/pkg/server/registry/apigroups/acorn/containers/translator.go b/pkg/server/registry/apigroups/acorn/containers/translator.go index a90b91dbf..c79895942 100644 --- a/pkg/server/registry/apigroups/acorn/containers/translator.go +++ b/pkg/server/registry/apigroups/acorn/containers/translator.go @@ -29,28 +29,22 @@ type Translator struct { client kclient.Client } -// name can be +"."+ or +"."++"."+ func (t *Translator) FromPublicName(ctx context.Context, namespace, name string) (string, string, error) { - for { - prefix, suffix, ok := strings.Cut(name, ".") - if !ok { - break - } - app := &v1.AppInstance{} - err := t.client.Get(ctx, router.Key(namespace, prefix), app) - if err != nil { - return namespace, name, err - } + parts := strings.Split(name, ".") + if len(parts) == 1 { + return namespace, name, nil + } + appName := strings.Join(parts[:len(parts)-1], ".") + containerName := parts[len(parts)-1] - name = suffix - namespace = app.Status.Namespace - // stop when name becomes or +"."+ - if strings.Count(name, ".") < 2 { - break - } + app := &apiv1.App{} + err := t.client.Get(ctx, router.Key(namespace, appName), app) + if err != nil { + return namespace, name, err } - // return with stripped if any - return namespace, strings.Split(name, ".")[0], nil + + namespace = app.Status.Namespace + return namespace, strings.Split(containerName, ":")[0], nil } func (t *Translator) ListOpts(ctx context.Context, namespace string, opts storage.ListOptions) (string, storage.ListOptions, error) { @@ -157,7 +151,7 @@ func containerSpecToContainerReplica(pod *corev1.Pod, imageMapping map[string]st if sidecarName != "" { containerSpec = containerSpec.Sidecars[sidecarName] - name += "." + sidecarName + name += ":" + sidecarName containerStatusName = sidecarName uid = types.UID(string(uid) + "-" + sidecarName) } else { @@ -180,7 +174,7 @@ func containerSpecToContainerReplica(pod *corev1.Pod, imageMapping map[string]st result.Namespace = namespace result.OwnerReferences = nil result.UID = uid - result.Spec.AppName = pod.Labels[labels.AcornAppName] + result.Spec.AppName = pod.Labels[labels.AcornAppPublicName] result.Spec.JobName = jobName result.Spec.ContainerName = containerName result.Spec.SidecarName = sidecarName diff --git a/pkg/server/registry/apigroups/acorn/containers/translator_test.go b/pkg/server/registry/apigroups/acorn/containers/translator_test.go index 5d9b82c3d..13bf18666 100644 --- a/pkg/server/registry/apigroups/acorn/containers/translator_test.go +++ b/pkg/server/registry/apigroups/acorn/containers/translator_test.go @@ -5,6 +5,7 @@ import ( "fmt" "testing" + apiv1 "github.com/acorn-io/acorn/pkg/apis/api.acorn.io/v1" v1 "github.com/acorn-io/acorn/pkg/apis/internal.acorn.io/v1" "github.com/acorn-io/acorn/pkg/scheme" "github.com/acorn-io/baaah/pkg/router/tester" @@ -13,7 +14,7 @@ import ( ) func TestFromPublicName(t *testing.T) { - app := &v1.AppInstance{ + app := &apiv1.App{ ObjectMeta: metav1.ObjectMeta{ Name: "app", Namespace: "appNs", @@ -40,7 +41,7 @@ func TestFromPublicName(t *testing.T) { expectedErr: nil, }, { - containerPublicName: "app.pod.container", + containerPublicName: "app.pod:container", containerPublicNamespace: app.Namespace, expectedPodName: "pod", @@ -49,18 +50,18 @@ func TestFromPublicName(t *testing.T) { }, { - containerPublicName: "nonExistingApp.pod.container", + containerPublicName: "nonExistingApp.pod:container", containerPublicNamespace: app.Namespace, - expectedPodName: "nonExistingApp.pod.container", + expectedPodName: "nonExistingApp.pod:container", expectedPodNamespace: app.Namespace, expectedErr: fmt.Errorf("\"nonExistingApp\" not found"), }, { - containerPublicName: "app.pod.container", + containerPublicName: "app.pod:container", containerPublicNamespace: "nonExistingNamespace", - expectedPodName: "app.pod.container", + expectedPodName: "app.pod:container", expectedPodNamespace: "nonExistingNamespace", expectedErr: fmt.Errorf("\"app\" not found"), }, @@ -87,7 +88,7 @@ func TestFromPublicName(t *testing.T) { tc := tests[i] tcName := tc.containerPublicNamespace + "/" + tc.containerPublicName t.Run(tcName, func(t *testing.T) { - t.Parallel() + //t.Parallel() req := tester.NewRequest(t, scheme.Scheme, app) translator := &Translator{req.Client}