Select Git revision
binaries.mk 5.23 KiB
DESTDIR ?= .local
tempdir != mktemp -d
os != uname -s | awk '{print tolower($$0)}'
arch != uname -m
goos != go env GOOS
goarch != go env GOARCH
curl = curl --location --silent --fail
download = $(curl) --output $@
.PHONY: binaries
all: binaries
binaries: $(DESTDIR)/bin/hugo
$(DESTDIR)/bin/hugo:
mkdir -p $$(dirname $@)
$(curl) https://github.com/gohugoio/hugo/releases/download/v0.83.1/hugo_0.83.1_Linux-64bit.tar.gz | tar -xzC "$$(dirname '$@')" "$$(basename '$@')"
binaries: $(DESTDIR)/share/bfg/bfg.jar
$(DESTDIR)/share/bfg/bfg.jar:
mkdir -p $$(dirname $@)
$(download) 'https://search.maven.org/remote_content?g=com.madgag&a=bfg&v=LATEST'
binaries: $(DESTDIR)/bin/rke
$(DESTDIR)/bin/rke:
mkdir -p $$(dirname $@)
-$(download) https://github.com/rancher/rke/releases/download/v1.2.8/rke_$(os)-$(goarch)
-chmod +x $@
binaries: $(DESTDIR)/bin/docker-machine
$(DESTDIR)/bin/docker-machine:
mkdir -p $$(dirname $@)
-$(download) "https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-$(os)-$(arch)"
-chmod +x $@
binaries: $(DESTDIR)/bin/packer
$(DESTDIR)/bin/packer:
mkdir -p $$(dirname $@)
$(curl) https://releases.hashicorp.com/packer/1.7.2/packer_1.7.2_$(os)_$(goarch).zip --output $(tempdir)/packer.zip
unzip -d $(tempdir) $(tempdir)/packer.zip
install -m 755 $(tempdir)/packer $@
rm $(tempdir)/packer*
binaries: $(DESTDIR)/bin/terraform
$(DESTDIR)/bin/terraform:
mkdir -p $$(dirname $@)
$(curl) https://releases.hashicorp.com/terraform/0.15.3/terraform_0.15.3_$(os)_$(goarch).zip --output $(tempdir)/terraform.zip
unzip -d $(tempdir) $(tempdir)/terraform.zip
install -m 755 $(tempdir)/terraform $@
rm $(tempdir)/terraform*
binaries: $(DESTDIR)/bin/terragrunt
$(DESTDIR)/bin/terragrunt:
mkdir -p $$(dirname $@)
-$(download) https://github.com/gruntwork-io/terragrunt/releases/download/v0.22.5/terragrunt_$(goos)_$(goarch)
-chmod +x '$@'
binaries: $(DESTDIR)/bin/vault
$(DESTDIR)/bin/vault:
mkdir -p $$(dirname $@)
$(curl) https://releases.hashicorp.com/vault/1.7.1/vault_1.7.1_$(os)_$(goarch).zip --output $(tempdir)/vault.zip
unzip -d $(tempdir) $(tempdir)/vault.zip
install -m 755 $(tempdir)/vault $@
rm $(tempdir)/vault*
binaries: $(DESTDIR)/bin/kubectl
$(DESTDIR)/bin/kubectl:
mkdir -p $$(dirname $@)
-$(download) "https://storage.googleapis.com/kubernetes-release/release/v1.21.0/bin/$(os)/$(goarch)/kubectl"
-chmod +x $@
binaries: $(DESTDIR)/bin/kops
$(DESTDIR)/bin/kops:
mkdir -p $$(dirname $@)
-$(download) "https://github.com/kubernetes/kops/releases/download/v1.20.0/kops-$(os)-$(goarch)"
-chmod +x $@
binaries: $(DESTDIR)/bin/kompose
$(DESTDIR)/bin/kompose:
mkdir -p $$(dirname $@)
-$(download) https://github.com/kubernetes/kompose/releases/download/v1.22.0/kompose-$(os)-$(goarch)
-chmod +x $@
binaries: $(DESTDIR)/bin/minikube
$(DESTDIR)/bin/minikube:
mkdir -p $$(dirname $@)
-$(download) https://storage.googleapis.com/minikube/releases/latest/minikube-$(os)-$(goarch)
-chmod +x $@
binaries: $(DESTDIR)/bin/kustomize
$(DESTDIR)/bin/kustomize:
mkdir -p $$(dirname $@)
-$(curl) https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv4.1.2/kustomize_v4.1.2_$(os)_$(goarch).tar.gz | tar -zxC $(DESTDIR)/bin/
binaries: $(DESTDIR)/bin/docker-machine-driver-kvm2
$(DESTDIR)/bin/docker-machine-driver-kvm2:
mkdir -p $$(dirname $@)
-$(download) https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2
-chmod +x $@
binaries: $(DESTDIR)/bin/helm
$(DESTDIR)/bin/helm:
mkdir -p $$(dirname $@)
mkdir -p $(tempdir)/helm
-$(curl) https://get.helm.sh/helm-v3.5.4-$(os)-$(goarch).tar.gz | tar -zx -C $(tempdir)/helm/
-install -m 755 $(tempdir)/helm/$(os)-$(goarch)/helm $@
rm -r $(tempdir)/helm
binaries: $(DESTDIR)/bin/pack
$(DESTDIR)/bin/pack:
mkdir -p $$(dirname $@)
-$(curl) https://github.com/buildpack/pack/releases/download/v0.18.1/pack-v0.18.1-$(os).tgz | tar -xzC $(DESTDIR)/bin/
binaries: $(DESTDIR)/bin/skaffold
$(DESTDIR)/bin/skaffold:
mkdir -p $$(dirname $@)
-$(download) https://storage.googleapis.com/skaffold/releases/v1.24.0/skaffold-$(os)-$(goarch)
-chmod +x $@
binaries: $(DESTDIR)/bin/minishift
$(DESTDIR)/bin/minishift:
mkdir -p $$(dirname $@)
-$(curl) https://github.com/minishift/minishift/releases/download/v1.34.3/minishift-1.34.3-$(goos)-$(goarch).tgz | tar -xzC $(tempdir)
-install -m 755 $(tempdir)/minishift-*/minishift $@
-rm -r $(tempdir)/minishift-*
binaries: $(DESTDIR)/bin/oc
$(DESTDIR)/bin/oc:
mkdir -p $$(dirname $@)
-$(curl) https://github.com/openshift/okd/releases/download/4.7.0-0.okd-2021-04-24-103438/openshift-client-linux-4.7.0-0.okd-2021-04-24-103438.tar.gz | tar -xzC $(DESTDIR)/bin oc
binaries: $(DESTDIR)/bin/docker-machine-driver-kvm
$(DESTDIR)/bin/docker-machine-driver-kvm:
mkdir -p $$(dirname $@)
-$(download) https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-ubuntu16.04
-chmod +x $@
binaries: $(DESTDIR)/bin/gomplate
$(DESTDIR)/bin/gomplate:
mkdir -p $$(dirname $@)
-$(download) https://github.com/hairyhenderson/gomplate/releases/download/v3.9.0/gomplate_$(goos)-$(goarch)
-chmod +x $@
binaries: $(DESTDIR)/bin/envconsul
$(DESTDIR)/bin/envconsul:
mkdir -p $$(dirname $@)
-$(curl) https://releases.hashicorp.com/envconsul/0.11.0/envconsul_0.11.0_$(goos)_$(goarch).tgz | tar -xzC $$(dirname $@)