Administrator User Interface
The role of the administrators is to manage the organisation resources and users. In particular, the admin will be able to perform the following operations:
- Select the Control Version System and configure its connection to AIchor;
- Add projects from GitHub or GitLab or BitBucket, Azure DevOps
- Create a new project and link a Git repo;
- Assign seats and Invite users to the project.
The organisation and login pages of the AIchor platform looks like the following:


Engines management
The first icon on the left of the page, is the engines management icon.
On this page, the administrator will be able to create engines where the workload will be running.
AIchor supports 4 engine set-ups:
-
SaaS: Administrators come with their code only. They require to only train their model and do not have any requirements in terms of where the workload will be running.
-
In the Cloud:
Administrators already have an account in one or more cloud providers. The objective is to run the workload on their accounts by either creating engines through AIchor or by importing an already existing engine, created beforehand. -
Hosted:
Administrators are running their workload on InstaDeep infrastructure for security/confidentiality reasons. This will mean that InstaDeep on premise infrastructure will be used. -
On Premise: Administrators have a ready-to-use kubernetes cluster on their public/private cloud and AIchor will import the cluster where the workload will be running.
In each of the previous set-ups, a form has to be filled to import or create the engine. Engines forms are detailed in the section Engine Management.

Add VCS Providers
AIchor needs to have access to the preferred Version Control System (VCS) provider of the organisation to pull the repos from. Currently, AIchor supports GitHub, GitLab, BitBucket and Azure DevOps. Upon first login into the AIchor platform, the administrator will need to click on the “Version Control System” link located in the top menu to configure the access to the platform of the version control system providers where the repositories are located.


GitLab
For GitLab, the steps are as follows: After selecting GitLab and entering a different url if needed, then clicking on button “Next” redirects the administrator to a form where he will need to enter the name, application ID and secret ID. Then he will need to click on the button “Create” for the VCS connection to be established.


The Application details need to be directly generated from the GitHub/GitLab user interface.
-
Click on the link next to "register a new OAuth Application", and a new tab on Gitlab will be opened;
-
On that page, enter:
-
Click "Add new application" button

-
Enter a Name;
-
Redirect URI: This is the URL where users are sent after they authorize with GitLab;
-
Under “Scopes”, tick the option “api” that grants complete read/write access to the API including all groups and projects, the container registry, and the package registry.
-
-
After clicking the “Save application” button the administrator will be taken to the new application page where he will be able to get the Application and Secret IDs:
- The OAuth 2 Client ID in the Application ID field;
- The OAuth 2 Client Secret, accessible: In the Secret field in GitLab 14.1 and earlier. Using the Copy button on the Secret field in GitLab 14.2 and later.

- Copy the application ID and secret ID on AIchor along with the same name entered on GitLab and click "Create".
GitHub
For GitHub, the steps are as follows:
NOTE An administrator on GitHub needs to create the VCS on AIchor and provide access to relevant repositories.
-
Click "Next"
-
Click on the link next to "register a new OAuth Application", and a new tab on GitHub will be opened;
-
On that page, enter:
- Application name;

- Application name;
-
Enter the app name on AIchor
-
Select whether to access selected repositories or all the repositories in GitHub Organisation.

BitBucket
For BitBucket, the steps are as follows:
-
Open the BitBucket account and go to the considered workspace as detailed on AIchor page and select Add OAuth consumer;
-
On the consumer page, enter:
- Name;
- Callback URL from AIchor page;
- URL from AIchor page;
-
After clicking "Save", the administrator will be taken to a page where he will be able to get the key and Secret;

- Copy the key and secret on AIchor along with the same name entered on BitBucket and click "Create".
Azure DevOps
For Azure DevOps, the steps are as follows:
- Select Azure DevOps VCS:


- Follow the steps described in the interface:


- Add "New registration"

- Enter a name for the application and select "Single tenant" option and register the application:

- Search for "Azure DevOps organizations" on Azure console and navigate to "My Azure Organizations":

- Create a new organization:


- Create a new project in the organization:

- Go to "Organization settings" in the bottom left corner:

- Paste the name of the application registered, "Basic" Access level, select the project created in the organisation, and select "Project Administrator" and "Add:

- Finally, get the application ID from the application created at the beginning.
Delete VCS
The administrator will be able to delete the Version Control System linked to his organisation (only if there are no projects associated) by clicking on the “Version Control System” link on the top menu:


Projects Management
The Projects Dashboard is accessible from the left menu by clicking on “Projects”. The first time the administrator logs into the interface the project dashboard will be empty. On successive occasions and after creating projects, the administrator will be presented with the list of the projects that are part of his organisation. The list will be made up of the project name, the project creation date and a link to the Git repo from where it has been pulled. The administrator is able to filter on the names of the projects.


Create New Project
On the left hand side of the menu, and after clicking on the “Create new project” button, the administrator will be guided through the project creation wizard, which is made up of the following steps:
- "Create a new project": The administrator enters the name of the project


- "Select the target engine" : The administrator selects the target engine for the project


- “Select a VCS”: The admin will be asked to select the Version Control System provider he wants to connect to. After clicking on “Next”, he will need to select a repo from the VCS provider;


- “Select Repo”: The admin user will need to click on the desired repository from the displayed list. The list has been pulled from GitLab/GitHub after the administrator provided his connection details. There is a filtering option provided for quick access. To continue with the set-up, the admin should click on the “Next” button;


-
“Select Members”: After selecting a repository in the previous step of the workflow, the list of users assigned to the repo will automatically be fetched from GitHub/GitLab. The information displayed per user is made up of the following fields:
- GitHub/GitLab avatar;
- Full name.


In addition to those fields, there is an input text form so the administrator can introduce the email address of the user of his organisation he wants to assign a seat in AIchor Platform. Note that by default there are allowed up to five seats per project. The administrator should click on the checkbox menu item to select users and click on “Create”.
When a project is created in AIchor, project members will receive two types of notifications via email. One is an invitation to join the organisation and create an account. The second indicates that they are now members of a project in AIchor. Note the following:
- The username of the AIchor account will be the email address of the user;
- The provided link will be generated with an expiration time of 2 days;
- In this initial version of the AIchor platform the administrator will not be able to remove or change the users. This functionality will be added in future versions.
Configure Projects
The administrator can add/Delete users to/from the projects.
If an invitation has expired, a button to "Resend Invitation" is displayed.


In the configuration section, administrators can:
Project switch
Switch a project from an engine to another created or imported engine. Only the below transitions are allowed at the moment:
From GKE to GKE
From onPrem to GKE
From GKE to onPrem
From EKS to EKS
From Azure to Azure

- Switch a project from GitLab VCS to GitHub VCS. This allows administrator to seamlessly use AIchor after migrating a repo from GitLab to GitHub and vice versa.

Note:
If you switch:
- Running jobs would continue to run on the cluster they currently are running on.
- New experiments will be scheduled to the newly switched cluster
PVC management
- Manage PVCs on projects, by creating them, extending them and deleting them. To create a PVC, the administrator should specify:
PVC Name: Name of the PVC
Size of the PVC: Size in MiB
StorageClass: AIchor retrieves available storage classes in the considered engine
Access Mode: The administrator should specify the access mode for the selected storageClass (one of 4 possible values: RWX, RWO,ROM, ROO)

Labels management
Administrators are able to add labels on the projects. Labels are key/value pairs that are applied can be used for governance or cost management purposes.
Labels will be applied on namespaces and other cloud resources (buckets, registries).

Project deletion
Users can also delete a project only if it has no experiments.

