Skip to content

Commit 707fe67

Browse files
authored
Merge pull request ManageIQ#74 from agrare/refactor_environment_variables_for_opentofu_worker
Refactor OpentofuWorker Environment Variables
2 parents 0fd9aa0 + 974dd7e commit 707fe67

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

app/models/opentofu_worker.rb

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -78,31 +78,33 @@ def enable_systemd_unit
7878
create_podman_secret
7979
end
8080

81-
def unit_environment_variables
81+
def environment_variables
82+
super.merge(
83+
"PORT" => container_port.to_s,
84+
"LOG4JS_LEVEL" => ::Settings.log.level_embedded_terraform,
85+
"TF_OFFLINE" => worker_settings[:opentofu_offline].to_s
86+
)
87+
end
88+
89+
def systemd_environment_variables
8290
{
8391
"DATABASE_HOSTNAME" => database_configuration[:host],
8492
"DATABASE_NAME" => database_configuration[:database],
8593
"DATABASE_USERNAME" => database_configuration[:username],
8694
"MEMCACHE_SERVERS" => ::Settings.session.memcache_server,
87-
"PORT" => container_port,
88-
"OPENTOFU_RUNNER_IMAGE" => container_image,
89-
"LOG4JS_LEVEL" => ::Settings.log.level_embedded_terraform,
90-
"TF_OFFLINE" => worker_settings[:opentofu_offline]
95+
"OPENTOFU_RUNNER_IMAGE" => container_image
9196
}
9297
end
9398

99+
def container_environment_variables
100+
super.merge("HOME" => "/home/node")
101+
end
102+
94103
def configure_service_worker_deployment(definition)
95104
super
96105
# overwriting container port to be same as opentofu-runner service port i.e. in this case 6000
97106
definition[:spec][:template][:spec][:containers].first[:ports] = [{:containerPort => container_port}]
98107

99-
# ovewriting home directory to terraform home dir
100-
env_var_array = definition[:spec][:template][:spec][:containers][0][:env]
101-
env_var_array.detect { |env| env[:name] == "HOME" }&.[]=(:value, "/home/node")
102-
103-
definition[:spec][:template][:spec][:containers][0][:env] << {:name => "LOG4JS_LEVEL", :value => Settings.log.level_embedded_terraform}
104-
definition[:spec][:template][:spec][:containers][0][:env] << {:name => "TF_OFFLINE", :value => worker_settings[:opentofu_offline].to_s}
105-
106108
# these volume mounts are require by terraform runner to create the stack, mentioned it as {} so that it can be writable
107109
definition[:spec][:template][:spec][:containers].first[:volumeMounts] << {:name => "terraform-bin-empty", :mountPath => "/home/node/terraform/bin"}
108110
definition[:spec][:template][:spec][:volumes] << {:name => "stacks-empty", :emptyDir => {}}

0 commit comments

Comments
 (0)