Fuzzball Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Logging In and Selecting Your Account

After deciding whether to use the web UI or the CLI to interact with Fuzzball and confirming that you meet all prerequisites, you can log in. Follow the instructions in either the web UI or CLI tab below, depending on your preferred method.

Please select either the web UI or CLI tab to see the appropriate instructions for your environment.

When you first visit the Fuzzball URL (provided by your administrator), you will be directed to a sign-on page. For the cloud instance it will look like this:

Fuzzball cloud instance sign-on page

After signing in you will be directed to the account selection page like so:

Fuzzball account selection page

You can select the account where you will use Fuzzball. Your administrator may have placed you in a shared account, and you will also have access to a personal account based on your username. In this example we’ve selected an account titled “SA”.

Fuzzball workflow page after account selection

If available, it’s a good idea to select a shared account managed by your administrator to complete this quick start guide. If you select your “User Account”, you may need to set up Resource Definitions before you can provision hardware to run your jobs. This is beyond the scope of the 15 minute tutorial.

After selecting your shared account, you may see the workflows that your colleagues have submitted. Sharing workflows is one of the benefits of using a shared account.

The Fuzzball CLI needs to know which context (i.e. Fuzzball installation) you want to interact with. The context is automatically determined by the web UI since you point your browser to a URL. But the CLI needs you to create the appropriate context before you login.

This command contains a series of URLs and an organization ID that you can obtain from your administrator.

$ fuzzball context create beta api.beta.fuzzball.io \
  https://auth.fuzzball.io/auth/realms/db17f530-ef85-429c-bcca-f6faa5ab86ce \
  fuzzball-cli
Configuration for "beta" created.
Configuration for "beta" now in use.

$ fuzzball context list
ACTIVE | NAME | ADDRESS                  | ACCOUNT NAME | ACCOUNT ID
*      | beta | api.beta.fuzzball.io:443 |              |

The first command creates the context (in this case named beta) so that you can access the appropriate Fuzzball cluster. The second command lists your available contexts and highlights (with a *) the currently used context. In this case, the only context available is obviously the one that is used.

If you have created more than one context and want to select the appropriate one, you can use use, the fuzzball context use <context name> command.

Now you can log into the context with the following command:

$ fuzzball context login
Logging into current cluster context...
Using a secure browser, open the link to complete login:
https://auth.fuzzball.io/auth/realms/db17f530-ef85-429c-bcca-f6faa5ab86ce/device?user_code=DPGB-URVO

Waiting for login completion...

The system will open this link in your default browser, guiding you through a secure web-based authentication process.

Alternatively, if you prefer a browser-free approach or are working in an environment without GUI access, you can authenticate directly through the terminal:

$ fuzzball context login --direct

This command will prompt you to enter your username and password. For security purposes, your password will not be visible as you type it in the terminal.

When using the --direct flag with the login command, Fuzzball automatically checks for environment variables $FUZZBALL_USER and $FUZZBALL_PASSWORD. If these variables are set, Fuzzball will use them as credentials without prompting you for input—useful for automated scripts and CI/CD pipelines.

Once you are logged in you can select the account you want to use. You can list the accounts that you can access within the given context using the following command:

$ fuzzball account list
SELECTED | NAME                           | ID                                   | CREATED TIME          | LAST UPDATED
         | SA                             | 4ba9824b-0c12-43cf-9e9a-833881004a0d | 2023-02-14 01:57:04PM | 2023-02-14 01:57:04PM
*        | User Account (dgodlove@ciq.co) | 74a78835-1601-4364-a85c-0eee707b8017 | 2024-03-04 03:49:14PM | 2024-03-04 03:49:14PM

The * on the second line indicates the account that is selected for use. In this case I want to switch from the “User Account” to the organization account named “SA”, because it is already configured by my administrator allowing me to submit workflows.

To switch to a organization account you can use the following syntax with the ID obtained using the list command above.

$ fuzzball account select 4ba9824b-0c12-43cf-9e9a-833881004a0d
Account "SA" in use

$ fuzzball account list
SELECTED | NAME                           | ID                                   | CREATED TIME          | LAST UPDATED
*        | SA                             | 4ba9824b-0c12-43cf-9e9a-833881004a0d | 2023-02-14 01:57:04PM | 2023-02-14 01:57:04PM
         | User Account (dgodlove@ciq.co) | 74a78835-1601-4364-a85c-0eee707b8017 | 2024-03-04 03:49:14PM | 2024-03-04 03:49:14PM