https://github.com/rickert-lab/italo
Image transfer tool for Indica Labs' HALO
https://github.com/rickert-lab/italo
api copy graphql halo indica labs search sql transfer
Last synced: 7 months ago
JSON representation
Image transfer tool for Indica Labs' HALO
- Host: GitHub
- URL: https://github.com/rickert-lab/italo
- Owner: rickert-lab
- License: gpl-3.0
- Created: 2024-08-15T20:44:06.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-15T18:37:19.000Z (over 1 year ago)
- Last Synced: 2025-07-21T04:40:30.420Z (11 months ago)
- Topics: api, copy, graphql, halo, indica, labs, search, sql, transfer
- Language: Python
- Homepage:
- Size: 1.29 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Italo
Image transfer tool for Indica Labs' HALO 🤌
>[!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](https://gitlab.com/indica_labs_public/example-code#step-2-create-halo-service-client) 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`:
>```terminal
>"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`
>```YAML
> - !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:
>```JSON
>{
> "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.