Skip to content
This repository has been archived by the owner on Mar 16, 2024. It is now read-only.

Commit

Permalink
Add account id and project name as labels on pods
Browse files Browse the repository at this point in the history
Signed-off-by: Darren Shepherd <darren@acorn.io>
  • Loading branch information
ibuildthecloud authored and cjellick committed Aug 15, 2023
1 parent dc7badd commit a1fbe42
Show file tree
Hide file tree
Showing 74 changed files with 472 additions and 21 deletions.
40 changes: 34 additions & 6 deletions pkg/controller/appdefinition/deploy.go
Expand Up @@ -450,14 +450,36 @@ func routerAnnotations(appInstance *v1.AppInstance, router v1.Router, name strin
return labels.GatherScoped(name, v1.LabelTypeRouter, appInstance.Status.AppSpec.Annotations, router.Annotations, appInstance.Spec.Annotations)
}

func jobLabels(appInstance *v1.AppInstance, container v1.Container, name string, kv ...string) map[string]string {
func jobLabels(appInstance *v1.AppInstance, container v1.Container, name string, interpolator *secrets.Interpolator, kv ...string) (map[string]string, error) {
labelMap := labels.GatherScoped(name, v1.LabelTypeJob, appInstance.Status.AppSpec.Labels, container.Labels, appInstance.Spec.Labels)
return mergeConLabels(labelMap, appInstance, name, kv...)
return addInterpolationLabels(mergeConLabels(labelMap, appInstance, name, kv...), interpolator)
}

func containerLabels(appInstance *v1.AppInstance, container v1.Container, name string, kv ...string) map[string]string {
func addInterpolationLabels(result map[string]string, interpolator *secrets.Interpolator) (map[string]string, error) {
if interpolator != nil {
accountID, err := interpolator.GetAccountID()
if err != nil {
return nil, err
}
if accountID != "" {
result[labels.AcornAccountID] = accountID
}

projectName, err := interpolator.GetProjectName()
if err != nil {
return nil, err
}
if projectName != "" {
result[labels.AcornProjectName] = projectName
}
}
return result, nil
}

func containerLabels(appInstance *v1.AppInstance, container v1.Container, name string, interpolator *secrets.Interpolator, kv ...string) (map[string]string, error) {
labelMap := labels.GatherScoped(name, v1.LabelTypeContainer, appInstance.Status.AppSpec.Labels, container.Labels, appInstance.Spec.Labels)
return mergeConLabels(labelMap, appInstance, name, append([]string{labels.AcornAppPublicName, publicname.Get(appInstance)}, kv...)...)
result := mergeConLabels(labelMap, appInstance, name, append([]string{labels.AcornAppPublicName, publicname.Get(appInstance)}, kv...)...)
return addInterpolationLabels(result, interpolator)
}

func routerLabels(appInstance *v1.AppInstance, router v1.Router, name string, kv ...string) map[string]string {
Expand Down Expand Up @@ -630,8 +652,14 @@ func toDeployment(req router.Request, appInstance *v1.AppInstance, tag name.Refe
return nil, err
}

podLabels := containerLabels(appInstance, container, name)
deploymentLabels := containerLabels(appInstance, container, name)
podLabels, err := containerLabels(appInstance, container, name, interpolator)
if err != nil {
return nil, err
}
deploymentLabels, err := containerLabels(appInstance, container, name, interpolator)
if err != nil {
return nil, err
}
matchLabels := selectorMatchLabels(appInstance, name)

deploymentAnnotations := containerAnnotations(appInstance, container, name)
Expand Down
15 changes: 10 additions & 5 deletions pkg/controller/appdefinition/jobs.go
Expand Up @@ -137,14 +137,19 @@ func toJob(req router.Request, appInstance *v1.AppInstance, pullSecrets *PullSec
baseAnnotations[labels.AcornAppGeneration] = strconv.FormatInt(appInstance.Generation, 10)
}

podLabels, err := jobLabels(appInstance, container, name, interpolator,
labels.AcornManaged, "true",
labels.AcornAppPublicName, publicname.Get(appInstance),
labels.AcornJobName, name,
labels.AcornContainerName, "")
if err != nil {
return nil, err
}

jobSpec := batchv1.JobSpec{
Template: corev1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: jobLabels(appInstance, container, name,
labels.AcornManaged, "true",
labels.AcornAppPublicName, publicname.Get(appInstance),
labels.AcornJobName, name,
labels.AcornContainerName, ""),
Labels: podLabels,
Annotations: labels.Merge(podAnnotations(appInstance, container), baseAnnotations),
},
Spec: corev1.PodSpec{
Expand Down
Expand Up @@ -8,6 +8,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace

Expand All @@ -22,6 +23,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand All @@ -43,6 +45,7 @@ spec:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
spec:
affinity:
nodeAffinity:
Expand Down Expand Up @@ -101,6 +104,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand Down
Expand Up @@ -8,6 +8,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace

Expand All @@ -22,6 +23,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand All @@ -43,6 +45,7 @@ spec:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
spec:
affinity:
nodeAffinity:
Expand Down Expand Up @@ -101,6 +104,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand Down
Expand Up @@ -8,6 +8,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace

Expand All @@ -22,6 +23,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand All @@ -43,6 +45,7 @@ spec:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
spec:
affinity:
nodeAffinity:
Expand Down Expand Up @@ -101,6 +104,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand Down
Expand Up @@ -8,6 +8,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace

Expand All @@ -22,6 +23,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand All @@ -43,6 +45,7 @@ spec:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
spec:
affinity:
nodeAffinity:
Expand Down Expand Up @@ -87,6 +90,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand Down Expand Up @@ -114,6 +118,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: twoimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: twoimage
namespace: app-created-namespace

Expand All @@ -128,6 +133,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: twoimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: twoimage
namespace: app-created-namespace
spec:
Expand All @@ -149,6 +155,7 @@ spec:
acorn.io/app-public-name: app-name
acorn.io/container-name: twoimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
spec:
affinity:
nodeAffinity:
Expand Down Expand Up @@ -193,6 +200,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: twoimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: twoimage
namespace: app-created-namespace
spec:
Expand Down
Expand Up @@ -10,6 +10,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/job-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace

Expand All @@ -28,6 +29,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/job-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand All @@ -43,6 +45,7 @@ spec:
acorn.io/app-public-name: app-name
acorn.io/job-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
spec:
affinity:
nodeAffinity:
Expand Down
Expand Up @@ -8,6 +8,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace

Expand All @@ -22,6 +23,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand All @@ -43,6 +45,7 @@ spec:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
spec:
affinity:
nodeAffinity:
Expand Down Expand Up @@ -101,6 +104,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand Down
Expand Up @@ -8,6 +8,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace

Expand All @@ -22,6 +23,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand All @@ -43,6 +45,7 @@ spec:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
spec:
affinity:
nodeAffinity:
Expand Down Expand Up @@ -87,6 +90,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand Down Expand Up @@ -114,6 +118,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: twoimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: twoimage
namespace: app-created-namespace

Expand All @@ -128,6 +133,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: twoimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: twoimage
namespace: app-created-namespace
spec:
Expand All @@ -149,6 +155,7 @@ spec:
acorn.io/app-public-name: app-name
acorn.io/container-name: twoimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
spec:
containers:
- image: image-name
Expand Down Expand Up @@ -179,6 +186,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: twoimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: twoimage
namespace: app-created-namespace
spec:
Expand Down
Expand Up @@ -8,6 +8,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace

Expand All @@ -22,6 +23,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand All @@ -43,6 +45,7 @@ spec:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
spec:
affinity:
nodeAffinity:
Expand Down Expand Up @@ -101,6 +104,7 @@ metadata:
acorn.io/app-public-name: app-name
acorn.io/container-name: oneimage
acorn.io/managed: "true"
acorn.io/project-name: app-namespace
name: oneimage
namespace: app-created-namespace
spec:
Expand Down

0 comments on commit a1fbe42

Please sign in to comment.