Certificate II: Local vault with assistant

Hello.

In cert II robot you are asked to create a local vault and put it with the rest of your robot files (which you should never do in any other situation). I have done this and my robot runs perfectly when run from the lab.

When I upload the robot to the cloud, make an assistant from it and try to run it with assistant app, it won’t work anymore. The robot fails on getting the secret from the vault. Is this intended behaviour (because your vault shouldn’t be in the robot files) or should this still work and I’ve just done something wrong?

Regards,
Markus

Hi @markus.peltola and welcome to the forum :heart:

You should insert same Vault key-values into Cloud Vault as you have in your local vault.

One way to think about this:

  • The robot code to access the vault is always the same, whether running locally (without the cloud) or in Robocorp Cloud (the secrets library handles the logic of reading the vault values).
  • The data source for the secrets is either Robocorp Cloud or a local JSON file.
  • When the robot is run from Robocorp Cloud, it will always use the cloud vault (and not the JSON file, even if you have one with the robot code - which you should not in normal scenarios! :sweat_smile:).

Thanks @mika and @jani for the answers. Adding those secrets to my cloud vault worked.

I was just wondering how the evaluation of cert II robot will go. If the person who tests my robot don’t have that same secret in his/her vault and he/she runs the robot in assistant mode, it will fail. Does my submitted robot need to work as assistant with the local vault (without any manual setup)? Or will the robot be tested in lab environment when the local vault will work as intended?

The robots are tested locally. The reasoning behind that is that if the vault code works locally, it would also work in the cloud (since the secrets library handles those). The local vault is used on this robot to avoid the need to set up the robot and the vault in the cloud when reviewing. Hopefully this makes sense. :slight_smile:

PS. You passed! :+1:

2 Likes

fyi it is also possible to use Cloud Vault from the start

Hi Team,

I am getting below error when i am trying to run the BOT via assistant… i have uploaded the same code that worked on robocorp lab… use case is same as for certi level 2…
TclError: no display name and no $DISPLAY environment variable

i have even added the same key-value as in vault…

how to fix this?

Hi, @anu.chitlangia!

I tried your robot (from the repo you posted in the certification form) and it works for me when run as an assistant:

:thinking:

Waoo, that’s weird then… why doesn’t it run for me?

The only way I get the same error is to run this in the cloud as a workforce robot (and not with an assistant). The error basically means that there is no UI available in the cloud. This robot is meant to be run on a physical machine (using the Robocorp Assistant app).

TclError: no display name and no $DISPLAY environment variable

correct… i was about to mention that i am running it from cloud.
what needs to be done for this to run on cloud?
how to make ui available on cloud?

You would need to run a virtual machine that has a full operating system with graphical user interface, etc. The cloud container that is available there right now does not support this use case (it does not provide a graphical user interface). In the future there might be some options available.

If you want to try the assistant, create a new assistant in the cloud, download and install the app, and link it to your cloud. Then you can install the assistant on your local machine and run it through the app:

1 Like

okay, i i have my own virtual machine with all the setup then how can i link it to robocorp cloud?

You would install Robocorp Assistant app on the virtual machine. I’ll ping @Kari here, since I have no real experience with trying that. :sweat_smile:

Anyway, the idea of an assistant is to allow someone working on her computer to run it when needed to help with some tasks.

The virtual machine case sounds more like a use case where you need the physical (or virtual) machine with a full operating system and installed applications to do some tasks that require a specific application, etc.

okay, yea would love to read a document or video on the same of how to setup runs on an actual virtual machine.

For unattended use cases (where you do not need input from the user) you would probably want to install Robocorp Workforce Agent on the physical or a virtual machine:

okay, i’ll try that out… Thanks a lot for quick response!!