From 7fb0c23b891b8734cb04a9690cd030a134f5cd4d Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 23 Jun 2018 09:21:30 +0100 Subject: Add initial support for fetching govuk-guix revisions on remote hosts This begins to remote the restriction of having to have Guix installed locally. --- app/controllers/govuk_guix/revisions_controller.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'app/controllers') diff --git a/app/controllers/govuk_guix/revisions_controller.rb b/app/controllers/govuk_guix/revisions_controller.rb index 1e311eb..f7c7f56 100644 --- a/app/controllers/govuk_guix/revisions_controller.rb +++ b/app/controllers/govuk_guix/revisions_controller.rb @@ -26,7 +26,19 @@ class GovukGuix::RevisionsController < ApplicationController def enqueue_fetch_revision revision = params.require('revision') - GovukGuix::FetchRevisionJob.enqueue(revision) + # Attempt to check if this can be performed locally + if File.exist? '/var/guix/daemon-socket/socket' + options = {} + else + # Assume that the AWS backend is in use + backend = Backends::TerraformAws.first + + options = { + run_remotely_on_host: "ubuntu@guix-daemon.#{backend.domain}" + } + end + + GovukGuix::FetchRevisionJob.enqueue(revision, options) flash[:info] = "Fetching govuk-guix revision (#{revision})..." redirect_to setup_path -- cgit v1.2.3