Get my servers to communicate with each other

Hello, I have three servers (pods) running on my Okteto space. For context, they are pods for a Rasa chatbot deployment: duckling server, action server and the chatbot server.
I need to make the chatbot server to communicate with the action server which is on port 5055 but I can’t do this. I used the action server endpoint but it still didn’t work.
Please how can I go about this?

Hi @AbrahamOwos ! Could you share your repository, and/or talk about what you’ve tried so far with more details?

In general, for service-to-service communication you should use “protocol://service-name:port”, since everything is running on the same network. The external endpoints should be used for the end user behavior.

Here’s the repo.
https://github.com/owos/logistics_chatbot

For more context. when I run my bot on my computer, it get the first image but when I run it on okteto, I the second image: it seems like my custom actions are not loading on Okteto.

The second image from Okteto

Unfortunately, we are not experts on RASA, so we’ll need help understanding this a bit more. How are the functions registered? Are there any error messages that you’re seeing?

Ohh, I thought that was a python thing. So basically, the registered actions are methods defined a action.py file, so the action server on okteto is supposed to run the actions.py file and call a particular Method anytime it receives an input from the normal Rasa server.
do you understand?

I think your .rasa folder is too big and it looks to be causing some interference with the loader. As soon as I deleted that folder, everything worked fine for me.

This seems like a RASA-related issue, and not caused by Okteto. I think you might have better luck finding the root cause in a RASA-specific forum.

Hmmm, I’ll try it out.

  1. Do you still have access to the repo, it was private before, I had to make it public so I could share with you. I have my API keys and secrets in some files.
  2. I’ve made some changes to the endpoint.yml file since I last shared it with you. Do you mind showing me the action_endpioint: url that’s in the endpoint.yml file you used?
  3. I actually started debugging from the Rasa forum but then, I was told that if the bot works well on my machine, then they’re sure it’s not a problem of there’s.
    Thank you so much once again.

The file looks like this (comments removed):

action_endpoint:
  url: "http://rasa-actions-server/webhook"

Given how the service rasa-actions-server is defined in your docker-compose, I think you need to use this URL instead:

action_endpoint:
  url: "http://rasa-actions-server:5055/webhook"

As for the API key, instead of having it in your repository, you should look at using Okteto Secrets instead.

Thank you so much Ramiro for all your support, I later abandoned the repo I shared with you to pick another one I saw on GitHub that uses version 3 style of writing the docket compose. I’ve been able to successfully deployed my bot with Okteto and it runs well. I’m happy to help anyone that has similar problems like mine.

Hi @AbrahamOwos, i have rasa on version 3 running on okteto. Could you confirm the format which i should use to define the action server from enpoints.yml file. I am experiencing some challenges to make action server work