Skip to content

rickert-lab/Italo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Italo

Image transfer tool for Indica Labs' HALO 🤌 GUI with macOS

Tip

Italo requires access to HALO's GraphQL API server with a scope=serviceuser|graphql service client. For details on how to create the HALO service client, please see Step 2 of Indica Labs' python example. In short, run the following command from an elevated Windows Command Prompt ("Run as adminstrator") on the HALO server system to request a new service client named Italo:

"C:\Program Files\Indica Labs\Identity Provider\IndicaLabs.ApplicationLayer.Halo.IdentityProvider.exe" reconfigure --script AddResearchServiceClient "client_type=Italo;scopes=serviceuser|graphql"

Details for the newly created service client can then be found on the HALO server system with the Identity Provider's config file:

C:\ProgramData\Indica Labs\Configuration\IndicaLabs.ApplicationLayer.Halo.IdentityProvider\local-production.yml

 - !OidcClient/ClientCredentials
   id: [GraphQL client name]
   scopes:
   - serviceuser
   - graphql
   require_client_secret: true
   secrets:
   - secret: [GraphQL client secret]

However, the creation of new service clients won't come into effect until the corresponding Windows service has been restarted: Either restart the HALO server system or open the "Services" application to restart the service: Select the "HALO Identity Provider" service and restart the service from either the service description on the left (hyperlink) or from the drop-down menu (right-click).

Notice: The [GraphQL client name] is composed of the service client name Italo, an underscore _, and the [GraphQL server name].

Warning

Upon first start, press the Search button. Italo will then write a template configuration file named secrets.json to the current folder. Replace the values indicated by squared brackets [ ] with your custom configuration values:

{
 "client_name": "[GraphQL client name]",
 "client_secrect": "[GraphQL client secret]",
 "client_scope": "serviceuser graphql",
 "grant_type": "client_credentials",
 "server_name": "[GraphQL server name]"
}

Make sure to limit access to the secrets.json file to people you trust with modifying HALO's SQL database.

Caution

Modifying entries in a database or copying files between storage systems bears the risk of unexpected behaviour and failures. HALO's SQL database reports errors upon failing transfer requests, and Italo only copies files without modification of the source or the target: However, you should use stable network connections (ethernet > wifi) and avoid tunneling protocols (vpn) to improve your user experience. If the connection to the server times out (progress bar stops), simply hit "Search" and "Transfer" again to continue.