From c094867a74d08093cbd7b4373eebd94a9a820608 Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Wed, 29 Dec 2021 02:39:11 +0000 Subject: [PATCH] puppet: Add aarch64 build hashes to external dependencies. wal-g does not ship aarch64 binaries, currently; the compilation process([1]) is somewhat complicated, so we defer the decision about how to support wal-g for aarch64 until a later date. [1]: https://github.com/wal-g/wal-g/blob/master/docs/PostgreSQL.md#installing --- puppet/zulip/manifests/common.pp | 16 +++++++++++----- puppet/zulip_ops/manifests/profile/grafana.pp | 6 +++++- .../manifests/profile/prometheus_server.pp | 8 ++++++-- puppet/zulip_ops/manifests/prometheus/node.pp | 8 ++++++-- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/puppet/zulip/manifests/common.pp b/puppet/zulip/manifests/common.pp index 06ebdf1be9..96dd6e8ec7 100644 --- a/puppet/zulip/manifests/common.pp +++ b/puppet/zulip/manifests/common.pp @@ -38,7 +38,8 @@ class zulip::common { 'go-camo' => { 'version' => '2.3.0', 'sha256' => { - 'amd64' => '965506e6edb9d974c810519d71e847afb7ca69d1d01ae7d8be6d7a91de669c0c', + 'amd64' => '965506e6edb9d974c810519d71e847afb7ca69d1d01ae7d8be6d7a91de669c0c', + 'aarch64' => '40463f6790eb0d2da69ad6a902fcc4c6b0c0ac24106a6c28fbfce9dfa4cb15cd', }, }, @@ -46,7 +47,8 @@ class zulip::common { 'golang' => { 'version' => '1.17.3', 'sha256' => { - 'amd64' => '550f9845451c0c94be679faf116291e7807a8d78b43149f9506c1b15eb89008c', + 'amd64' => '550f9845451c0c94be679faf116291e7807a8d78b43149f9506c1b15eb89008c', + 'aarch64' => '06f505c8d27203f78706ad04e47050b49092f1b06dc9ac4fbee4f0e4d015c8d4', }, }, @@ -62,6 +64,7 @@ class zulip::common { 'version' => '1.1.1-rc', 'sha256' => { 'amd64' => 'eed4de63c2657add6e0fe70f8c0fbe62a4a54405b9bfc801b1912b6c4f2c7107', + # No aarch64 builds }, }, @@ -72,7 +75,8 @@ class zulip::common { 'grafana' => { 'version' => '8.3.2', 'sha256' => { - 'amd64' => '100f92c50aa612f213052c55594e58b68b7da641b751c5f144003d704730d189', + 'amd64' => '100f92c50aa612f213052c55594e58b68b7da641b751c5f144003d704730d189', + 'aarch64' => 'a948c49e45e1cdfba96dd885a8dd4585746520d64497bc59aeb6eb2dc46b5e22', }, }, @@ -80,7 +84,8 @@ class zulip::common { 'node_exporter' => { 'version' => '8.3.2', 'sha256' => { - 'amd64' => '8c1f6a317457a658e0ae68ad710f6b4098db2cad10204649b51e3c043aa3e70d', + 'amd64' => '8c1f6a317457a658e0ae68ad710f6b4098db2cad10204649b51e3c043aa3e70d', + 'aarch64' => 'eb5e7d16f18bb3272d0d832986fc8ac6cb0b6c42d487c94e15dabb10feae8e04', }, }, @@ -88,7 +93,8 @@ class zulip::common { 'prometheus' => { 'version' => '2.27.1', 'sha256' => { - 'amd64' => 'ce637d0167d5e6d2561f3bd37e1c58fe8601e13e4e1ea745653c068f6e1317ae', + 'amd64' => 'ce637d0167d5e6d2561f3bd37e1c58fe8601e13e4e1ea745653c068f6e1317ae', + 'aarch64' => 'a96fc1466d9030a9a899c783c087c30e91471342a771544d4e494ceead95cedc', }, }, } diff --git a/puppet/zulip_ops/manifests/profile/grafana.pp b/puppet/zulip_ops/manifests/profile/grafana.pp index 3ff3ba4418..b612c0ba1d 100644 --- a/puppet/zulip_ops/manifests/profile/grafana.pp +++ b/puppet/zulip_ops/manifests/profile/grafana.pp @@ -4,6 +4,10 @@ class zulip_ops::profile::grafana { include zulip_ops::profile::base include zulip::supervisor + $arch = $::architecture ? { + 'amd64' => 'amd64', + 'aarch64' => 'arm64', + } $version = $zulip::common::versions['grafana']['version'] $dir = "/srv/zulip-grafana-${version}" $bin = "${dir}/bin/grafana-server" @@ -11,7 +15,7 @@ class zulip_ops::profile::grafana { zulip::external_dep { 'grafana': version => $version, - url => "https://dl.grafana.com/oss/release/grafana-${version}.linux-${::architecture}.tar.gz", + url => "https://dl.grafana.com/oss/release/grafana-${version}.linux-${arch}.tar.gz", tarball_prefix => "grafana-${version}", } diff --git a/puppet/zulip_ops/manifests/profile/prometheus_server.pp b/puppet/zulip_ops/manifests/profile/prometheus_server.pp index 22f13da107..a0e3174347 100644 --- a/puppet/zulip_ops/manifests/profile/prometheus_server.pp +++ b/puppet/zulip_ops/manifests/profile/prometheus_server.pp @@ -6,6 +6,10 @@ class zulip_ops::profile::prometheus_server { include zulip_ops::profile::base include zulip_ops::prometheus::base + $arch = $::architecture ? { + 'amd64' => 'amd64', + 'aarch64' => 'arm64', + } $version = $zulip::common::versions['prometheus']['version'] $dir = "/srv/zulip-prometheus-${version}" $bin = "${dir}/prometheus" @@ -13,8 +17,8 @@ class zulip_ops::profile::prometheus_server { zulip::external_dep { 'prometheus': version => $version, - url => "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-${version}.linux-${::architecture}.tar.gz", - tarball_prefix => "prometheus-${version}.linux-${::architecture}", + url => "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-${version}.linux-${arch}.tar.gz", + tarball_prefix => "prometheus-${version}.linux-${arch}", } file { '/usr/local/bin/promtool': ensure => 'link', diff --git a/puppet/zulip_ops/manifests/prometheus/node.pp b/puppet/zulip_ops/manifests/prometheus/node.pp index 56a16574fd..ffa9425173 100644 --- a/puppet/zulip_ops/manifests/prometheus/node.pp +++ b/puppet/zulip_ops/manifests/prometheus/node.pp @@ -4,14 +4,18 @@ class zulip_ops::prometheus::node { include zulip_ops::prometheus::base include zulip::supervisor + $arch = $::architecture ? { + 'amd64' => 'amd64', + 'aarch64' => 'arm64', + } $version = $zulip::common::versions['node_exporter']['version'] $dir = "/srv/zulip-node_exporter-${version}" $bin = "${dir}/node_exporter" zulip::external_dep { 'node_exporter': version => $version, - url => "https://github.com/prometheus/node_exporter/releases/download/v${version}/node_exporter-${version}.linux-${::architecture}.tar.gz", - tarball_prefix => "node_exporter-${version}.linux-${::architecture}", + url => "https://github.com/prometheus/node_exporter/releases/download/v${version}/node_exporter-${version}.linux-${arch}.tar.gz", + tarball_prefix => "node_exporter-${version}.linux-${arch}", } # This was moved to an external_dep in 2021/12, and these lines can