# oc-discovery OpenCloud discovery service.

Manages a local database

Can feed from file/IPFS/...
Stores data in Redis, and Zinq for ranked queries.

To build :

    bee generate routers
    bee run -gendoc=true -downdoc=true

If default Swagger page is displayed instead of tyour api, change url in swagger/index.html file to :

    url: "swagger.json"


sequenceDiagram
    autonumber
    participant Dev as Développeur / Owner
    participant IPFS as Réseau IPFS
    participant CID as CID (hash du fichier)
    participant Argo as Orchestrateur Argo
    participant CU as Compute Unit
    participant MinIO as Storage MinIO

    %% 1. Ajout du fichier sur IPFS
    Dev->>IPFS: Chiffre et ajoute fichier (algo/dataset)
    IPFS-->>CID: Génère CID unique (hash du fichier)
    Dev->>Dev: Stocke CID pour référence future

    %% 2. Orchestration par Argo
    Argo->>CID: Requête CID pour job
    CID-->>Argo: Fournit le fichier (vérifié via hash)

    %% 3. Execution sur la Compute Unit
    Argo->>CU: Déploie job avec fichier récupéré
    CU->>CU: Vérifie hash (CID) pour intégrité
    CU->>CU: Exécute l'algo sur le dataset

    %% 4. Stockage des résultats
    CU->>MinIO: Stocke output (résultats) ou logs
    CU->>IPFS: Optionnel : ajoute output sur IPFS (nouveau CID)

    %% 5. Vérification et traçabilité
    Dev->>IPFS: Vérifie CID output si nécessaire
    CU->>Dev: Fournit résultat et log de hash
