Skip to content

[Helm] Regression: ServiceAccount annotations are ignored in chart version 2.1.x #549

@sdumser

Description

@sdumser

Describe the bug
In version 2.1.x of the Helm chart, the ServiceAccount resource defined in templates/rbac.yaml ignores the serviceAccount.annotations value.

In version 1.x, the template included a block to render {{ .Values.serviceAccount.annotations }}. In the refactor to version 2.x, this block appears to have been omitted from the template, making it impossible to configure IRSA (IAM Roles for Service Accounts) via standard Helm values.

To Reproduce
Steps to reproduce the behavior:

  1. Render the rbac.yaml template specifically, attempting to inject a test annotation:

    helm template test aws-secrets-manager/secrets-store-csi-driver-provider-aws \
      --version 2.1.1 \
      --set serviceAccount.annotations.test-annotation=true \
      --show-only templates/rbac.yaml
  2. Inspect the output.

    • Expected: The metadata block should include the injected annotation:

      metadata:
        name: test-secrets-store-csi-driver-provider-aws
        namespace: default
        annotations:
          test-annotation: true
        labels:
          # ...
    • Actual: The annotations block is completely missing from the rendered output:

      metadata:
        name: test-secrets-store-csi-driver-provider-aws
        namespace: default
        labels:
          helm.sh/chart: secrets-store-csi-driver-provider-aws-2.1.1
          app.kubernetes.io/name: secrets-store-csi-driver-provider-aws
          app.kubernetes.io/instance: test
          app.kubernetes.io/managed-by: Helm
          app: secrets-store-csi-driver-provider-aws

Expected behavior
The annotations defined in values.yaml should be rendered onto the ServiceAccount. This is required to support IRSA (IAM Roles for Service Accounts) for users who have not yet migrated to EKS Pod Identity (or cannot migrate due to Fargate restrictions).

Environment

  • Chart Version: 2.1.0 / 2.1.1
  • Kubernetes Version: (Any)

Additional context
This regression forces users to use sidecar patching or Terraform to inject the IRSA role ARN, breaking standard GitOps workflows where the chart is expected to manage the ServiceAccount configuration.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions