Service account name doesn't match Consul service name

The issue that I face now is that for an application the backend java pod needs a specific service account serviceaccountA which can create k8s secrets from the AWS secrets store. This secret is needed as we mount it as a volume inside the pod. If I do not use this specific SA, the pod will fail to run.

This java pod is also configured to use service backend-java-service.

The problem is that consul expects the SA and SVC to be of the same names by defaults. I know I could just update the service name same as the service account and it would just fix the problem.

But in my situation, there are multiple such applications and I need to incorporate consul SM without having to touch the application or reconfigure them.

Is there any possibility to use some special annotations/labels on the pod or the service or the service account to circumvent the problem. But so far I failed to find that information.

2 Likes