From cd0ea8fe164f232c7a5038e2fb227168155dae4e Mon Sep 17 00:00:00 2001 From: devthejo Date: Tue, 26 Sep 2023 15:46:12 +0200 Subject: [PATCH] fix: docker compose build secret --- .envrc | 1 + .envrc.sample | 1 - .gitignore | 2 +- README-dev.md | 10 ++++------ docker-compose.yml | 14 ++++++++++++++ targets/frontend/Dockerfile | 2 -- 6 files changed, 20 insertions(+), 10 deletions(-) create mode 100644 .envrc delete mode 100644 .envrc.sample diff --git a/.envrc b/.envrc new file mode 100644 index 000000000..05b1597f5 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +export NPM_TIPTAP_TOKEN=$(cat .npmTiptapToken.secret) diff --git a/.envrc.sample b/.envrc.sample deleted file mode 100644 index 9f936a83d..000000000 --- a/.envrc.sample +++ /dev/null @@ -1 +0,0 @@ -export NPM_TIPTAP_TOKEN='VOTRE_TOKEN_ICI' diff --git a/.gitignore b/.gitignore index a5fea6c21..94cbc0abc 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,4 @@ docker-compose.override.yml !.yarn/sdks !.yarn/versions -.envrc +.npmTiptapToken.secret diff --git a/README-dev.md b/README-dev.md index a4ed1ce30..de67fd378 100644 --- a/README-dev.md +++ b/README-dev.md @@ -5,16 +5,14 @@ Pour intialiser le projet, nous avons besoin d'une dépendance depuis le registry privé de [tiptap](https://tiptap.dev/). Suivez les étapes suivantes : * [Créer un compte (gratuit)](https://tiptap.dev/register) sur tiptap. * Se rendre sur la page [Pro Extensions](https://collab.tiptap.dev/pro-extensions) de votre compte pour récupérer le token - * Exporter la variable `NPM_TIPTAP_TOKEN` dans votre shell courant + * Créer un fichier `.npmTiptapToken.secret` contenant le token. Il sera utile pour `docker compose` et pour direnv (si l'on souhaite automatiser le chargement de la variable `NPM_TIPTAP_TOKEN`) + * Exporter la variable `NPM_TIPTAP_TOKEN` dans votre shell courant ou, pour automatiser cette étape, passer à l'étape suivante * (optionnel) Pour automatiser la chargement de cette variable lorsque l'on est dans le dossier du projet, il est possible d'installer [direnv](https://direnv.net/). ```sh curl -sfL https://direnv.net/install.sh | bash ``` - Créer ensuite un fichier `.envrc` à la racine avec le contenu suivant (ou en copiant le fichier `.envrc.sample`): - ``` - export NPM_TIPTAP_TOKEN='VOTRE_TOKEN_ICI' - ``` - il faut ensuite executer `direnv allow` (et il faudra exécuter cette commande après chaque changement du fichier .envrc pour autoriser direnv à charger son contenu automatiquement lorsque le shell est dans le dossier) + Le fichier `.npmTiptapToken.secret` contenant le token sera chargé par le fichier .envrc déjà présent à la racine. + Il faut ensuite executer `direnv allow` (et il faudra exécuter cette commande après chaque changement du fichier .envrc pour autoriser direnv à charger son contenu automatiquement lorsque le shell est dans le dossier) Vous pouvez maintenant lancer la commande `yarn install` pour installer les packages du projet. diff --git a/docker-compose.yml b/docker-compose.yml index ba2313dc8..8f92c79c8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -38,6 +38,8 @@ services: context: . dockerfile: targets/frontend/Dockerfile shm_size: 512m + secrets: + - npmTiptapToken depends_on: - hasura ports: @@ -52,6 +54,8 @@ services: context: . dockerfile: targets/contributions/Dockerfile shm_size: 512m + secrets: + - npmTiptapToken depends_on: - hasura - www @@ -67,6 +71,8 @@ services: context: . dockerfile: targets/ingester/Dockerfile shm_size: 512m + secrets: + - npmTiptapToken depends_on: - hasura env_file: @@ -104,6 +110,8 @@ services: context: . dockerfile: targets/export-elasticsearch/Dockerfile shm_size: 512m + secrets: + - npmTiptapToken ports: - 8787:8787 environment: @@ -120,8 +128,14 @@ services: build: context: . dockerfile: targets/alert-cli/Dockerfile + secrets: + - npmTiptapToken volumes: db_data: azurite_data: elastic_data: + +secrets: + npmTiptapToken: + file: .npmTiptapToken.secret diff --git a/targets/frontend/Dockerfile b/targets/frontend/Dockerfile index 77d14aed1..1a0fc4652 100644 --- a/targets/frontend/Dockerfile +++ b/targets/frontend/Dockerfile @@ -7,8 +7,6 @@ WORKDIR /app COPY yarn.lock .yarnrc.yml ./ COPY .yarn .yarn -# Hack copy .npmrc file only if exist (dev only) otherwise use secret -COPY *.npmrc / # hadolint ignore=SC2046 RUN --mount=type=secret,id=npmTiptapToken,target=/secrets/npmTiptapToken \ export NPM_TIPTAP_TOKEN=$(cat /secrets/npmTiptapToken); \