posit-dev / posit-dev/rsconnect-python

Implement flags for targeting an execution environment during deployment

Offen
#652 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
37
Forks
28
Ø Merge
1 T. 3 Std.
Gemergte PRs (30 T.)
7

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit den Command-Einstiegspunkten für deploy und write-manifest und untersuche anschließend, wie das vorhandene Flag --image und die Umgebungsfelder verarbeitet werden. Verfolge den Connect App-Aktualisierungspfad für default_image_name und default_environment_guid. Als abgeschlossen gilt die Aufgabe, wenn die neuen Flags den angeforderten Manifestwert schreiben oder die App-Defaults wie angegeben speichern, mit Abdeckung für beide Commands und Workflows.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
api, cli
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.