diff --git a/service/alerting/funcs/function.go b/service/alerting/funcs/function.go index aba27599..d75a0d93 100644 --- a/service/alerting/funcs/function.go +++ b/service/alerting/funcs/function.go @@ -32,4 +32,5 @@ var genericMap = map[string]interface{}{ "div": div, "mul": mul, "lookup": lookup, + "get_keystore_secret": getKeystoreSecret, } diff --git a/service/alerting/funcs/keystore.go b/service/alerting/funcs/keystore.go new file mode 100644 index 00000000..3712c145 --- /dev/null +++ b/service/alerting/funcs/keystore.go @@ -0,0 +1,19 @@ +/* Copyright © INFINI Ltd. All rights reserved. + * Web: https://infinilabs.com + * Email: hello#infini.ltd */ + +package funcs + +import ( + log "github.com/cihub/seelog" + "infini.sh/framework/core/keystore" +) + +func getKeystoreSecret(key string) string { + vBytes, err := keystore.GetValue(key) + if err != nil { + log.Error("retrieve secret error: ", err) + return "N/A" + } + return string(vBytes) +}