-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
138 lines (116 loc) · 3.75 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
default: install
install: mac brew bash git ssh iterm2 krew vscode gcloud python
UNAME_S := $(shell uname -s)
## Install/Setup the system/Clone repo out and
.PHONY: setup
setup:
./setup.sh
.PHONY: mac
mac:
ifeq ($(UNAME_S),Darwin)
./setup-mac.sh
endif
.PHONY: brew
brew:
brew bundle
.PHONY: bash
bash:
cp -nrv bash/ ${HOME}
echo $(shell brew --prefix)/bin/bash | sudo tee -a /etc/shells
sudo chsh -s $(shell brew --prefix)/bin/bash "${USER}"
.PHONY: git
git:
cp -nrv git/ ${HOME}
.PHONY: ssh
ssh:
mkdir -p ${HOME}/.ssh
cp -nrv ssh/ ${HOME}/.ssh/
.PHONY: iterm2
iterm2:
open iterm2/Solarized\ Dark.itermcolors
kubectl:
kbenv install $(shell kbenv list remote| head -n1)
kbenv use $(shell kbenv list local)
kubectl completion bash > $(brew --prefix)/etc/bash_completion.d/kubectl
terraform:
tfenv install
tfenv use
terraform -install-autocomplete
.PHONY: krew
krew: kubectl
kubectl krew install access-matrix
# kubectl krew install advise-psp
kubectl krew install cert-manager
# kubectl krew install doctor
kubectl krew install edit-status
kubectl krew install evict-pod
kubectl krew install get-all
# kubectl krew install ingress-nginx
kubectl krew install neat
kubectl krew install np-viewer
kubectl krew install outdated
kubectl krew install prune-unused
# kubectl krew install rbac-view
# kubectl krew install service-tree
kubectl krew install sniff
kubectl krew install tree
# kubectl krew install unused-volumes
kubectl krew install view-cert
kubectl krew install view-secret
kubectl krew install view-utilization
# kubectl krew install view-webhook
kubectl krew install who-can
kubectl krew install whoami
kubectl krew index add davidcollom https://github.com/davidcollom/krew-index
kubectl krew install davidcollom/watch
.PHONY: vscode
vscode:
mkdir -p "${HOME}/Library/Application Support/Code/User"
-cp -nrv vscode/settings.json "${HOME}/Library/Application Support/Code/User/settings.json"
code --install-extension DavidAnson.vscode-markdownlint
code --install-extension wholroyd.HCL
code --install-extension vscode-icons-team.vscode-icons
code --install-extension rebornix.ruby
code --install-extension erd0s.terraform-autocomplete
code --install-extension James-Yu.latex-workshop
code --install-extension lextudio.restructuredtext
code --install-extension ms-kubernetes-tools.vscode-kubernetes-tools
code --install-extension ms-python.python
code --install-extension golang.go
code --install-extension redhat.vscode-yaml
code --install-extension searKing.preview-vscode
code --install-extension technosophos.vscode-helm
code --install-extension ms-azuretools.vscode-docker
code --install-extension hashicorp.terraform
code --install-extension ms-vscode.sublime-keybindings
code --install-extension streetsidesoftware.code-spell-checker
code --install-extension VisualStudioExptTeam.vscodeintellicode
code --install-extension haaaad.ansible
code --install-extension vscoss.vscode-ansible
code --install-extension adamhartford.vscode-base64
code --install-extension bazelbuild.vscode-bazel
.PHONY: gcloud
gcloud:
gcloud config set disable_usage_reporting false
gcloud components install docker-credential-gcr
gcloud components install gsutil
gcloud components install gke-gcloud-auth-plugin
gcloud components update
.PHONY: python
python:
pip3 install -r python/requirements.txt
## This help screen
help:
@printf "Available targets:\n\n"
@awk '/^[a-zA-Z\-\_0-9%:\\]+/ { \
helpMessage = match(lastLine, /^## (.*)/); \
if (helpMessage) { \
helpCommand = $$1; \
helpMessage = substr(lastLine, RSTART + 3, RLENGTH); \
gsub("\\\\", "", helpCommand); \
gsub(":+$$", "", helpCommand); \
printf " \x1b[32;01m%-35s\x1b[0m %s\n", helpCommand, helpMessage; \
} \
} \
{ lastLine = $$0 }' $(MAKEFILE_LIST) | sort -u
@printf "\n"