@@ -95,6 +95,7 @@ def __init__(self, github_playbook_repo: str, forc_url: str, forc_api_key: str):
95
95
self ._loaded_resenv_metadata : dict [str , ResearchEnvironmentMetadata ] = {}
96
96
self ._allowed_forc_templates : list [ResearchEnvironmentTemplate ] = []
97
97
self .update_playbooks ()
98
+ self .fix_rstudio_ansible_role_vars ()
98
99
99
100
@property
100
101
def loaded_research_env_metadata (self ) -> dict [str , ResearchEnvironmentMetadata ]:
@@ -159,6 +160,26 @@ def _process_template_metadata(
159
160
template_metadata
160
161
)
161
162
163
+ def fix_rstudio_ansible_role_vars (self ):
164
+ def create_vars_file (file_path , rstudio_server_download_url ):
165
+ if not os .path .exists (file_path ):
166
+ with open (file_path , "w" ) as f :
167
+ f .write ("# vars file\n " )
168
+ f .write ("---\n " )
169
+ f .write (f"{ rstudio_server_download_url } \n " )
170
+ logger .info (f"File created: { file_path } " )
171
+ else :
172
+ logger .info (f"The file already exists. Skipping creation: { file_path } " )
173
+
174
+ focal_file_path = "/root/.ansible/roles/oefenweb.rstudio_server/vars/_focal.yml"
175
+ noble_file_path = "/root/.ansible/roles/oefenweb.rstudio_server/vars/_noble.yml"
176
+
177
+ rstudio_server_download_url_focal = 'rstudio_server_download_url: "https://download2.rstudio.org/server/focal/{{ rstudio_server_machine_map[ansible_machine] }}/rstudio-server-{{ rstudio_server_version }}-{{ rstudio_server_machine_map[ansible_machine] }}.deb"'
178
+ rstudio_server_download_url_noble = 'rstudio_server_download_url: "https://download2.rstudio.org/server/jammy/{{ rstudio_server_machine_map[ansible_machine] }}/rstudio-server-{{ rstudio_server_version }}-{{ rstudio_server_machine_map[ansible_machine] }}.deb"'
179
+
180
+ create_vars_file (focal_file_path , rstudio_server_download_url_focal )
181
+ create_vars_file (noble_file_path , rstudio_server_download_url_noble )
182
+
162
183
def update_playbooks (self ) -> None :
163
184
if not self .GITHUB_PLAYBOOKS_REPO :
164
185
logger .warning (
0 commit comments