diff options
Diffstat (limited to 'app/models/backends/terraform_libvirt/backend_methods.rb')
-rw-r--r-- | app/models/backends/terraform_libvirt/backend_methods.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/models/backends/terraform_libvirt/backend_methods.rb b/app/models/backends/terraform_libvirt/backend_methods.rb index d14affa..85cd427 100644 --- a/app/models/backends/terraform_libvirt/backend_methods.rb +++ b/app/models/backends/terraform_libvirt/backend_methods.rb @@ -54,6 +54,26 @@ module Backends::TerraformLibvirt::BackendMethods end end + def in_use_store_paths + [ + GovukGuix::Revision.pluck(:store_path), + available_data_snapshots.pluck(:store_path), + mini_environments.pluck(:backend_data).map { |x| x.dig('build_output') } + ].flatten.compact + end + + def update_guix_gcroots + GovukGuix::UpdateGcrootsDirectory.set_in_use_store_paths( + in_use_store_paths + ) + end + + def add_in_use_store_path(store_path) + GovukGuix::UpdateGcrootsDirectory.add_store_path( + store_path + ) + end + def within_backend_terraform_working_directory(&block) with_advisory_lock( "terraform" |