Skip to content
Snippets Groups Projects
Commit b41a1e07 authored by nimrod's avatar nimrod
Browse files

Mechanism for vendored and binary files.

- Added Makefile to download the vendored and binary files.
- Replace gen-ssh-config with the said Makefile.
- Update all sorts of Bash completion files.
- Added `kompose` Bash completion file.
- Replace pythonrc submodule with said Makefile.
- Replace `bfg` shell function with said Makefile (and short shell
alias).
- Update Git hook to use Makefile, remove whatever was removed.
- Added `rc_update` shell alias to force update all said files.
- Added `kind` Golang binary.
parent 0be87c93
No related branches found
No related tags found
No related merge requests found
...@@ -136,7 +136,18 @@ _docker_compose_bundle() { ...@@ -136,7 +136,18 @@ _docker_compose_bundle() {
_docker_compose_config() { _docker_compose_config() {
COMPREPLY=( $( compgen -W "--help --quiet -q --resolve-image-digests --services --volumes" -- "$cur" ) ) case "$prev" in
--hash)
if [[ $cur == \\* ]] ; then
COMPREPLY=( '\*' )
else
COMPREPLY=( $(compgen -W "$(__docker_compose_services) \\\* " -- "$cur") )
fi
return
;;
esac
COMPREPLY=( $( compgen -W "--hash --help --quiet -q --resolve-image-digests --services --volumes" -- "$cur" ) )
} }
......
...@@ -162,7 +162,7 @@ _docker_machine_create() { ...@@ -162,7 +162,7 @@ _docker_machine_create() {
_docker_machine_env() { _docker_machine_env() {
case "${prev}" in case "${prev}" in
--shell) --shell)
COMPREPLY=($(compgen -W "cmd fish powershell tcsh" -- "${cur}")) COMPREPLY=($(compgen -W "cmd emacs fish powershell tcsh" -- "${cur}"))
return return
;; ;;
esac esac
......
command -v kompose >/dev/null && eval "$(kompose completion bash)"
...@@ -17,7 +17,7 @@ export PATH="$HOME/.cargo/bin:$PATH" ...@@ -17,7 +17,7 @@ export PATH="$HOME/.cargo/bin:$PATH"
export PATH="$HOME/.cabal/bin:$PATH" export PATH="$HOME/.cabal/bin:$PATH"
export PATH="$HOME/.local/bin:$PATH" export PATH="$HOME/.local/bin:$PATH"
export PATH="$HOME/Documents/bin:$PATH" export PATH="$HOME/Documents/bin:$PATH"
export PYTHONSTARTUP=~/.config/pythonrc/pythonrc.py export PYTHONSTARTUP=~/.config/pythonrc.py
export AWS_DEFAULT_PROFILE='shore' export AWS_DEFAULT_PROFILE='shore'
export ANSIBLE_VERBOSITY=2 export ANSIBLE_VERBOSITY=2
export ANSIBLE_COMMAND_WARNINGS=True export ANSIBLE_COMMAND_WARNINGS=True
...@@ -114,7 +114,8 @@ alias detectproxy='w3m http://detectportal.firefox.com/success.txt' ...@@ -114,7 +114,8 @@ alias detectproxy='w3m http://detectportal.firefox.com/success.txt'
alias color='less --raw-control-chars -p' alias color='less --raw-control-chars -p'
alias pip2='python2 -m pip' alias pip2='python2 -m pip'
alias pip3='python3 -m pip' alias pip3='python3 -m pip'
alias renew-certs='monitor renew-certs' alias rc_update="make --directory $HOME --always-make all"
alias bfg='java -jar $HOME/.local/share/bfg/bfg.jar'
genpass () { genpass () {
bytes="${1:-32}" bytes="${1:-32}"
......
Subproject commit aa1e7d3063d1b6f8dbee4cc65db25c642aea4edf
#!/bin/sh #!/bin/sh
set -eu set -eu
cd "$(git rev-parse --show-toplevel)" cd "$(git rev-parse --show-toplevel)"
echo Installing docker-machine >> /dev/stderr echo Downloading binary and vendored files >> /dev/stderr
true make
echo Installing Packer >> /dev/stderr
true
echo Installing Terraform >> /dev/stderr
true
echo Installing Vault >> /dev/stderr
true
echo Installing kubectl >> /dev/stderr
true
echo Installing minikube >> /dev/stderr
true
echo Installing kompose >> /dev/stderr
true
echo Installing kops >> /dev/stderr
true
echo Installing rke >> /dev/stderr
true
echo Installing Golang apps >> /dev/stderr echo Installing Golang apps >> /dev/stderr
go get github.com/giantswarm/semver-bump || true go get github.com/giantswarm/semver-bump || true
go get github.com/nishanths/license || true go get github.com/nishanths/license || true
go get -u sigs.k8s.io/kind || true go get sigs.k8s.io/kind || true
echo Installing Python apps >> /dev/stderr echo Installing Python apps >> /dev/stderr
python3 -m pip install --user --requirement requirements.txt python3 -m pip install --user --requirement requirements.txt
echo Installing Git hooks >> /dev/stderr echo Installing Git hooks >> /dev/stderr
Documents/bin/install-git-hooks Documents/bin/install-git-hooks
echo Generating SSH config >> /dev/stderr
Documents/bin/gen-ssh-config
echo Loading dconf config >> /dev/stderr echo Loading dconf config >> /dev/stderr
Documents/bin/dconf-load Documents/bin/dconf-load
echo Configuring Git repo >> /dev/stderr echo Configuring Git repo >> /dev/stderr
......
...@@ -21,6 +21,3 @@ ...@@ -21,6 +21,3 @@
[submodule "Documents/Shore/poquita"] [submodule "Documents/Shore/poquita"]
path = Documents/Shore/poquita path = Documents/Shore/poquita
url = https://www.shore.co.il/git/poquita url = https://www.shore.co.il/git/poquita
[submodule ".config/pythonrc"]
path = .config/pythonrc
url = https://github.com/lonetwin/pythonrc.git
This diff is collapsed.
#!/bin/sh
set -eu
__BFG_JAR="$HOME/Documents/bin/bfg.jar"
[ -f "$__BFG_JAR" ] || curl 'https://search.maven.org/remote_content?g=com.madgag&a=bfg&v=LATEST' -sLO "$__BFG_JAR"
exec java -jar "$__BFG_JAR" "$@"
#!/bin/sh
set -eu
find "$HOME/.ssh/config.d/" -type f \! -name '.*' -print0 | sort --zero | xargs -0 cat > "$HOME/.ssh/config"
#!/bin/sh
set -eu
echo Renew cert for shore.co.il,www.shore.co.il.
ssh ns1.shore.co.il 'sudo letsencrypt certonly --webroot --webroot-path /var/www/htdocs/www.shore.co.il -d shore.co.il,www.shore.co.il'
echo Reload Nginx.
ssh ns1.shore.co.il 'sudo /etc/rc.d/nginx reload'
echo Renew cert for imap.shore.co.il,smtp.shore.co.il.
ssh ns1.shore.co.il 'sudo letsencrypt certonly --webroot --webroot-path /var/www/htdocs/mail.shore.co.il/ -d imap.shore.co.il,smtp.shore.co.il'
echo Copy private key to imap container.
ssh ns1.shore.co.il 'sudo cat /etc/letsencrypt/live/imap.shore.co.il/privkey.pem' | ssh host01.shore.co.il 'cat | sudo tee /var/lib/lxc/imap/rootfs/etc/dovecot/private/dovecot.key' > /dev/null
echo Copy cert to imap container.
ssh ns1.shore.co.il 'sudo cat /etc/letsencrypt/live/imap.shore.co.il/cert.pem' | ssh host01.shore.co.il 'cat | sudo tee /var/lib/lxc/imap/rootfs/etc/dovecot/private/dovecot.crt' > /dev/null
echo Restart Dovecot.
ssh host01.shore.co.il 'sudo lxc-attach --name imap -- service dovecot restart'
echo Copy private key to smtp container.
ssh ns1.shore.co.il 'sudo cat /etc/letsencrypt/live/imap.shore.co.il/privkey.pem' | ssh host01.shore.co.il 'cat | sudo tee /var/lib/lxc/smtp/rootfs/etc/exim4/exim.key' > /dev/null
echo Copy cert to smtp container.
ssh ns1.shore.co.il 'sudo cat /etc/letsencrypt/live/imap.shore.co.il/cert.pem' | ssh host01.shore.co.il 'cat | sudo tee /var/lib/lxc/smtp/rootfs/etc/exim4/exim.crt' > /dev/null
echo Restart Exim.
ssh host01.shore.co.il 'sudo lxc-attach --name smtp -- service exim4 restart'
Makefile 0 → 100644
.PHONY: all binaries
ssh_configs := $(wildcard .ssh/config.d/*)
download = curl --silent --location --fail --output $@
all: .config/pythonrc.py .ssh/config .bash_completion.d/aws .bash_completion.d/docker-compose .bash_completion.d/docker-machine.bash .bash_completion.d/docker-machine.bash .travis/travis.sh binaries
binaries: .local/share/bfg/bfg.jar .local/bin/rke .local/bin/docker-machine .local/bin/packer .local/bin/terraform .local/bin/vault .local/bin/kubectl .local/bin/kops .local/bin/kompose .local/bin/minikube
.ssh/config: $(ssh_configs)
find ".ssh/config.d/" -type f \! -name '.*' -print0 | sort --zero | xargs -0 cat > ".ssh/config"
.bash_completion.d/docker-compose:
$(download) https://raw.githubusercontent.com/docker/compose/1.23.2/contrib/completion/bash/docker-compose
.bash_completion.d/docker-machine.bash:
$(download) https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine.bash
.bash_completion.d/fabric-completion.bash:
$(download) https://raw.githubusercontent.com/kbakulin/fabric-completion/master/fabric-completion.bash
.config/pythonrc.py:
$(download) https://raw.githubusercontent.com/lonetwin/pythonrc/master/pythonrc.py
.travis/travis.sh:
mkdir -p .travis
$(download) https://raw.githubusercontent.com/travis-ci/travis.rb/master/assets/travis.sh
.local/share/bfg/bfg.jar:
$(download) 'https://search.maven.org/remote_content?g=com.madgag&a=bfg&v=LATEST'
.local/bin/rke:
$(download) https://github.com/rancher/rke/releases/download/v0.2.0/rke_darwin-amd64
chmod +x $@
.local/bin/docker-machine:
$(download) "https://github.com/docker/machine/releases/download/v0.16.0/docker-machine-$$(uname -s)-$$(uname -m)"
chmod +x $@
.local/bin/packer:
$(download) https://releases.hashicorp.com/packer/1.3.5/packer_1.3.5_linux_amd64.zip
chmod +x $@
.local/bin/terraform:
$(download) https://releases.hashicorp.com/terraform/0.11.13/terraform_0.11.13_linux_amd64.zip
chmod +x $@
.local/bin/vault:
$(download) https://releases.hashicorp.com/vault/1.1.0/vault_1.1.0_linux_amd64.zip
chmod +x $@
.local/bin/kubectl:
$(download) "https://storage.googleapis.com/kubernetes-release/release/$$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x $@
.local/bin/kops:
$(download) "https://github.com/kubernetes/kops/releases/download/$$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64"
chmod +x $@
.local/bin/kompose:
$(download) https://github.com/kubernetes/kompose/releases/download/v1.17.0/kompose-linux-amd64
chmod +x $@
.local/bin/minikube:
$(download) https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x $@
.local/bin/docker-machine-driver-kvm2:
$(download) https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2
chmod +x $@
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment