Projet

Général

Profil

Autre #6711

Visibilité des services déployés dans Combo

Ajouté par Frédéric Péters il y a environ 9 ans. Mis à jour il y a environ 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
11 mars 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Club:

Description

Pour le moment il y a dans combo un paramétrage COMBO_WCS_SITES :

  "COMBO_WCS_SITES": {
    "default": {
      "url": "https://demo.dev.au-quotidien.com/",
      "title": "Demo",
      "secret": "a",
      "orig": "b" 
    }

Ça serait bien qu'un dictionnaire de services existe automatiquement selon le hobo.json.

{'wcs': ← service_type
   {'eservices': ← slug service
     {'url': base_url, ...

  • modifier combo pour lire un settings de ce format (quel nom ? KNOWN_SERVICES ?)
  • ajouter un middleware pour poser ça dans les settings.

Fichiers

Historique

#1

Mis à jour par Benjamin Dauvergne il y a environ 9 ans

C'est problématique de le mettre dans le middleware de template vars (et dans TEMPLATE_VARS aussi) ?

On l'aura partout (on ne le sait pas encore mais ça pourrait servir ailleurs, et ça me parait évident que ça servira dans des templates).

tenant_settings.KNOWN_SERVICES = etc..
tennat_settings.TEMPLATE_VARS['known-services'] = settings.KNOWN_SERVICES
#2

Mis à jour par Serghei Mihai il y a presque 9 ans

  • Assigné à mis à Serghei Mihai
#3

Mis à jour par Serghei Mihai il y a presque 9 ans

En partant de la structure de dico proposée par Fréd:

{'wcs': ← service_type
   {'eservices': ← slug service
     {'url': base_url, ...

je verrais combo calculer son COMBO_WCS_SITES à partir du KNOWN_SERVICES et charge à hobo de le remplir.

#4

Mis à jour par Frédéric Péters il y a presque 9 ans

Attention, l'idée côté Combo, c'est "modifier combo pour lire un settings de ce format", et non pas "générer le format actuel de COMBO_WCS_SITES à partir d'un autre settings".

#5

Mis à jour par Serghei Mihai il y a presque 9 ans

Ok, je cherche les infos directement dans settings.KNOWN_SERVICES.
Les orig et secret dans KNOWN_SERVICES sont ceux du service en cours.

#6

Mis à jour par Frédéric Péters il y a presque 9 ans

C'est bien simple, tout ce qui s'éloigne d'un bête et méchante remplacement de settings.COMBO_WCS_SITES par un settings.KNOWN_SERVICES.get('wcs', {}) (ou autre du même genre) complique la relecture et peut amener des soucis, que je préférerais éviter.

Il y a des changements de comportement flagrants :

-            if len(settings.COMBO_WCS_SITES) == 1:
-                label = title
-            else:
-                label = '%s : %s' % (site_title, title)
+            label = '%s : %s' % (site_title, title)

et la modif au debian/debian_config.py devrait être séparée.

L'autre patch ne reprend pas du tout les considérations sur les clés mentionnées dans #7192, autant omettre tout à fait 'secret' et 'orig' ici, du coup.

#7

Mis à jour par Serghei Mihai il y a presque 9 ans

Patchs séparés pour combo.
Le secret est calculé dans hobo.

#8

Mis à jour par Thomas Noël il y a presque 9 ans

(note sur 0002: ne pas le pousser ; oublions le packaging pour l'instant, surtout que ça sera plutôt dans /usr/lib/hobo/debian_config_common.py pour que tout le CoT dispose du dico)

0001-settings-deployed : pas ok pour moi, orig n'est pas domain

#9

Mis à jour par Serghei Mihai il y a presque 9 ans

  • Fichier 0001-settings-deployed-services-exposed-in-KNOWN_SERVICES.patch supprimé
#11

Mis à jour par Frédéric Péters il y a presque 9 ans

Alors, côté code je pense que ça va, là. Par contre faut revoir leurs libellés :

  • combo : "wcs: use a generic KNOWN_SERVICES settings instead of WCS_SITES (#6711)"
  • hobo : "multitenant: compute KNOWN_SERVICES from services declared in hobo.json (#6711)"
#12

Mis à jour par Serghei Mihai il y a presque 9 ans

Je mets ces commentaires et je pousse, merci.

#13

Mis à jour par Serghei Mihai il y a presque 9 ans

  • Statut changé de Nouveau à Résolu (à déployer)

Appliqué par les commits:

  • hobo: 92de406065cdc65a4a0d63ebdff5db34acfe8b81 * combo: 8bbd58a7ab8fba492987fb5551ffc33689c540a7
#14

Mis à jour par Thomas Noël il y a presque 9 ans

Pour finir ce sujet, je propose cet énorme et magnifique patch à hobo qui installe hobo.multitenant.settings_loaders.KnownServices sur tous les composants Django de Publik

#15

Mis à jour par Thomas Noël il y a presque 9 ans

  • Statut changé de Information nécessaire à En cours
#16

Mis à jour par Frédéric Péters il y a presque 9 ans

Sûr.

#17

Mis à jour par Thomas Noël il y a presque 9 ans

  • Statut changé de En cours à Résolu (à déployer)

Voilà. Ticket terminé pour de bon, je pense (testé sur vincennes.combo.dev.eo.org, tout ça marche très bien)

commit f6596d73384914f5dcf152de6bd619a702a20321
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Wed May 20 18:52:59 2015 +0200

    debian_config_common.py: add KnownServices tenant settings (#6711)

#18

Mis à jour par Serghei Mihai il y a environ 7 ans

  • Statut changé de Résolu (à déployer) à Fermé
  • Patch proposed mis à Non

Formats disponibles : Atom PDF