@@ -40,10 +40,12 @@ func NewBuilder(ctx *pulumi.Context, args BuilderComponentArgs, opts ...pulumi.R
4040 }
4141
4242 // Create service account
43- sa , err := corev1 .NewServiceAccount (ctx , fmt .Sprintf ("%s-sa" , args .Name ), & corev1.ServiceAccountArgs {
43+ serviceAccountName := fmt .Sprintf ("%s-sa" , args .Name )
44+ sa , err := corev1 .NewServiceAccount (ctx , serviceAccountName , & corev1.ServiceAccountArgs {
4445 Metadata : & metav1.ObjectMetaArgs {
45- Name : pulumi .String (fmt . Sprintf ( "%s-sa" , args . Name ) ),
46+ Name : pulumi .String (serviceAccountName ),
4647 Namespace : pulumi .String (args .Namespace ),
48+ Labels : utils .CreateResourceLabels (args .Name , serviceAccountName , args .Name , nil ),
4749 },
4850 }, pulumi .Parent (component ))
4951 if err != nil {
@@ -52,39 +54,42 @@ func NewBuilder(ctx *pulumi.Context, args BuilderComponentArgs, opts ...pulumi.R
5254 component .ServiceAccount = sa
5355
5456 // Create ConfigMap for environment variables
57+ configMapName := fmt .Sprintf ("%s-env" , args .Name )
5558 configMap , err := utils .CreateConfigMap (
5659 ctx ,
57- fmt . Sprintf ( "%s-configmap" , args . Name ) ,
60+ configMapName ,
5861 pulumi .String (args .Namespace ),
59- pulumi.StringMap {
60- "app" : pulumi .String (args .Name ),
61- "app.kubernetes.io/name" : pulumi .String (args .Name ),
62- "app.kubernetes.io/part-of" : pulumi .String (args .Name ),
63- },
62+ utils .CreateResourceLabels (args .Name , configMapName , args .Name , nil ),
6463 args .BuilderEnv ,
6564 )
6665 if err != nil {
6766 return nil , fmt .Errorf ("failed to create environment ConfigMap: %w" , err )
6867 }
6968 component .ConfigMap = configMap
7069
70+ // Create pod labels with app label for routing
71+ podLabels := utils .CreateResourceLabels (args .Name , args .Name , args .Name , args .AppLabels .Labels )
72+ podLabels ["app" ] = pulumi .String (args .Name )
73+
7174 // Create deployment
72- deployment , err := appsv1 .NewDeployment (ctx , fmt .Sprintf ("%s-deployment" , args .Name ), & appsv1.DeploymentArgs {
75+ deploymentName := fmt .Sprintf ("%s-deployment" , args .Name )
76+ deployment , err := appsv1 .NewDeployment (ctx , deploymentName , & appsv1.DeploymentArgs {
7377 Metadata : & metav1.ObjectMetaArgs {
74- Name : pulumi .String (fmt . Sprintf ( "%s-deployment" , args . Name ) ),
78+ Name : pulumi .String (deploymentName ),
7579 Namespace : pulumi .String (args .Namespace ),
80+ Labels : utils .CreateResourceLabels (args .Name , deploymentName , args .Name , nil ),
7681 },
7782 Spec : & appsv1.DeploymentSpecArgs {
7883 Replicas : pulumi .Int (DefaultReplicas ),
7984 Selector : & metav1.LabelSelectorArgs {
80- MatchLabels : args . AppLabels . Labels ,
85+ MatchLabels : podLabels ,
8186 },
8287 Template : & corev1.PodTemplateSpecArgs {
8388 Metadata : & metav1.ObjectMetaArgs {
84- Labels : args . AppLabels . Labels ,
89+ Labels : podLabels ,
8590 },
8691 Spec : & corev1.PodSpecArgs {
87- ServiceAccountName : pulumi .String (fmt . Sprintf ( "%s-sa" , args . Name ) ),
92+ ServiceAccountName : pulumi .String (serviceAccountName ),
8893 Containers : corev1.ContainerArray {
8994 & corev1.ContainerArgs {
9095 Name : pulumi .String (args .Name ),
@@ -144,18 +149,20 @@ func NewBuilder(ctx *pulumi.Context, args BuilderComponentArgs, opts ...pulumi.R
144149 component .Deployment = deployment
145150
146151 // Create service
147- service , err := corev1 .NewService (ctx , fmt .Sprintf ("%s-service" , args .Name ), & corev1.ServiceArgs {
152+ serviceName := fmt .Sprintf ("%s-service" , args .Name )
153+ service , err := corev1 .NewService (ctx , serviceName , & corev1.ServiceArgs {
148154 Metadata : & metav1.ObjectMetaArgs {
149- Name : pulumi .String (fmt . Sprintf ( "%s-service" , args . Name ) ),
155+ Name : pulumi .String (serviceName ),
150156 Namespace : pulumi .String (args .Namespace ),
157+ Labels : utils .CreateResourceLabels (args .Name , serviceName , args .Name , nil ),
151158 Annotations : pulumi.StringMap {
152159 "prometheus.io/scrape" : pulumi .String ("true" ),
153160 "prometheus.io/port" : pulumi .Sprintf ("%d" , MetricsPort ),
154161 "prometheus.io/path" : pulumi .String ("/metrics" ),
155162 },
156163 },
157164 Spec : & corev1.ServiceSpecArgs {
158- Selector : args . AppLabels . Labels ,
165+ Selector : podLabels ,
159166 Ports : corev1.ServicePortArray {
160167 & corev1.ServicePortArgs {
161168 Port : parseBuilderPort (args .BuilderEnv .BuilderPort ),
@@ -176,17 +183,19 @@ func NewBuilder(ctx *pulumi.Context, args BuilderComponentArgs, opts ...pulumi.R
176183 component .Service = service
177184
178185 // Create pod monitor
186+ podMonitorName := fmt .Sprintf ("%s-pod-monitor" , args .Name )
179187 _ , err = crd .NewCustomResource (ctx , fmt .Sprintf ("%s-svcmon" , args .Name ), & crd.CustomResourceArgs {
180188 ApiVersion : pulumi .String ("monitoring.coreos.com/v1" ),
181189 Kind : pulumi .String ("PodMonitor" ),
182190 Metadata : & metav1.ObjectMetaArgs {
183- Name : pulumi .String (fmt . Sprintf ( "%s-pod-monitor" , args . Name ) ),
191+ Name : pulumi .String (podMonitorName ),
184192 Namespace : pulumi .String (args .Namespace ),
193+ Labels : utils .CreateResourceLabels (args .Name , podMonitorName , args .Name , nil ),
185194 },
186195 OtherFields : map [string ]interface {}{
187196 "spec" : map [string ]interface {}{
188197 "selector" : map [string ]interface {}{
189- "matchLabels" : args . AppLabels . Labels ,
198+ "matchLabels" : podLabels ,
190199 },
191200 "namespaceSelector" : map [string ]interface {}{
192201 "any" : true ,
0 commit comments