# 

Dépôt chart helm pour l'ajout d'un catalogue de service visible sur l'interface onyxia uniquement par les utilisateurs étant dans un groupe spécifique + ajout du service wordpress.

Nous utilisons le chart helm de https://artifacthub.io/packages/helm/bitnami/wordpress 

Un groupe de projet "datalab-onyxia-admin" a été créer sur l'AD dans le dossier datalab/onyxia

Concernant le chart helm wordpress, pour la personnalisation de l'UI et des valeurs que l'utilisateur pourra paramétrer lors ce qu'il lancera le service "wordpress" depuis le catalogue. Il va falloir modifier des valeurs dans le fichier "values.schema.json" du chart helm wordpress. Ceci est expliqué avec des exemples dans la partie "Onyxia Helm format extension" disponible sur https://github.com/InseeFrLab/onyxia-api/tree/main



## ON GOING

**Guide mise en place catalogue onyxia**:https://docs.onyxia.sh/admin-doc/catalog-of-services

**CatalogControler** : https://github.com/InseeFrLab/onyxia-api/blob/5bd597127bbeeb22d155494d9632dfcaf1c28d1d/onyxia-api/src/main/java/fr/insee/onyxia/api/controller/pub/CatalogController.java#L147


**Helm chart repo**: https://code.groupe-genes.fr/aguyot-ensae/-/packages

**Code des helm chart** https://code.groupe-genes.fr/aguyot-ensae/helm-chart-genes/src/branch/main/charts

### Erreur selon les helm charts

**Helm chart wordpress+valuesjson de VScode**:

Plusieurs tentatives de mixer le values.schema. json pas du chart wordpress et celui du values.json du VScode de l’insee, pas d’erreur significatif sur l’api, le service depuis le catalog ne se lance pas (tourne en boucle + n’apparait pas dans « Mes services » + aucun pod de lancé).


**Helm chart du wordpress sans values.schema.json**
Erreur Pkg sur l’api :
 ``` 
  2024-04-16T08:43:49.610Z ERROR 7 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[.[dispatcherServlet]      : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception [Request processing failed: java.lang.NullPointerException: Cannot invoke "fr.insee.onyxia.model.catalog.Config.Config.getProperties()" because the return value of "fr.insee.onyxia.model.catalog.Pkg.getConfig()" is null] with root cause
  java.lang.NullPointerException: Cannot invoke "fr.insee.onyxia.model.catalog.Config.Config.getProperties()" because the return value of "fr.insee.onyxia.model.catalog.Pkg.getConfig()" is null
    at fr.insee.onyxia.api.controller.pub.CatalogController.addCustomOnyxiaProperties(CatalogController.java:148) ~[classes/:v2.5.0]
    at fr.insee.onyxia.api.controller.pub.CatalogController.getChartByVersion(CatalogController.java:119) ~[classes/:v2.5.0]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
``` 

**Helm chart du wordpress avec uniquement les values.schema.json du wordpress**
``` 
  Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `fr.insee.onyxia.model.catalog.Config.Property$Hidden` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('mariadb/enabled')
  at [Source: (org.apache.commons.compress.archivers.tar.TarArchiveInputStream); line: 86, column: 21] (through reference chain: fr.insee.onyxia.model.catalog.Config.Config["properties"]->fr.insee.onyxia.model.catalog.Config.Category["externalDatabase"]->fr.insee.onyxia.model.catalog.Config.Property["properties"]->java.util.LinkedHashMap["host"]->fr.insee.onyxia.model.catalog.Config.Property["hidden"])
    at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:63) ~[jackson-databind-2.15.4.jar:2.15.4]
``` 
