EMBER_CLI_PROD_ASSETS à 1 plante la précompilation des assets

Intéressant, voici ce que j’obtiens en exécutant votre suggestion (et cela a tout son sens si l’intention est d’accéder à un système de bibliothèque interne avec un utilisateur aléatoire autre que root) :

node
Bienvenue dans Node.js v16.13.2.
Tapez ".help" pour plus d'informations.

> const os = require('os');
undefined

> os.userInfo().shell
Uncaught:
SystemError [ERR_SYSTEM_ERROR]: Une erreur système s'est produite : uv_os_get_passwd a retourné ENOENT (aucun fichier ou répertoire de ce type)
    at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)
    at new SystemError (node:internal/errors:233:5)
    at new NodeError (node:internal/errors:336:7)
    at Object.userInfo (node:os:347:11) {
  code: 'ERR_SYSTEM_ERROR',
  info: {
    errno: -2,
    code: 'ENOENT',
    message: 'aucun fichier ou répertoire de ce type',
    syscall: 'uv_os_get_passwd'
  },
  errno: [Getter/Setter: -2],
  syscall: [Getter/Setter: 'uv_os_get_passwd']
}

>

Comment exécutez-vous exactement l’image Discourse ? Y a-t-il des indicateurs supplémentaires pour la sécurité ?

Nous utilisons une solution conteneurisée basée sur OpenShift, dans laquelle Discourse s’exécute avec un identifiant d’utilisateur aléatoire. Aucun problème jusqu’à présent, approche très similaire au guide d’installation officiel.
Il est certain que nous pouvons contourner ce problème en définissant EMBER_CLI_PROD_ASSETS sur 0, les actifs sont précompilés comme autrefois, mais tôt ou tard, si vos plans sont d’aller dans cette direction, cela peut poser un réel problème pour ce type de solutions si le processus de précompilation actuel est abandonné.

Donc, quelques questions ici :

  • Avez-vous une estimation de l’abandon (si c’est le cas) de la précompilation des actifs à l’ancienne ?
  • Y a-t-il un moyen d’accéder à la machinerie os d’une autre manière, ou d’envisager une approche différente, afin que les solutions conteneurisées avec des identifiants d’utilisateur aléatoires puissent toujours fonctionner ?

Merci beaucoup de vous pencher sur ce problème, très apprécié.

Cordialement,
Ismael

1 « J'aime »