Network Reliability Engineering Community

Display labs Web applications in the right pane?

Would it be possible to replace the terminal in the right pane by any web application running in the lab’s pod ?
I guess this would mean a different kind of endpoint, not utility, but “webapp”, maybe ?

I’m thinking about a lab which is performed fully in a Web interface. This would probably make antidote quite a generic lab deployment platform, outside the CLI world :wink:

Maybe that’d look a bit like was is done for Jupyter, where the ingress(?) is displaying Jupyter’s Web interface… haven’t checked the details, so just guessing.

You’re spot on - in fact there’s more capability in the platform than you discovered, we’re just not talking about it a lot yet. If you look at the stackstorm lesson definition you’ll see some commented-out stuff:

# iframeResources:
# - ref: selfservice
#   protocol: http
#   path: "/"
#   port: 5000

# blackboxes:
# - name: selfservice
#   image: antidotelabs/selfservice-flask-app
#   ports: [5000]

Originally the goal was to show a web-based self-service portal in this lesson, but I broke it out so that I could introduce it into its own lesson. I’m hoping to have this done for the next release, so stay tuned for that. This functionality exists already - as you mention, we’re using a version of it to make jupyter notebooks work.

Also, stay tuned for https://antidoteproject.readthedocs.io/en/latest/platform/curricula/lessons/iframe.html - it’s a placeholder for now but will be updating that page with more details when we feel comfortable setting the masses loose on this feature.

Anyways, good eye - and hopefully this will be a useful feature for you.

1 Like

I’m very much looking forward to testing this :slight_smile: Maybe just to run a container including a noVNC, which works around the lack of graphical display of VNC via Guacamole (until it comes to Antidote-web :wink:

That sounds cool! If you run into any issues, let me know.

I’ve tried the following config:

iframeResources:
- ref: guactest
  protocol: http
  path: "/"
  port: 8080

blackboxes:
- name: guactest
  image: olberger/debian-x11-guacamole-bridge:0.2
  ports: [8080]

Then the iframe displays http://antidote-local:30001/99-xbknat4682q3cj6r-ns-guactest/ i.e. /namespace-servicename

But that gives me a tomcat 404 error (i.e. the default backend of the ingress, antidote-web’s tomcat)

I’m not sure about the way the ingress is suposed to perform the proxying of my “guactest” endpoint/service on port 8080… is this just possible, with the ingress config in selfmedicate ?

Thanks in advance.

The ingress should take care of directing to the appropriate port on the backend, so the URL that the iframe displays should suffice without having to indicate port or anything.

Right now I’d expect this to be either super rough, or worse. I’m hoping to have some time to work on this later on during this release cycle.

I would like to add my +1 to this request. Many apps have web-based front ends that would be great to have a tab for. One thought is to display a “Swagger API” to extend the ReST based lessons.

This feature is already implemented and is available in the latest master as well as the upcoming 0.4.0 release. NRE Labs will be moved to this release shortly after that.

https://antidoteproject.readthedocs.io/en/latest/platform/curricula/lessons/presentations.html#presentation-options

1 Like