Dynatrace Labels Valid (SL008)
Validates Dynatrace flags and labels in application.properties and deployment.yaml files.
Description
Scans SQA & Prod application.properties files to ensure all required Dynatrace flags are present in Mobile-Framework projects. Reads kubernetes/base (or kubernetes/kustomize/base)/deployment.yaml and compares DynatraceDeploymentName to MAP-<>-ServiceName; checks required Dynatrace metrics annotations under spec.template.metadata.annotations; reports ERROR on label mismatches or missing required labels/annotations.
Rationale
Ensure required metrics exporting in production-like profiles. Consistent labeling, annotations, and property flags are required for monitoring and topology mapping.
Findings
-
ERROR
-
DynatraceDeploymentName does not match MAP-<>-ServiceName
-
deployment.yaml missing required label(s)
-
Could not find DynatraceDeploymentName in deployment.yaml
-
Could not find MAP-<>-ServiceName in deployment.yaml
-
Missing required annotation: metrics.dynatrace.com/scrape: 'true' under spec.template.metadata.annotations
-
Missing required annotation: metrics.dynatrace.com/port: '15020' under spec.template.metadata.annotations
-
Missing required property for mobile-framework >= 2.4.0: management.dynatrace.metrics.export.enabled=true
-
Noncompliant
#Mismatched labels
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-service
labels:
DynatraceDeploymentName: my-service
MAP-Prod-ServiceName: other-service
# Required metrics missing for exporting when mobile-framework >= 2.4.0 (for prod)
management.dynatrace.metrics.export.enabled=false
Compliant
#Matching labels
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-service
labels:
DynatraceDeploymentName: my-service
MAP-Prod-ServiceName: my-service
# Required metrics exporting when mobile-framework >= 2.4.0 (for prod)
management.dynatrace.metrics.export.enabled=true