Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Config : migration syntaxe :system #3715

Merged
merged 4 commits into from
Jan 17, 2024
Merged

Config : migration syntaxe :system #3715

merged 4 commits into from
Jan 17, 2024

Conversation

AntoineAugusti
Copy link
Member

On a un warning pour la syntaxe actuelle, je la migre donc.

:http configuration containing {:system, env_var} tuples for TransportWeb.Endpoint is deprecated.

Configuration with deprecated values:

    config :transport, TransportWeb.Endpoint,
      http: [
        port: {:system, "PORT"}
      ]

Move this configuration into config/runtime.exs and replace the {:system, env_var} tuples
with System.get_env/1 function calls:

    config :transport, TransportWeb.Endpoint,
      http: [
        port: System.get_env("PORT")
      ]

Il ne me semble pas nécessaire que ceci soit placé dans runtime.exs.

@AntoineAugusti AntoineAugusti marked this pull request as ready for review January 11, 2024 13:57
@AntoineAugusti AntoineAugusti requested a review from a team as a code owner January 11, 2024 13:57
@thbar thbar self-assigned this Jan 16, 2024
@thbar
Copy link
Contributor

thbar commented Jan 16, 2024

Je commenterai demain, il y a des choses auxquelles il faudra faire attention là dessus.

@AntoineAugusti
Copy link
Member Author

AntoineAugusti commented Jan 17, 2024

:port est documenté comme pouvant être géré au runtime, c'est pourquoi je pensais que ce changement était suffisant. Curieux d'avoir ton avis !

@thbar
Copy link
Contributor

thbar commented Jan 17, 2024

:port est documenté comme
pouvant être géré au runtime, c'est pourquoi je pensais que ce changement était suffisant. Curieux d'avoir ton avis !

Oui tout à fait, c'est gérable au runtime et c'est ce qui était fait avant la PR.

Le warning recommande:

Move this configuration into config/runtime.exs

pour la raison suivante: si tu le mets dans prod.exs comme fait sur la PR, et bien ça ne sera pas géré au runtime, mais à compile time, et c'est ce que le warning vise justement à éviter.

La seule vraie méthode recommandée pour faire cela est de suivre le warning et de déplacer le tout dans runtime.exs, ou bien (dans l'interim, et c'est pas bloqué en dur) de le laisser comme avant, pour que le warning soit là pour nous rappeler qu'il faut faire ce changement !

@thbar
Copy link
Contributor

thbar commented Jan 17, 2024

À ce stade je recommande de créer un ticket avec le warning dedans pour traiter ça un peu plus tard (ça ne va pas casser), et laisser le warning, c'est ce qui sera le plus simple.

(ou bien tu peux te chauffer dessus et le mettre dans runtime comme le warning le recommande, mais ça peut attendre à mon avis)

@AntoineAugusti
Copy link
Member Author

@thbar Je me chauffre, j'ai commencé une PR 😅

J'ai fait du nettoyage dans le fichier de l'endpoint (la partie avec load_from_system_env), ceci semble avoir été utile dans de précédentes versions de Phoenix mais n'est plus d'actualité.

@@ -223,6 +223,16 @@ if config_env() == :prod do
# under "Queue config". For most users, configuring :timeout is enough, as it now includes both queue and query time
timeout: 15_000

config :transport, TransportWeb.Endpoint,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est dans le bloc config_env() == :prod

@thbar thbar disabled auto-merge January 17, 2024 16:02
Copy link
Contributor

@thbar thbar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ça paraît bon, surtout conjointement à:

ENV PORT 8080
ENV MIX_ENV prod

À terme il faudra qu'on aie une configuration plus fortement typée ou avec des fetch_env! mais ça peut attendre (sinon on risque d'avoir des salts à nil ou autres choses dans ce genre, probablement vérifié mais pas tout le temps).

J'ai enlevé l'auto-merge pour préférer un déploiement surveillé.

Tu as déjà testé sur prochainement ?

@AntoineAugusti
Copy link
Member Author

@thbar

Tu as déjà testé sur prochainement ?

Je viens de faire un test pour de vrai sur prochainement ✅ #safety 🦺

🚢

@AntoineAugusti AntoineAugusti added this pull request to the merge queue Jan 17, 2024
Merged via the queue into master with commit e3b2b45 Jan 17, 2024
4 checks passed
@AntoineAugusti AntoineAugusti deleted the config_prod_port branch January 17, 2024 16:43
@thbar
Copy link
Contributor

thbar commented Jan 18, 2024

Je viens de faire un test pour de vrai sur prochainement ✅ #safety 🦺

Impec !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants