Problème d'amorçage avec RDS --- impossible d'ouvrir le fichier de certificat

J’ai une installation assez standard avec une base de données sur RDS. Elle était sur la version 13.2 et je viens de la mettre à niveau vers la 15.2. Le conteneur existant fonctionne parfaitement.

Lorsque je démarre une nouvelle image, elle migre la base de données, précompile les assets

et ensuite


I, [2023-12-20T20:16:12.865112 #1]  INFO -- : cd /var/www/discourse & sudo -E -u discourse bundle exec rake s3:upload_assets
Nom du plugin 'discourse-linkedin-auth', mais le répertoire du plugin est nommé 'discourse-plugin-linkedin-auth'
Nom du plugin 'stemaway-experience-bbcodes', mais le répertoire du plugin est nommé 'experience-bbcodes'
Nom du plugin 'discourse-badge-search', mais le répertoire du plugin est nommé 'stemaway-badge-search'
Nom du plugin 'points-plugin', mais le répertoire du plugin est nommé 'tacks-plugin'
Nom du plugin 'discourse-group-assign-by-custom-field', mais le répertoire du plugin est nommé 'ucf-group-assignment'
rake aborted!
ActiveRecord::NoDatabaseError: Nous n'avons pas pu trouver votre base de données : discourse. Qui se trouve dans le fichier de configuration de la base de données situé à config/database.yml. (ActiveRecord::NoDatabaseError)


et plus tard des choses comme ça :

Caused by:
PG::ConnectionBad: la connexion au serveur à l'adresse "172.31.x.y", port 5432 a échoué : impossible d'ouvrir le fichier de certificat "/root/.postgresql/postgresql.crt" : Permission refusée (PG::ConnectionBad)
la connexion au serveur à l'adresse "172.31.x.y", port 5432 a échoué : FATAL : aucune entrée pg_hba.conf pour l'hôte "172.31.x.y", utilisateur "postgres", base de données "discourse", aucun chiffrement
...
Pups::ExecError: cd /var/www/discourse & sudo -E -u discourse bundle exec rake s3:upload_assets a échoué avec le retour #<Process::Status: pid 7133 exit 1>

Cela n’a pas de sens (pour moi) qu’il puisse migrer et précompiler mais pas télécharger les assets.
Si j’entre dans le conteneur pendant sa construction, je peux me connecter à postgres en utilisant les identifiants dans l’ENV.

Je vais travailler pour obtenir le log complet de tmux. . . enfin, le buffer n’était pas très grand et ne rentrera pas ici. Je vais essayer de faire un buffer plus grand, de lancer un autre bootstrap, et de coller le log complet quelque part.

2 « J'aime »

Il s’avère que vous avez besoin de

env:
  PGSSLCERT: /tmp/postgresql.crt

Je ne sais pas où j’ai trouvé ça, mais c’est dans le yml du site de staging, mais pas celui de production. Et ça fonctionnait très bien jusqu’à récemment. C’est bizarre, parce que la base de données a migré sans problème, et n’a échoué qu’au moment de la précompilation des assets.

3 « J'aime »

Ce sujet a été automatiquement fermé 30 jours après la dernière réponse. Les nouvelles réponses ne sont plus autorisées.