Consider disabling automatic Procfile lookup for deis pull
- 主要言語
- 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