From b8e6c4be4d8b2a460dc6e7497e4b7a27f88fbf86 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Tue, 15 Sep 2020 11:45:30 -0400 Subject: [PATCH] use jenkins releases for algo and mitmproxy --- .../java/bubble/server/BubbleConfiguration.java | 1 + .../main/java/bubble/service/packer/PackerJob.java | 14 ++++++++++++++ bubble-server/src/main/resources/bubble-config.yml | 1 + .../resources/packer/roles/algo/tasks/main.yml | 4 ++-- .../packer/roles/mitmproxy/tasks/main.yml | 4 ++-- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/bubble-server/src/main/java/bubble/server/BubbleConfiguration.java b/bubble-server/src/main/java/bubble/server/BubbleConfiguration.java index 1352ac3b..016cbfc1 100644 --- a/bubble-server/src/main/java/bubble/server/BubbleConfiguration.java +++ b/bubble-server/src/main/java/bubble/server/BubbleConfiguration.java @@ -165,6 +165,7 @@ public class BubbleConfiguration extends PgRestServerConfiguration public boolean hasSageNode () { return getSageNode() != null; } @Getter @Setter private String letsencryptEmail; + @Getter @Setter private String releaseUrlBase; @Setter private String localStorageDir = DEFAULT_LOCAL_STORAGE_DIR; public String getLocalStorageDir () { return empty(localStorageDir) ? DEFAULT_LOCAL_STORAGE_DIR : localStorageDir; } diff --git a/bubble-server/src/main/java/bubble/service/packer/PackerJob.java b/bubble-server/src/main/java/bubble/service/packer/PackerJob.java index addf2353..41516c2f 100644 --- a/bubble-server/src/main/java/bubble/service/packer/PackerJob.java +++ b/bubble-server/src/main/java/bubble/service/packer/PackerJob.java @@ -42,6 +42,7 @@ import static bubble.ApiConstants.copyScripts; import static bubble.model.cloud.RegionalServiceDriver.findClosestRegions; import static bubble.service.packer.PackerService.*; import static org.cobbzilla.util.daemon.ZillaRuntime.*; +import static org.cobbzilla.util.http.HttpUtil.url2string; import static org.cobbzilla.util.io.FileUtil.*; import static org.cobbzilla.util.io.StreamUtil.copyClasspathDirectory; import static org.cobbzilla.util.io.StreamUtil.stream2string; @@ -157,6 +158,19 @@ public class PackerJob implements Callable> { // copy ansible and other packer files to temp dir @Cleanup final TempDir tempDir = copyClasspathDirectory("packer"); + final String releaseUrlBase = configuration.getReleaseUrlBase(); + // create var for algo_sha256 + final String algoVarsDir = abs(tempDir) + "/roles/algo/vars"; + mkdirOrDie(algoVarsDir); + final String algoHash = url2string(releaseUrlBase+"/algo/latest/algo.zip.sha256"); + FileUtil.toFileOrDie(new File(algoVarsDir, "main.yml"), "algo_sha256 : '"+algoHash+"'"); + + // create var for mitmproxy_sha256 + final String mitmproxyVarsDir = abs(tempDir) + "/roles/mitmproxy/vars"; + mkdirOrDie(mitmproxyVarsDir); + final String mitmproxyHash = url2string(releaseUrlBase+"/mitmproxy/latest/mitmproxy.zip.sha256"); + FileUtil.toFileOrDie(new File(mitmproxyVarsDir, "main.yml"), "mitmproxy_sha256 : '"+mitmproxyHash+"'"); + // copy packer ssh key copyFile(packerService.getPackerPublicKey(), new File(abs(tempDir)+"/roles/common/files/"+PACKER_KEY_NAME)); diff --git a/bubble-server/src/main/resources/bubble-config.yml b/bubble-server/src/main/resources/bubble-config.yml index 881bf568..dafdec99 100644 --- a/bubble-server/src/main/resources/bubble-config.yml +++ b/bubble-server/src/main/resources/bubble-config.yml @@ -76,6 +76,7 @@ localNotificationStrategy: {{#exists BUBBLE_LOCAL_NOTIFY}}{{BUBBLE_LOCAL_NOTIFY} letsencryptEmail: {{LETSENCRYPT_EMAIL}} localStorageDir: {{LOCALSTORAGE_BASE_DIR}} +releaseUrlBase: {{#exists BUBBLE_RELEASE_URL_BASE}}{{BUBBLE_RELEASE_URL_BASE}}{{else}}https://jenkins.bubblev.org/public/releases{{/exists}} disallowedCountries: {{DISALLOWED_COUNTRIES}} diff --git a/bubble-server/src/main/resources/packer/roles/algo/tasks/main.yml b/bubble-server/src/main/resources/packer/roles/algo/tasks/main.yml index 948be59e..8da394c1 100644 --- a/bubble-server/src/main/resources/packer/roles/algo/tasks/main.yml +++ b/bubble-server/src/main/resources/packer/roles/algo/tasks/main.yml @@ -11,9 +11,9 @@ - name: Download algo dist file get_url: - url: https://github.com/getbubblenow/bubble-dist/raw/master/algo/master.zip + url: https://jenkins.bubblev.org/public/releases/latest/algo/algo.zip dest: /tmp/algo.zip - checksum: sha256:0c32e213ff4cfd807718cb276f6160d4b587779c94fba2c2102905b7303720f8 + checksum: sha256:{{ algo_sha256 }} - name: Unzip algo master.zip unarchive: diff --git a/bubble-server/src/main/resources/packer/roles/mitmproxy/tasks/main.yml b/bubble-server/src/main/resources/packer/roles/mitmproxy/tasks/main.yml index 2a6d90ab..a932cd5e 100644 --- a/bubble-server/src/main/resources/packer/roles/mitmproxy/tasks/main.yml +++ b/bubble-server/src/main/resources/packer/roles/mitmproxy/tasks/main.yml @@ -39,9 +39,9 @@ - name: Download mitmproxy dist file get_url: - url: https://github.com/getbubblenow/bubble-dist/raw/master/mitmproxy/mitmproxy.zip + url: https://jenkins.bubblev.org/public/releases/latest/mitmproxy/mitmproxy.zip dest: /tmp/mitmproxy.zip - checksum: sha256:eebde85f9d49f34634695c3e3916f5940a31e5393d52d3f2df793a2a4f9f6430 + checksum: sha256:{{ mitmproxy_sha256 }} - name: Unzip mitmproxy.zip unarchive: