diff --git a/pulsar-functions/instance/pom.xml b/pulsar-functions/instance/pom.xml
index c0d68cad72e27..a2f4d2fd50b0f 100644
--- a/pulsar-functions/instance/pom.xml
+++ b/pulsar-functions/instance/pom.xml
@@ -269,6 +269,15 @@
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ some-configuration
+
+
+
diff --git a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/ContextImpl.java b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/ContextImpl.java
index d03f57e97205c..2615063be7153 100644
--- a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/ContextImpl.java
+++ b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/ContextImpl.java
@@ -137,12 +137,32 @@ class ContextImpl implements Context, SinkContext, SourceContext, AutoCloseable
private final Function.FunctionDetails.ComponentType componentType;
+ private static Map buildSecretsMap(InstanceConfig config) {
+ if (!StringUtils.isEmpty(config.getFunctionDetails().getSecretsMap())) {
+ return new Gson().fromJson(config.getFunctionDetails().getSecretsMap(),
+ new TypeToken