This message was deleted.
# general
s
This message was deleted.
d
Maybe you can change the permissions on the mounted volume to
a+r
? Is this a docker cluster, or K8s?
y
also, why do you copy nar file to toolset pod? do you setup toolset pod as function worker?
o
@David K it's a K8 cluster
@Yu Wei Sung this is the only why I could include the "http connector" and believe this is where the pulsar binary leaves check base on this
Copy code
<https://pulsar.apache.org/docs/3.1.x/getting-started-helm/#step-2-use-pulsar-admin-to-create-pulsar-tenantsnamespacestopics>
y
the container image is probably set to readonly rootfs. you will need to mount the connectors subfolder as volume to copy the nar file.
standalone means you have all components running in single container or process. standalone command won’t work in k8s env (assuming you have multi pods).
o
• @Yu Wei Sung , @David K please how do I define the mounted volume for the connectors, and how do I add new connectors, this is really an issue for me • I also have been trying this command but Iget 404 error
Copy code
pulsar-admin functions download options
my question is this, is it possible to download a sink or source connector with the above command ? for example I want to download this file source connetor https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&amp;filename=pulsar/pulsar-3.1.1/connectors/pulsar-io-file-3.1.1.nar
y
you can build your own image containing those connectors using the current pulsar image as base.
or use function-mesh
d
What is your deployment environment @ojoxdan? K8s or docker?
o
k8s
@David K K8s (kubernetes)
I deployed with the pulsar helm chart
d
Then you should use the function mesh as YuWei suggested.
o
thanks @David K and @Yu Wei Sung I am looking into the function-mesh now to understand how to implement it, if any issue arises please expect my questions
Hello @David K @Yu Wei Sung, I have gone through the function mesh approach you have recommened but that did not solve the problem as it only add the package base on tenant/namespace I am trying to use pulsar to handle webook requests that uses the httpConnector to auto create tenant, namespace and topic then attaching the sinkConfig to it with the specified package name which must already exist in the connectors' directory I have gone ahead to provide an extra volume to my broker, proxy and toolset pods with mountPath: /pulsar/connectors
Copy code
extraVolumes:
    - name: pulsar-connectors
      persistentVolumeClaim:
        claimName: pulsar-data-pvc
  extraVolumeMounts:
    - name: pulsar-connectors
      mountPath: /pulsar/connectors
      readOnly: false
this is effective as I could see that the connectors is I added to the volume when I run this command in any of the pods
Copy code
ls connectors
also the following request returns an empty array just like the standalone instance before sink reload
Copy code
curl <http://serviceurl:8080/admin/v3/functions/connectors>
Now my challenge is the sinks or functions are not loaded when I refresh it with the below request
Copy code
curl -X POST <http://serviceurl:8080/admin/v3/sinks/reloadBuiltInSinks>
this works effortlessly on with the standalone
please @David K @Yu Wei Sung how do I solve this issues as the entire application relies on this
d
Which runtime environment are you using for your connectors/functions? If you are using Function workers, what value do you have set for the
connectorsDirectory
parameter in the
./conf/functions_worker.yml
configuration file? Assuming that maps to your mount path of
/pulsar/connectors,
have you attempted to reload the connectors?