Git Product home page Git Product logo

Comments (11)

tczekajlo avatar tczekajlo commented on September 17, 2024 1

@tczekajlo, thanks for pointing that out. I made changes to the rasa-config-files-configmap.yaml and rasa-deployment.yaml and currently have a working install on this branch.

I'll review the rasax.nginx config.

Can you give me an idea of what configuration items you're thinking of? Is there something about my current PR that would cause an issue?

/
/robots.txt
/core/
/webhooks/
/socket.io
/api/ws
/api/chat
/nginx_status

I think that the ingress-nginx configuration shows well what has to be added to an ingress/proxy/whatever is used to get it to work.

https://github.com/RasaHQ/rasa-x-helm/blob/main/charts/rasa-x/templates/rasa-x-ingress.yaml
https://github.com/RasaHQ/rasa-x-helm/blob/main/charts/rasa-x/templates/rasa-open-source-ingress.yaml

For rasa-x we have to add rewrite for paths and add headers:

      if ($arg_environment = "") {
          rewrite ^/api/chat$ /core/webhooks/rasa/webhook last;
      }
      if ($arg_environment = "production") {
          rewrite ^/api/chat$ /core/webhooks/rasa/webhook last;
      }
      if ($request_uri ~ ^/robots.txt$) {
          return 200 "User-agent: *\nDisallow: /\n";
      }

and

add_header X-Robots-Tag none;

Fox rasa, we have to remember to redirect all requests for the following paths to the rasa backend:

/core/(.*)
/webhooks/
/socket.io

and the last thing, we have to remember to update connections for /api/ws (ingress-nginx is doing it automatically so we don't add it to ingress configuration, but we have it in the nginx image)

Recap
Your current PR looks good in general if we only take into account that we wanna add support for service type, and I think with some small changes we can merge it soon. The issue I see here is a bit different, probably if someone exposes the rasa and rasa-x services directly then expect that it's going to work, so I think we should document/say clearly that "you can do that BUT be aware it requires additional configuration on your side"

from rasa-x-helm.

sara-tagger avatar sara-tagger commented on September 17, 2024

Thanks for the issue, @degiz will get back to you about it soon!

You may find help in the docs and the forum, too 🤗

from rasa-x-helm.

degiz avatar degiz commented on September 17, 2024

cc @tczekajlo

from rasa-x-helm.

rgstephens avatar rgstephens commented on September 17, 2024

Yes, this is needed for rasa-x and rasa-production in particular.

from rasa-x-helm.

rgstephens avatar rgstephens commented on September 17, 2024

@tczekajlo I think we should move port to service.port along with allowing specification of service type, nodePort and loadBalancerIP. WDYT?

I'm putting together a PR that supports port & service.port with priority given to service.port.

rasax:
  service:
    type: ClusterIP
    port: 5002
    nodePort: 
    loadBalancerIP:

versions:
  rasaProduction:
    type: ClusterIP
    port: 5005
    nodePort:
    loadBalancerIP:

from rasa-x-helm.

tczekajlo avatar tczekajlo commented on September 17, 2024

@tczekajlo I think we should move port to service.port along with allowing specification of service type, nodePort and loadBalancerIP. WDYT?

I'm putting together a PR that supports port & service.port with priority given to service.port.

rasax:
  service:
    type: ClusterIP
    port: 5002
    nodePort: 
    loadBalancerIP:

versions:
  rasaProduction:
    type: ClusterIP
    port: 5005
    nodePort:
    loadBalancerIP:

Hmm, exposing directly rasa and rasa-x services won't work. We add additional configuration to the nginx/or ingress-nginx that is required by the services and exposing them without this configuration will make that at some point they don't work correctly.

If we wanna add the only support for a service type that's ok, but if users want to use it to expose the services directly it won't work without additional configuration on their side.

from rasa-x-helm.

rgstephens avatar rgstephens commented on September 17, 2024

@tczekajlo, thanks for pointing that out. I made changes to the rasa-config-files-configmap.yaml and rasa-deployment.yaml and currently have a working install on this branch.

I'll review the rasax.nginx config.

Can you give me an idea of what configuration items you're thinking of? Is there something about my current PR that would cause an issue?

/
/robots.txt
/core/
/webhooks/
/socket.io
/api/ws
/api/chat
/nginx_status

from rasa-x-helm.

tczekajlo avatar tczekajlo commented on September 17, 2024

@rgstephens next week I'm off, if you need any input please ping @RasaHQ/infrastructure

from rasa-x-helm.

rgstephens avatar rgstephens commented on September 17, 2024

After looking through the endpoints, it seems like the main one that needs to be available if someone isn't using the nginx image or ingress is the Rasa X /app/ws websocket which is used by rasa-production and rasa-worker.

To finish up the PR I'll add notes in the README about the additional configuration requirement.

from rasa-x-helm.

rgstephens avatar rgstephens commented on September 17, 2024

@tczekajlo I think this is ready and that there is no additional config requirement that needs to be documented.

from rasa-x-helm.

tczekajlo avatar tczekajlo commented on September 17, 2024

Support for setting service type for Rasa X was added in the 4.2 version. The rasa production deployment is deprecated and not supported anymore, please use the dedicated chart for it (https://helm.rasa.com).

from rasa-x-helm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.