@@ -93,22 +93,28 @@ func GenerateK8SSecret(
93
93
}
94
94
95
95
if cs .Spec .Data != nil {
96
+ var iamrole string
97
+ if cs .Spec .AWSAccountID != nil {
98
+ iamrole = fmt .Sprintf ("arn:aws:iam::%s:role/secret-syncer" , * cs .Spec .AWSAccountID )
99
+ } else {
100
+ iamrole = * cs .Spec .IAMRole
101
+ }
96
102
for _ , field := range cs .Spec .Data {
97
103
if field .Value != nil {
98
104
data [* field .Name ] = []byte (* field .Value )
99
105
}
100
106
101
107
if field .ValueFrom != nil {
102
108
if field .ValueFrom .SecretRef != nil {
103
- AWSSecretValue , err := secretValueGetter (* field .ValueFrom .SecretRef .Name , * cs . Spec . IAMRole )
109
+ AWSSecretValue , err := secretValueGetter (* field .ValueFrom .SecretRef .Name , iamrole )
104
110
if err != nil {
105
111
return nil , err
106
112
}
107
113
data [* field .Name ] = []byte (AWSSecretValue )
108
114
}
109
115
110
116
if field .ValueFrom .SecretKeyRef != nil {
111
- AWSSecretValue , err := secretValueGetter (* field .ValueFrom .SecretKeyRef .Name , * cs . Spec . IAMRole )
117
+ AWSSecretValue , err := secretValueGetter (* field .ValueFrom .SecretKeyRef .Name , iamrole )
112
118
if err != nil {
113
119
return nil , err
114
120
}
@@ -123,10 +129,10 @@ func GenerateK8SSecret(
123
129
tpl := template .New (cs .Name )
124
130
tpl = tpl .Funcs (template.FuncMap {
125
131
"getSecretValue" : func (secretID string ) (string , error ) {
126
- return secretValueGetter (secretID , * cs . Spec . IAMRole )
132
+ return secretValueGetter (secretID , iamrole )
127
133
},
128
134
"getSecretValueMap" : func (secretID string ) (map [string ]interface {}, error ) {
129
- raw , err := secretValueGetter (secretID , * cs . Spec . IAMRole )
135
+ raw , err := secretValueGetter (secretID , iamrole )
130
136
if err != nil {
131
137
return nil , fmt .Errorf ("failed retrieving value for secret %s" , secretID )
132
138
}
0 commit comments