deis / deis/workflow-cli

Consider disabling automatic Procfile lookup for deis pull

オープン
#307 コメント 2 件 リアクション 1 件 担当者 0 名 GitHub で見る
bug proposal
主要言語
Go
スター
31
フォーク
42
PR マージ指標
30日以内にマージされた PR はありません

説明

Currently the deis workflow cli looks for a `Procfile` in the pwd and uses it to declare proc types when doing a `deis pull`.

This feature is very error prone, because it can happen very easily that one does a `deis create foo --no-remote` followed by `deis pull` while in the git worktree of another workflow app "bar", eg. a rails app with buildpack deploy and a `Procfile`.

If one makes this error, deis will create the new app "foo", but it wil use the bogus `Procfile` to setup a "web" process type along with wrong labels on the "foo"-service which will cause routing to be broken. The app will also not start because the "web" proc type is scaled to 1 and cmd to 0.

To fix such an app, one has to manually scale up cmd and scale down web, edit the deis database to remove the bogus proctype and edit the "foo"-service selector to point to the "cmd" type.

In short it is a major pain to fix for a feature that is probably very rarely used and it is hard to even know what caused this without in-depth knowledge of deis workflow and kubernetes.

I propose to instead change the behavior of the `--procfile` switch to accept either a string or a path to a procfile and remove the automatic lookup for a `Procfile` in the pwd.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず `deis pull` のエントリーポイントと `--procfile` スイッチの処理を追跡し、次にカレントディレクトリの `Procfile` がどこで検出され、解析されるかを特定します。暗黙の `Procfile` が使用されなくなり、明示的に指定された procfile の文字列またはパスが、他の apps に影響を与えることなく意図したプロセスタイプを引き続き宣言すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
go, kubernetes
領域
cli, devops
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。