Support for profiles and proxy settings
Problem
In enterprise networks, it is relatively common to have not just firewall protection network traffic but also a network proxy to control the outgoing traffic.
This is a thing where you really should be in contact with your IT.
With the tooling guided here, you can get to the correct solution that you can distribute as a configuration file.
Leveraging your IT to use the tooling and set these things up will make the issue invisible to regular users.
Network proxies are a field of science on their own, and there are A LOT of different setups and ideologies around the topic.
Because of the variance in setups and methodologies, most command-line and developer tools cannot rely on the operating system to get all the settings needed. Most tools implement simple support and almost always depend on some tool-specific environment variables to get the details.
A proxy can be a simple one that can work just with a simple setup of HTTP_PROXY
and HTTPS_PROXY
environment variables.
Conversely, a heavy-duty setup can involve restrictions that only allow access to outside networks from a specific network inside the company. Machines need the correct client certificates or passwords to access the proxy server and require a separate certificate to re-enable HTTPS traffic between the machine and the proxy server.
How to test if you are even affected by this
IT departments should resolve these things, so as an end-user or even a developer, you should NOT need to do these.
The simplest way to test things is to get RCC, create a template robot, and try to run that.
If the run is successful, you are done! If the execution fails, continue reading.
What
RCC Profile Configuration provides a way to create, test and distribute proxy configurations in a single format for all the tools involved. The profile configurations support many things on top of just the proxy settings, so the RCC documentation on the topic is worth a look-see.
Because the configuration is done and controlled by RCC, all Robocorp tools get these settings from a single source, so when you switch to a profile, all tools switch without the need to set things one by one.
With the profile configuration, you can control the following aspects:
- Proxy settings
- Certificate for proxy access
- Enable/disable SSL verifications
- Enable/disable SSL revocations
- Specify tool-specific config files for
pip
andmicromamba
- Set the Robocorp Control Room endpoints
- This is valid for enterprises that have separate SSO login
In general, the RCC profile config gives a lot of control for setting the behavior in enterprise settings.
How
Reminder that creating a profile is a one-time task for someone who knows the network setups.
👉 Running the tooling in the target network also enables immediate testing, which is highly recommended.
Always refer to the RCC Profile Configuration documentation for the latest commands.
- Start by getting and editing the default settings content:
rcc config settings > start.yaml
- You can then edit most values into the
start.yaml
-file you created.
- The next step is to run the interactive configuration setup, but before that, it is good to have these ready:
- Have your edited
start.yaml
file ready - If your proxy needs a client certificate, you need that exported in a PEM file.
- If you have a
pip.ini
config file, have the file ready - If you have a mamba/conda config file, have the file ready
- Have your edited
- Now run:
rcc interactive config
- RCC gives you an interactive sequence of questions to create a new profile using the details you give.
- You can now test the profile you just made according to the guide
RCC
provides:- Import the profile, switch to it, and run the diagnostics and speed test.
- If all pass, you have created a working profile.
- If something fails, you can repeat the interactive creation with different setups until you succeed.
- Once you have a tested configuration, you can deploy the configuration to others.
Deploying profiles
Once done, the profile is just a single YAML file with a filename pattern like: profile_example-profile.yaml
.
- If you know the
ROBOCORP_HOME
path on the users' machines, you only need to get the profile file to that folder.- By default the location is on Windows:
%localappdata%\robocorp
and on Linux & macOS:~/.robocorp
- By default the location is on Windows:
- You can also use
RCC
to import the profile to the correct location by running the command:rcc config import -f <your profile yaml filename>
- Users can have multiple profiles if needed
Using and switching profiles
- List the profiles:
rcc config switch
- The output lists the name and description given when the profile was created.
- Use a profile:
rcc config switch -p <name of the profile>
RCC
extracts the profile settings and optional certificates into theROBOCORP_HOME
and can share the settings with Robocorp tools and applications.