From d4c79a9b27b637007611d41f4f3cff50652c03e2 Mon Sep 17 00:00:00 2001 From: Adar Nimrod <nimrod@shore.co.il> Date: Wed, 12 May 2021 23:46:50 +0300 Subject: [PATCH] Makefile updates. - Split the sections to different files. - Updates. --- Makefile | 232 ++------------------------------------------------- binaries.mk | 140 +++++++++++++++++++++++++++++++ generated.mk | 122 +++++++++++++++++++++++++++ vendored.mk | 37 ++++++++ 4 files changed, 304 insertions(+), 227 deletions(-) create mode 100644 binaries.mk create mode 100644 generated.mk create mode 100644 vendored.mk diff --git a/Makefile b/Makefile index bafd2b7..1746075 100644 --- a/Makefile +++ b/Makefile @@ -1,228 +1,6 @@ -.PHONY: all binaries generated vendored -DESTDIR ?= .local -tempdir != mktemp -d -os != uname -s | awk '{print tolower($$0)}' -arch != uname -m -goos != go env GOOS -goarch != go env GOARCH -ssh_configs != find ".ssh/config.d/" -type f \! -name '.*' | sort -curl = curl --location --silent --fail -download = $(curl) --output $@ -ansible-local = ansible localhost -c local -i localhost, -e "ansible_python_interpreter=$$(which python3)" +.PHONY: all +all: -all: binaries vendored generated -vendored: .config/pythonrc.py .bash_completion.d/aws .bash_completion.d/docker-compose .bash_completion.d/docker-machine.bash .bash_completion.d/docker-machine.bash .bash_completion.d/molecule Documents/bin/rabbitmqadmin -generated: .ssh/config .bash_completion.d/helm .bash_completion.d/kops .bash_completion.d/kubectl .bash_completion.d/kompose .bash_completion.d/minikube .bash_completion.d/pipenv .bash_completion.d/pandoc .bash_completion.d/skaffold .bash_completion.d/rabbitmqadmin .ssh/localhost .ssh/localhost.pub .ssh/authorized_keys .bash_completion.d/minishift .bash_completion.d/oc .bash_completion.d/poetry .bashrc.private .ssh/github_ed25519 .ssh/gitlab_fdo .ssh/gitlab_toptal .ssh/shore_rsa .ssh/gitlab_ed25519 .ssh/shore_ecdsa .ssh/shore_ed25519 -binaries: $(DESTDIR)/share/bfg/bfg.jar $(DESTDIR)/bin/rke $(DESTDIR)/bin/docker-machine $(DESTDIR)/bin/packer $(DESTDIR)/bin/terraform $(DESTDIR)/bin/vault $(DESTDIR)/bin/kubectl $(DESTDIR)/bin/kops $(DESTDIR)/bin/kompose $(DESTDIR)/bin/minikube $(DESTDIR)/bin/docker-machine-driver-kvm2 $(DESTDIR)/bin/kustomize $(DESTDIR)/bin/pack $(DESTDIR)/bin/skaffold $(DESTDIR)/bin/minishift $(DESTDIR)/bin/oc $(DESTDIR)/bin/docker-machine-driver-kvm $(DESTDIR)/bin/gomplate $(DESTDIR)/bin/envconsul $(DESTDIR)/bin/helm $(DESTDIR)/bin/hugo - - -## Binary files - -$(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 '$@')" - -$(DESTDIR)/share/bfg/bfg.jar: - mkdir -p $$(dirname $@) - $(download) 'https://search.maven.org/remote_content?g=com.madgag&a=bfg&v=LATEST' - -$(DESTDIR)/bin/rke: - mkdir -p $$(dirname $@) - -$(download) https://github.com/rancher/rke/releases/download/v0.3.2/rke_$(os)-$(goarch) - -chmod +x $@ - -$(DESTDIR)/bin/docker-machine: - mkdir -p $$(dirname $@) - -$(download) "https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-$(os)-$(arch)" - -chmod +x $@ - -$(DESTDIR)/bin/packer: - mkdir -p $$(dirname $@) - $(curl) https://releases.hashicorp.com/packer/1.4.5/packer_1.4.5_$(os)_$(goarch).zip --output $(tempdir)/packer.zip - unzip -d $(tempdir) $(tempdir)/packer.zip - install -m 755 $(tempdir)/packer $@ - rm $(tempdir)/packer* - -$(DESTDIR)/bin/terraform: - mkdir -p $$(dirname $@) - $(curl) https://releases.hashicorp.com/terraform/0.14.9/terraform_0.14.9_$(os)_$(goarch).zip --output $(tempdir)/terraform.zip - unzip -d $(tempdir) $(tempdir)/terraform.zip - install -m 755 $(tempdir)/terraform $@ - rm $(tempdir)/terraform* - -$(DESTDIR)/bin/vault: - mkdir -p $$(dirname $@) - $(curl) https://releases.hashicorp.com/vault/1.2.3/vault_1.2.3_$(os)_$(goarch).zip --output $(tempdir)/vault.zip - unzip -d $(tempdir) $(tempdir)/vault.zip - install -m 755 $(tempdir)/vault $@ - rm $(tempdir)/vault* - -$(DESTDIR)/bin/kubectl: - mkdir -p $$(dirname $@) - -$(download) "https://storage.googleapis.com/kubernetes-release/release/v1.21.0/bin/$(os)/$(goarch)/kubectl" - -chmod +x $@ - -$(DESTDIR)/bin/kops: - mkdir -p $$(dirname $@) - -$(download) "https://github.com/kubernetes/kops/releases/download/1.14.1/kops-$(os)-$(goarch)" - -chmod +x $@ - -$(DESTDIR)/bin/kompose: - mkdir -p $$(dirname $@) - -$(download) https://github.com/kubernetes/kompose/releases/download/v1.22.0/kompose-$(os)-$(goarch) - -chmod +x $@ - -$(DESTDIR)/bin/minikube: - mkdir -p $$(dirname $@) - -$(download) https://storage.googleapis.com/minikube/releases/latest/minikube-$(os)-$(goarch) - -chmod +x $@ - -$(DESTDIR)/bin/kustomize: - mkdir -p $$(dirname $@) - -$(curl) https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv3.8.7/kustomize_v3.8.7_$(os)_$(goarch).tar.gz | tar -zxC $(DESTDIR)/bin/ - -$(DESTDIR)/bin/docker-machine-driver-kvm2: - mkdir -p $$(dirname $@) - -$(download) https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2 - -chmod +x $@ - -$(DESTDIR)/bin/helm: - mkdir -p $$(dirname $@) - mkdir -p $(tempdir)/helm - -$(curl) https://storage.googleapis.com/kubernetes-helm/helm-v2.16.0-$(os)-$(goarch).tar.gz | tar -zxf - -C $(tempdir)/helm/ - -install -m 755 $(tempdir)/helm/$(os)-$(goarch)/helm $@ - rm -r $(tempdir)/helm - -$(DESTDIR)/bin/pack: - mkdir -p $$(dirname $@) - -$(curl) https://github.com/buildpack/pack/releases/download/v0.5.0/pack-v0.5.0-$(os).tgz | tar -xzC $(DESTDIR)/bin/ - -$(DESTDIR)/bin/skaffold: - mkdir -p $$(dirname $@) - -$(download) https://storage.googleapis.com/skaffold/releases/v0.41.0/skaffold-$(os)-$(goarch) - -chmod +x $@ - -$(DESTDIR)/bin/minishift: - mkdir -p $$(dirname $@) - -$(curl) https://github.com/minishift/minishift/releases/download/v1.34.1/minishift-1.34.1-$(goos)-$(goarch).tgz | tar -xzC $(tempdir) - -install -m 755 $(tempdir)/minishift-*/minishift $@ - -rm -r $(tempdir)/minishift-* - -$(DESTDIR)/bin/oc: - mkdir -p $$(dirname $@) - -$(curl) https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-$(os)-64bit.tar.gz | tar -xzC $(tempdir) - -install -m 755 $(tempdir)/openshift-*/oc $@ - -rm -r $(tempdir)/openshift-* - -$(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 $@ - -$(DESTDIR)/bin/gomplate: - mkdir -p $$(dirname $@) - -$(download) https://github.com/hairyhenderson/gomplate/releases/download/v3.5.0/gomplate_$(goos)-$(goarch) - -chmod +x $@ - -$(DESTDIR)/bin/envconsul: - mkdir -p $$(dirname $@) - -$(curl) https://releases.hashicorp.com/envconsul/0.9.0/envconsul_0.9.0_$(goos)_$(goarch).tgz | tar -xzC $$(dirname $@) -f - - - -## Vendored files - -.bash_completion.d/docker-compose: - mkdir -p $$(dirname $@) - $(download) https://raw.githubusercontent.com/docker/compose/1.24.1/contrib/completion/bash/docker-compose - -.bash_completion.d/docker-machine.bash: - mkdir -p $$(dirname $@) - $(download) https://raw.githubusercontent.com/docker/machine/v0.16.2/contrib/completion/bash/docker-machine.bash - -.bash_completion.d/fabric-completion.bash: - mkdir -p $$(dirname $@) - $(download) https://raw.githubusercontent.com/kbakulin/fabric-completion/master/fabric-completion.bash - -.config/pythonrc.py: - mkdir -p $$(dirname $@) - $(download) https://raw.githubusercontent.com/lonetwin/pythonrc/0.8.4/pythonrc.py - -.bash_completion.d/molecule: - mkdir -p $$(dirname $@) - $(download) https://raw.githubusercontent.com/ansible/molecule/1.25.1/asset/bash_completion/molecule.bash-completion.sh - -Documents/bin/rabbitmqadmin: - mkdir -p $$(dirname $@) - $(download) https://raw.githubusercontent.com/rabbitmq/rabbitmq-management/master/bin/rabbitmqadmin - chmod +x $@ - - -## Generated files - -.ssh/config: $(ssh_configs) - mkdir -p $$(dirname $@) - cat $(ssh_configs) > $@ - -.bash_completion.d/helm: $(DESTDIR)/bin/helm - mkdir -p $$(dirname $@) - -$$(basename $@) completion bash > $@ - -.bash_completion.d/kompose: $(DESTDIR)/bin/kompose - mkdir -p $$(dirname $@) - -$$(basename $@) completion bash > $@ - -.bash_completion.d/kops: $(DESTDIR)/bin/kops - mkdir -p $$(dirname $@) - -$$(basename $@) completion bash > $@ - -.bash_completion.d/kubectl: $(DESTDIR)/bin/kubectl - mkdir -p $$(dirname $@) - -$$(basename $@) completion bash > $@ - -.bash_completion.d/minikube: $(DESTDIR)/bin/minikube - mkdir -p $$(dirname $@) - -$$(basename $@) completion bash > $@ - -.bash_completion.d/skaffold: $(DESTDIR)/bin/skaffold - mkdir -p $$(dirname $@) - -$$(basename $@) completion bash > $@ - -.bash_completion.d/pipenv: - mkdir -p $$(dirname $@) - -bash -c 'pipenv --completion > $@' - -.bash_completion.d/pandoc: - mkdir -p $$(dirname $@) - -pandoc --bash-completion > $@ - -.bash_completion.d/rabbitmqadmin: Documents/bin/rabbitmqadmin - mkdir -p $$(dirname $@) - -Documents/bin/rabbitmqadmin --bash-completion > $@ - -.ssh/localhost: - -rm $@ $@.pub - ssh-keygen -t ecdsa -N '' -C localhost -f $@ - -.ssh/localhost.pub: .ssh/localhost - ssh-keygen -y -f $< > $@ - -.ssh/authorized_keys: .ssh/localhost.pub - -$(ansible-local) -m authorized_key -a "user=$$(whoami) key='$$(cat .ssh/localhost.pub)' key_options='from=\"127.0.0.1/8\"'" - -.bash_completion.d/minishift: $(DESTDIR)/bin/minishift - mkdir -p $$(dirname $@) - -$$(basename $@) completion bash > $@ - -.bash_completion.d/oc: $(DESTDIR)/bin/oc - mkdir -p $$(dirname $@) - -$$(basename $@) completion bash > $@ - -.bash_completion.d/poetry: - -poetry completions bash > $@ - -.bashrc.private: Documents/Database.kdbx - echo "export GITLAB_TOKEN='$$(ph show --field Password 'shore.co.il/GitLab token')'" > '$@' - -.ssh/%: Documents/Database.kdbx - ph show --field Notes "SSH/$$(basename "$@")" > '$@' - chmod 600 '$@' +include binaries.mk +include generated.mk +include vendored.mk diff --git a/binaries.mk b/binaries.mk new file mode 100644 index 0000000..8ef0c26 --- /dev/null +++ b/binaries.mk @@ -0,0 +1,140 @@ +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/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/1.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 $@) diff --git a/generated.mk b/generated.mk new file mode 100644 index 0000000..22ae655 --- /dev/null +++ b/generated.mk @@ -0,0 +1,122 @@ +DESTDIR ?= .local +ansible-local = ansible localhost -c local -i localhost, -e "ansible_python_interpreter=$$(which python3)" +ssh_configs != find ".ssh/config.d/" -type f \! -name '.*' | sort + +.PHONY: generated +all: generated + +generated: .bash_completion.d/helm +.bash_completion.d/helm: $(DESTDIR)/bin/helm + mkdir -p $$(dirname $@) + -$$(basename $@) completion bash > $@ + +generated: .bash_completion.d/kompose +.bash_completion.d/kompose: $(DESTDIR)/bin/kompose + mkdir -p $$(dirname $@) + -$$(basename $@) completion bash > $@ + +generated: .bash_completion.d/kops +.bash_completion.d/kops: $(DESTDIR)/bin/kops + mkdir -p $$(dirname $@) + -$$(basename $@) completion bash > $@ + +generated: .bash_completion.d/kubectl +.bash_completion.d/kubectl: $(DESTDIR)/bin/kubectl + mkdir -p $$(dirname $@) + -$$(basename $@) completion bash > $@ + +generated: .bash_completion.d/minikube +.bash_completion.d/minikube: $(DESTDIR)/bin/minikube + mkdir -p $$(dirname $@) + -$$(basename $@) completion bash > $@ + +generated: .bash_completion.d/skaffold +.bash_completion.d/skaffold: $(DESTDIR)/bin/skaffold + mkdir -p $$(dirname $@) + -$$(basename $@) completion bash > $@ + +generated: .bash_completion.d/pipenv +.bash_completion.d/pipenv: + mkdir -p $$(dirname $@) + -bash -c 'pipenv --completion > $@' + +generated: .bash_completion.d/pandoc +.bash_completion.d/pandoc: + mkdir -p $$(dirname $@) + -pandoc --bash-completion > $@ + +generated: .bash_completion.d/rabbitmqadmin +.bash_completion.d/rabbitmqadmin: Documents/bin/rabbitmqadmin + mkdir -p $$(dirname $@) + -Documents/bin/rabbitmqadmin --bash-completion > $@ + +generated: .bash_completion.d/minishift +.bash_completion.d/minishift: $(DESTDIR)/bin/minishift + mkdir -p $$(dirname $@) + -$$(basename $@) completion bash > $@ + +generated: .bash_completion.d/oc +.bash_completion.d/oc: $(DESTDIR)/bin/oc + mkdir -p $$(dirname $@) + -$$(basename $@) completion bash > $@ + +generated: .bash_completion.d/poetry +.bash_completion.d/poetry: + -poetry completions bash > $@ + +generated: .bashrc.private +.bashrc.private: Documents/Database.kdbx + echo "export GITLAB_TOKEN='$$(ph show --field Password 'shore.co.il/GitLab token')'" > '$@' + +.generated: .ssh/github_ed25519 +.ssh/github_ed25519: Documents/Database.kdbx + ph show --field Notes "SSH/$$(basename '$@')" > '$@' + chmod 600 '$@' + +.generated: .ssh/gitlab_fdo +.ssh/gitlab_fdo: Documents/Database.kdbx + ph show --field Notes "SSH/$$(basename '$@')" > '$@' + chmod 600 '$@' + +.generated: .ssh/gitlab_toptal +.ssh/gitlab_toptal: Documents/Database.kdbx + ph show --field Notes "SSH/$$(basename '$@')" > '$@' + chmod 600 '$@' + +.generated: .ssh/shore_rsa +.ssh/shore_rsa: Documents/Database.kdbx + ph show --field Notes "SSH/$$(basename '$@')" > '$@' + chmod 600 '$@' + +.generated: .ssh/gitlab_ed25519 +.ssh/gitlab_ed25519: Documents/Database.kdbx + ph show --field Notes "SSH/$$(basename '$@')" > '$@' + chmod 600 '$@' + +.generated: .ssh/shore_ecdsa +.ssh/shore_ecdsa: Documents/Database.kdbx + ph show --field Notes "SSH/$$(basename '$@')" > '$@' + chmod 600 '$@' + +.generated: .ssh/shore_ed25519 +.ssh/shore_ed25519: Documents/Database.kdbx + ph show --field Notes "SSH/$$(basename '$@')" > '$@' + chmod 600 '$@' + +generated: .ssh/config +.ssh/config: $(ssh_configs) + mkdir -p $$(dirname $@) + cat $(ssh_configs) > $@ + +generated: .ssh/localhost +.ssh/localhost: + -rm $@ $@.pub + ssh-keygen -t ecdsa -N '' -C localhost -f $@ + +generated: .ssh/localhost.pub +.ssh/localhost.pub: .ssh/localhost + ssh-keygen -y -f $< > $@ + +generated: .ssh/authorized_keys +.ssh/authorized_keys: .ssh/localhost.pub + -$(ansible-local) -m authorized_key -a "user=$$(whoami) key='$$(cat .ssh/localhost.pub)' key_options='from=\"127.0.0.1/8\"'" diff --git a/vendored.mk b/vendored.mk new file mode 100644 index 0000000..7e5a93e --- /dev/null +++ b/vendored.mk @@ -0,0 +1,37 @@ +curl = curl --location --silent --fail +download = $(curl) --output $@ + +.PHONY: vendored +all: vendored + +vendored: .bash_completion.d/docker-compose +.bash_completion.d/docker-compose: + mkdir -p $$(dirname $@) + $(download) https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose + +vendored: .bash_completion.d/docker-machine.bash +.bash_completion.d/docker-machine.bash: + mkdir -p $$(dirname $@) + $(download) https://raw.githubusercontent.com/docker/machine/v0.16.2/contrib/completion/bash/docker-machine.bash + +vendored: .bash_completion.d/fabric-completion.bash +.bash_completion.d/fabric-completion.bash: + mkdir -p $$(dirname $@) + $(download) https://raw.githubusercontent.com/kbakulin/fabric-completion/master/fabric-completion.bash + +vendored: .config/pythonrc.py +.config/pythonrc.py: + mkdir -p $$(dirname $@) + $(download) https://raw.githubusercontent.com/lonetwin/pythonrc/0.8.4/pythonrc.py + +vendored: .bash_completion.d/molecule +.bash_completion.d/molecule: + mkdir -p $$(dirname $@) + $(download) https://raw.githubusercontent.com/ansible-community/molecule/1.25.1/asset/bash_completion/molecule.bash-completion.sh + +vendored: Documents/bin/rabbitmqadmin +Documents/bin/rabbitmqadmin: + mkdir -p $$(dirname $@) + $(download) https://raw.githubusercontent.com/rabbitmq/rabbitmq-server/v3.8.16/deps/rabbitmq_management/bin/rabbitmqadmin + chmod +x $@ + -- GitLab