Skip to content

Commit 828bd86

Browse files
martin-matcollivier
authored andcommitted
setup: derive target platform constants and kubescape asset name
1 parent 503aee6 commit 828bd86

1 file changed

Lines changed: 34 additions & 8 deletions

File tree

src/tasks/setup/constants.cr

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,32 @@
11
module Setup
2-
DEFAULT_OS = "linux"
3-
DEFAULT_ARCH = "amd64"
2+
TARGET_OS = begin
3+
{% if flag?(:darwin) %}
4+
"darwin"
5+
{% else %}
6+
"linux"
7+
{% end %}
8+
end
9+
10+
TARGET_ARCH = begin
11+
{% if flag?(:aarch64) %}
12+
"arm64"
13+
{% else %}
14+
"amd64"
15+
{% end %}
16+
end
17+
18+
KUBESCAPE_TARGET_BINARY_NAME = begin
19+
case {TARGET_OS, TARGET_ARCH}
20+
when {"darwin", "arm64"}
21+
"kubescape-arm64-macos-latest"
22+
when {"darwin", "amd64"}
23+
"kubescape-macos-latest"
24+
when {"linux", "arm64"}
25+
"kubescape-arm64-ubuntu-latest"
26+
else
27+
"kubescape-ubuntu-latest"
28+
end
29+
end
430

531
# Versions of the tools
632
CLUSTER_API_VERSION = "1.9.6"
@@ -13,27 +39,27 @@ module Setup
1339

1440
# Useful consts grouped by tools
1541
CLUSTER_API_URL = "https://github.com/kubernetes-sigs/cluster-api/releases/download/" +
16-
"v#{CLUSTER_API_VERSION}/clusterctl-#{DEFAULT_OS}-#{DEFAULT_ARCH}"
42+
"v#{CLUSTER_API_VERSION}/clusterctl-#{TARGET_OS}-#{TARGET_ARCH}"
1743
CLUSTER_API_DIR = "\#{tools_path}/cluster-api"
1844
CLUSTERCTL_BINARY = "#{CLUSTER_API_DIR}/clusterctl"
1945

20-
KIND_DOWNLOAD_URL = "https://github.com/kubernetes-sigs/kind/releases/download/v#{KIND_VERSION}/kind-#{DEFAULT_OS}-#{DEFAULT_ARCH}"
46+
KIND_DOWNLOAD_URL = "https://github.com/kubernetes-sigs/kind/releases/download/v#{KIND_VERSION}/kind-#{TARGET_OS}-#{TARGET_ARCH}"
2147
KIND_DIR = "#{tools_path}/kind"
2248

2349
KUBESCAPE_DIR = "#{tools_path}/kubescape"
2450
KUBESCAPE_URL = "https://github.com/kubescape/kubescape/releases/download/" +
25-
"v#{KUBESCAPE_VERSION}/kubescape-ubuntu-latest"
51+
"v#{KUBESCAPE_VERSION}/#{KUBESCAPE_TARGET_BINARY_NAME}"
2652
KUBESCAPE_FRAMEWORK_URL = "https://github.com/kubescape/regolibrary/releases/download/" +
2753
"v#{KUBESCAPE_FRAMEWORK_VERSION}/nsa"
2854

2955
GATEKEEPER_REPO = "https://open-policy-agent.github.io/gatekeeper/charts"
3056

3157
SONOBUOY_DIR = "#{tools_path}/sonobuoy"
3258
SONOBUOY_URL = "https://github.com/vmware-tanzu/sonobuoy/releases/download/" +
33-
"v#{SONOBUOY_K8S_VERSION}/sonobuoy_#{SONOBUOY_K8S_VERSION}_#{DEFAULT_OS}-#{DEFAULT_ARCH}.tar.gz"
59+
"v#{SONOBUOY_K8S_VERSION}/sonobuoy_#{SONOBUOY_K8S_VERSION}_#{TARGET_OS}-#{TARGET_ARCH}.tar.gz"
3460
SONOBUOY_BINARY = "#{SONOBUOY_DIR}/sonobuoy"
3561

3662
HELM_DIR = "#{tools_path}/helm"
37-
HELM_URL = "https://get.helm.sh/helm-v#{HELM_VERSION}-#{DEFAULT_OS}-#{DEFAULT_ARCH}.tar.gz"
38-
HELM_BINARY = "#{HELM_DIR}/#{DEFAULT_OS}-#{DEFAULT_ARCH}/helm"
63+
HELM_URL = "https://get.helm.sh/helm-v#{HELM_VERSION}-#{TARGET_OS}-#{TARGET_ARCH}.tar.gz"
64+
HELM_BINARY = "#{HELM_DIR}/#{TARGET_OS}-#{TARGET_ARCH}/helm"
3965
end

0 commit comments

Comments
 (0)