La commande `./launcher rebuild` échoue lorsque app.yml contient une longue variable d'environnement

J’essaie d’ajouter une clé privée à l’environnement via app.yml.

Après l’avoir ajoutée, tout cesse de fonctionner. Si je la supprime, tout semble revenir à la normale.

La valeur que j’essaie d’ajouter ressemble à ceci et constitue une ligne de 1755 caractères :

PRIVATE_KEY: “-----BEGIN PRIVATE KEY-----\n…\n…\n-----END PRIVATE KEY-----\n”

Comment puis-je résoudre ce problème ?

> Vérification que le lanceur est à jour
> 
> Récupération de l'origine
> 
> remote: Énumération des objets : 7, terminé.
> 
> remote: Comptage des objets : 100 % (7/7), terminé.
> 
> remote: Compression des objets : 100 % (4/4), terminé.
> 
> remote: Total 4 (delta 2), réutilisé 0 (delta 0), pack réutilisé 0
> 
> Décompression des objets : 100 % (4/4), terminé.
> 
> De gitlab.com : REPO
> 
> 6075498..d46af48 master -> origin/master
> 
> Mise à jour du lanceur
> 
> Mise à jour de 6075498..d46af48
> 
> Avancement rapide
> 
> containers/app.yml | 6 ++----
> 
> 1 fichier modifié, 2 insertions(+), 4 suppressions(-)
> 
> Vérification que le lanceur est à jour
> 
> Récupération de l'origine
> 
> Le lanceur est à jour
> 
> Arrêt de l'ancien conteneur
> 
> + /usr/bin/docker stop -t 60 app
> 
> app
> 
> cd /pups && git pull && /pups/bin/pups --stdin
> 
> /usr/bin/docker : format de référence invalide : le nom du référentiel doit être en minuscules.
> 
> Consultez '/usr/bin/docker run --help'.
> 
> cat : cids/app_bootstrap.cid : Aucun fichier ou répertoire de ce type
> 
> "docker rm" nécessite au moins 1 argument.
> 
> Consultez 'docker rm --help'.
> 
> Utilisation : docker rm [OPTIONS] CONTAINER [CONTAINER...]
> 
> Supprimer un ou plusieurs conteneurs
> 
> rm : impossible de supprimer 'cids/app_bootstrap.cid' : Aucun fichier ou répertoire de ce type
> 
> ** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher les messages d'erreur antérieurs, il peut y en avoir plus d'un.
> 
> ./discourse-doctor peut aider à diagnostiquer le problème.

Avez-vous supprimé les sauts de ligne ? Peuvent-ils être remplacés par \n ?

Stockez la clé privée dans un fichier séparé et passez-la.

@Stephen peux-tu m’aider avec ça ?

Si j’avais le fichier.json dans le même répertoire que app.yml, à quoi ressemblerait la ligne dans app.yml ?

J’ai créé 27 variables… se terminant par des sauts de ligne… apparemment, cela ne supporte pas deux sauts de ligne dans une variable, mais je ne peux pas l’utiliser comme ça. J’ai besoin qu’elle soit dans une variable d’environnement avec un nom spécifique.

Avez-vous essayé d’utiliser du YAML multiligne à la place ?

J’ai essayé le format |, car j’avais besoin des sauts de ligne. Cela m’a renvoyé une autre erreur, quelque chose concernant un commentaire. J’ai donc opté pour l’utilisation du paramètre --env-file docker_args lors de l’appel à la commande ./launcher. Cela a assigné une valeur à la variable d’environnement, mais je dois vérifier si elle est correcte.

Le fichier cert.env créé ne contenait qu’une seule variable d’environnement : la certification.

Je reviendrai plus tard avec des nouvelles, après avoir vérifié.

Ouais, ça semble fonctionner. Je ferai plus de tests, mais pour l’instant, je pense que c’est une bonne solution.