@@ -23,6 +23,7 @@ import (
2323 "strings"
2424
2525 "github.com/aws/aws-sdk-go/service/eks"
26+ "github.com/aws/aws-sdk-go/service/iam"
2627 "github.com/pkg/errors"
2728 corev1 "k8s.io/api/core/v1"
2829 apierrors "k8s.io/apimachinery/pkg/api/errors"
@@ -32,6 +33,7 @@ import (
3233
3334 "sigs.k8s.io/cluster-api-provider-aws/v2/cmd/clusterawsadm/converters"
3435 iamv1 "sigs.k8s.io/cluster-api-provider-aws/v2/iam/api/v1beta1"
36+ tagConverter "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/converters"
3537 "sigs.k8s.io/cluster-api/controllers/remote"
3638)
3739
@@ -74,6 +76,14 @@ func (s *Service) reconcileOIDCProvider(cluster *eks.Cluster) error {
7476 if err := s .scope .PatchObject (); err != nil {
7577 return errors .Wrap (err , "failed to update control plane with OIDC provider ARN" )
7678 }
79+ // tagging the OIDC provider with the same tags of cluster
80+ inputForTags := iam.TagOpenIDConnectProviderInput {
81+ OpenIDConnectProviderArn : & s .scope .ControlPlane .Status .OIDCProvider .ARN ,
82+ Tags : tagConverter .MapToIAMTags (tagConverter .MapPtrToMap (cluster .Tags )),
83+ }
84+ if _ , err := s .IAMClient .TagOpenIDConnectProvider (& inputForTags ); err != nil {
85+ return errors .Wrap (err , "failed to tag OIDC provider" )
86+ }
7787
7888 if err := s .reconcileTrustPolicy (); err != nil {
7989 return errors .Wrap (err , "failed to reconcile trust policy in workload cluster" )
0 commit comments