@@ -27,12 +27,13 @@ locals {
2727 service_prefix = terraform. workspace == " default" ? " " : " ${ terraform . workspace } -"
2828
2929 services = {
30- ripple_sync = " ${ local . service_prefix } ripple-to-redcap"
31- redcap_sync = " ${ local . service_prefix } redcap-to-redcap"
32- redcap_to_curious = " ${ local . service_prefix } redcap-to-curious"
33- curious_alerts_websocket = " ${ local . service_prefix } curious-alerts-websocket"
34- hbn_sync_timer = " ${ local . service_prefix } hbn-sync.timer"
35- hbn_sync_target = " ${ local . service_prefix } hbn-sync.target"
30+ ripple_sync = " ${ local . service_prefix } ripple-to-redcap"
31+ redcap_sync = " ${ local . service_prefix } redcap-to-redcap"
32+ redcap_to_curious = " ${ local . service_prefix } redcap-to-curious"
33+ curious_alerts_websocket = " ${ local . service_prefix } curious-alerts-websocket"
34+ curious_accounts_to_redcap = " ${ local . service_prefix } curious-accounts-to-redcap"
35+ curious_data_to_redcap = " ${ local . service_prefix } curious-data-to-redcap"
36+ hbn_sync_timer = " ${ local . service_prefix } hbn-sync.timer"
3637 }
3738}
3839
@@ -138,26 +139,52 @@ resource "local_file" "curious_alerts_websocket_service" {
138139 depends_on = [null_resource. ensure_user_group ]
139140}
140141
141- resource "local_file" "hbn_sync_timer" {
142- content = templatefile (" ${ path . module } /services/hbn-sync.timer.tpl" , {
143- sync_interval_minutes = var.sync_interval_minutes
144- service_prefix = local.service_prefix
145- workspace = terraform.workspace
142+ resource "local_file" "curious_accounts_to_redcap_service" {
143+ content = templatefile (" ${ path . module } /services/curious-accouts-to-redcap.service.tpl" , {
144+ user_group = var.user_group
145+ project_root = local.workspace_dir
146+ venv_path = local.venv_full_path
147+ log_directory = local.log_full_path
148+ workspace = terraform.workspace
146149 })
147- filename = " ${ path . module } /.generated/${ local . services . hbn_sync_timer } "
150+ filename = " ${ path . module } /.generated/${ local . services . curious_accounts_to_redcap } .service "
148151 depends_on = [null_resource. ensure_user_group ]
149152}
150153
151- resource "local_file" "hbn_sync_target" {
152- content = templatefile (" ${ path . module } /services/hbn-sync.target.tpl" , {
153- workspace = terraform.workspace
154+ resource "local_file" "curious_data_to_redcap_service" {
155+ content = templatefile (" ${ path . module } /services/curious-data-to-redcap.service.tpl" , {
156+ user_group = var.user_group
157+ project_root = local.workspace_dir
158+ venv_path = local.venv_full_path
159+ log_directory = local.log_full_path
160+ workspace = terraform.workspace
161+ })
162+ filename = " ${ path . module } /.generated/${ local . services . curious_data_to_redcap } .service"
163+ depends_on = [null_resource. ensure_user_group ]
164+ }
165+
166+ resource "local_file" "hbn_sync_service" {
167+ content = templatefile (" ${ path . module } /services/hbn-sync.service.tpl" , {
154168 services = [
155169 local.services.ripple_sync,
156170 local.services.redcap_sync,
157- local.services.redcap_to_curious
171+ local.services.redcap_to_curious,
172+ local.services.curious_accounts_to_redcap,
173+ local.services.curious_alerts_websocket,
174+ local.services.curious_data_to_redcap
158175 ]
159176 })
160- filename = " ${ path . module } /.generated/${ local . services . hbn_sync_target } "
177+ filename = " ${ path . module } /.generated/hbn-sync.service"
178+ depends_on = [null_resource. ensure_user_group ]
179+ }
180+
181+ resource "local_file" "hbn_sync_timer" {
182+ content = templatefile (" ${ path . module } /services/hbn-sync.timer.tpl" , {
183+ sync_interval_minutes = var.sync_interval_minutes
184+ service_prefix = local.service_prefix
185+ workspace = terraform.workspace
186+ })
187+ filename = " ${ path . module } /.generated/${ local . services . hbn_sync_timer } "
161188 depends_on = [null_resource. ensure_user_group ]
162189}
163190
@@ -192,15 +219,16 @@ resource "null_resource" "deploy_services" {
192219 local_file . redcap_sync_service . content ,
193220 local_file . redcap_to_curious_service . content ,
194221 local_file . curious_alerts_websocket_service . content ,
222+ local_file . curious_accounts_to_redcap_service . content ,
223+ local_file . curious_data_to_redcap_service . content ,
224+ local_file . hbn_sync_service . content ,
195225 local_file . hbn_sync_timer . content ,
196- local_file . hbn_sync_target . content ,
197226 ]))
198227 }
199228 provisioner "local-exec" {
200229 command = <<- EOT
201230 sudo cp ${ path . module } /.generated/*.service /etc/systemd/system/
202231 sudo cp ${ path . module } /.generated/*.timer /etc/systemd/system/
203- sudo cp ${ path . module } /.generated/*.target /etc/systemd/system/
204232 sudo systemctl daemon-reload
205233 echo "✓ Services deployed for workspace: ${ terraform . workspace } "
206234 EOT
@@ -211,8 +239,10 @@ resource "null_resource" "deploy_services" {
211239 local_file . redcap_sync_service ,
212240 local_file . redcap_to_curious_service ,
213241 local_file . curious_alerts_websocket_service ,
242+ local_file . curious_accounts_to_redcap_service ,
243+ local_file . curious_data_to_redcap_service ,
244+ local_file . hbn_sync_service ,
214245 local_file . hbn_sync_timer ,
215- local_file . hbn_sync_target ,
216246 ]
217247}
218248
0 commit comments