# Basic question regarding custom connectors/channels and Kubernetes deployment

**URL:** <https://forum.rasa.com/t/basic-question-regarding-custom-connectors-channels-and-kubernetes-deployment/29062>\
**Category:** \[Deprecated\] Rasa X Community Edition\
**Created:** [May 19, 2020, 3:23pm UTC](https://forum.rasa.com/t/basic-question-regarding-custom-connectors-channels-and-kubernetes-deployment/29062 "2020-05-19T15:23:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![kago](https://avatars.discourse-cdn.com/v4/letter/k/aeb1de/32.png) [@kago](https://forum.rasa.com/u/kago)\
**Post date:** [May 19, 2020, 3:23pm UTC](https://forum.rasa.com/t/basic-question-regarding-custom-connectors-channels-and-kubernetes-deployment/29062/1 "2020-05-19T15:23:42Z")

</div>

Hi folks. I am currently the “more Ops than Dev” guy that is helping out an internal group of students building a chat application with rasa/rasa-x. I am supporting with the infrastructure, CI/CD part but I don’t have yet too much understanding of the inner workings of rasa.

We are deploying rasa-x via your helm chart to a managed GKE cluster. This part is working fine. We have a custom action server up and running and helm basically just works. The students also want to use a custom channel and have created a python script (eg `custom_channel_rasa.py`) for that, which I am told is already working locally when mounted in the rasa-x container. My question is, where does rasa expect this script? It’s not about the configuration in the `credentials.yml` that seems pretty straight forward. My understanding is, that the python script itself has to be present in the “rasa-x” container of the rasa-x k8s deployment. But this would mean that we would have to build a custom rasa-x image which feels somewhat off. This would have big implications regarding the CI/CD helm workflow and just doesn’t feel right. Can rasa-x deal with custom channels for example present in the action server container? Or in any other container that is available in the namespace? And if so, how or where could you configure the “endpoint” of the custom connector? Maybe its a misunderstanding or I am holding it wrong, I am open for suggestions. Thanks in advance

---

<div class="post-metadata">

**Author:** ![degiz](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/degiz/32/9936_2.png) [@degiz](https://forum.rasa.com/u/degiz)\
**Post date:** [May 20, 2020, 4:08pm UTC](https://forum.rasa.com/t/basic-question-regarding-custom-connectors-channels-and-kubernetes-deployment/29062/2 "2020-05-20T16:08:30Z")

</div>

hey @kago

> where does rasa expect this script?

Channels (code with the implementation) are inside the Rasa Open Source, not Rasa X. More specifically, it’s under `rasa/core/channels` folder. So if you were able to make `custom_channel_rasa.py` work locally, it’s there 🙂

> It’s not about the configuration in the `credentials.yml`

It’s actually exactly there! All channels have names, and in order to enable a channel, it’s name should be listed in the `credentials.yml`. By default the webhook for your channel will be listening on the port `5005`. All relevant info for the custom channels is [here](https://rasa.com/docs/rasa/user-guide/connectors/custom-connectors/).

> the python script itself has to be present in the “rasa-x” container

Since the channels are in Rasa Open Source container, your need to first build a custom docker container with your code inside (using [this](https://github.com/RasaHQ/rasa/blob/master/docker/Dockerfile_full) Dockerfile for example), and then use this container in your k8s deployment for `rasa` app.

> Can rasa-x deal with custom channels for example present in the action server container

Not really, action server is using SDK code, it’s a different repository that has nothing to do with channels.

I hope that helps!

---

<div class="post-metadata">

**Author:** ![kago](https://avatars.discourse-cdn.com/v4/letter/k/aeb1de/32.png) [@kago](https://forum.rasa.com/u/kago)\
**Post date:** [May 20, 2020, 4:13pm UTC](https://forum.rasa.com/t/basic-question-regarding-custom-connectors-channels-and-kubernetes-deployment/29062/3 "2020-05-20T16:13:57Z")

</div>

Thank you for your answer. I finally found this post today that pointed me to the right direction:

> [@Rasa X Docker ModuleNotFoundError with a Custom Component](http://forum.rasa.com/t/rasa-x-docker-modulenotfounderror-with-a-custom-component/24131/3):
>
> +1 for this.

So instead of building a custom rasa-x image we now build custom worker/production image that contains the channel and according to our devs that worked. Like I said, the configuration via helm were basically correct but the script was in the wrong location/container. It still feels a bit clunky to be honest. But enabling custom channels in Kubernetes without building a custom image (eg via configmap or init containers) is probably something for the helm chart repository. Thanks!

---

<div class="post-metadata">

**Author:** ![degiz](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/degiz/32/9936_2.png) [@degiz](https://forum.rasa.com/u/degiz)\
**Post date:** [May 20, 2020, 6:07pm UTC](https://forum.rasa.com/t/basic-question-regarding-custom-connectors-channels-and-kubernetes-deployment/29062/4 "2020-05-20T18:07:22Z")

</div>

@kago

Yes, exactly. You can also mount the folder with you custom channel in it, but container has to be a “Rasa Open Source” one.
