feat: added base64DecodeBytes function to operator template

This commit is contained in:
=
2025-01-18 18:58:00 +05:30
parent 3ba396f7fa
commit 9823c7d1aa
2 changed files with 11 additions and 1 deletions

View File

@@ -104,6 +104,7 @@ spec:
includeAllSecrets: true
data:
SSH_KEY: "{{ .KEY.SecretPath }} {{ .KEY.Value }}"
BINARY_KEY: "{{ base64DecodeBytes .BINARY_KEY_BASE64.Value }}"
creationPolicy: "Orphan" ## Owner | Orphan
# secretType: kubernetes.io/dockerconfigjson

View File

@@ -3,6 +3,7 @@ package controllers
import (
"bytes"
"context"
"encoding/base64"
"errors"
"fmt"
"strings"
@@ -261,7 +262,15 @@ func (r *InfisicalSecretReconciler) updateInfisicalManagedKubeSecret(ctx context
}
for templateKey, userTemplate := range managedTemplateData.Data {
tmpl, err := template.New("secret-templates").Parse(userTemplate)
tmpl, err := template.New("secret-templates").Funcs(template.FuncMap{
"base64DecodeBytes": func(encodedString string) string {
decoded, err := base64.StdEncoding.DecodeString(encodedString)
if err != nil {
return fmt.Sprintf("Error: %v", err)
}
return string(decoded)
},
}).Parse(userTemplate)
if err != nil {
return fmt.Errorf("unable to compile template: %s [err=%v]", templateKey, err)
}