posit-dev / posit-dev/rsconnect-python

Implement flags for targeting an execution environment during deployment

オープン
#652 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Python
スター
37
フォーク
28
平均マージ
1日 3時間
マージ済み PR(30日)
7

説明

Connect 2025.04 allows setting environment.identifier in the bundle's manifest.json. This new field allows the content to target a specific execution environment when running on Connect. The existing environment.image field remains unchanged however the semantics are slightly different. An image selection is now treated the same as any other piece of matching criteria. Connect will choose any execution environment that uses the specified container image.

We should add an --environment-id flag to both deploy <app> and write-manifest <app> - the value is the guid of the target execution environment in Connect and it should be written to environment.identifier in the manifest.json.

We should also add arguments the following arguments to deploy <app>: --default-image and --default-environment-id. These arguments accepts an image name and an execution environment guid respectively, however instead of writing these to the manfiest.json, we should update the App record in Connect to set the app.default_image_name and app.default_environment_guid fields. This new workflow allows users to call deploy <app> --default-image='my/custom/image:latest' or deploy <app> --default-environment-id='<env-guid>' only once and the image/environment will continue to be used for subsequent deployments (as long as it isn't overwritten by another deployment). This means that the arguments doesn't need to be provided every time deploy <app> is called, which is how the current --image flag behaves. This is the same workflow used by the Connect dashboard.

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

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

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

deploy と write-manifest のコマンドエントリポイントから始め、既存の --image フラグと環境フィールドがどのように処理されているかを確認します。default_image_name と default_environment_guid の Connect App 更新パスを追跡します。両方のコマンドとワークフローをカバーし、新しいフラグが要求されたマニフェスト値を書き込むか、指定どおりに App のデフォルト値を永続化すれば完了です。

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

評価

技術スタック
python
領域
api, cli
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

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

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