-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.yaml
388 lines (336 loc) · 10.7 KB
/
main.yaml
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
- name: download Docker Installer
ansible.builtin.get_url:
url: https://get.docker.com
dest: /tmp/docker.sh
- name: Run Docker install script
ansible.builtin.shell:
cmd: ls /etc/docker || cat /tmp/docker.sh | sh -s -- -y
become: True
- name: Reload Docker Service
ansible.builtin.service:
name: docker
state: reloaded
become: True
- name: Install utility packages
apt:
state: present
name:
- aspell # interactive spell checker
- aspell-de
- aspell-en
- bat # A cat clone with syntax highlighting and Git integration.
- btop # Modern and colorful command line resource monitor that shows usage and stats
- build-essential
- cmake
- cmatrix # The Matrix
- curl # curl is a tool to transfer data from or to a server, using one of the supported protocols.
- dnsutils # is a flexible tool for interrogating DNS name servers.
- dstat # versatile tool for generating system resource statistics
- fd-find # Simple, fast and user-friendly alternative to find
- firefox # browser
- firefox-locale-de
- gnupg # GNU Privacy Guard
- htop # interactively monitor the system’s vital resources.
- iotop # iotop watches I/O usage information output by the Linux kernel
- jq # jq is a lightweight and flexible command-line JSON processor.
- lolcat # color output
- moc # ncurses based console audio player
- neofetch # Shows Linux System Information with Distribution Logo
- net-tools # collection of base networking utilities for Linux.
- nextcloud-desktop # Connect to your Nextcloud from Windows, macOS or Linux.
- nfs-common # nsf tools
- nmap # network scanner
- nodejs # V8 javascript runtime
- pwgen # Automatic Password generation
- python-setuptools #
- python3-dev #
- python3-pip # package installer for Python.
- python3.10-venv # install python3 virtualenv
- rdesktop # RDP client for Windows Terminal Server
- ripgrep # ripgrep is a line-oriented search tool that recursively searches the current directory for a regex pattern.
- shellcheck # lint tool for shell scripts
- silversearcher-ag # A code searching tool
- snapd #
- software-properties-common
- sqlite3 # sqlite3 client
- sysstat # system performance tools for Linux
- terminator # terminal
- tig # ncurses-based text-mode interface for Git
- tree # recursively list or display the content of a directory in a tree-like format.
- xclip
- zsh # nice shell
become: True
- name: Install checkssl
ansible.builtin.get_url:
url: https://github.com/szazeski/checkssl/releases/download/v0.4.3/checkssl_0.4.3_Linux_x86_64.tar.gz
dest: /usr/bin/checkssl
force: no
become: True
- name: make checkssl executable
ansible.builtin.file:
path: /usr/bin/checkssl
owner: root
group: root
mode: "0755"
become: True
- name: Install AWS CLI
pip:
name: awscli
#- name: Install ppa:neovim
# ansible.builtin.shell:
# cmd: add-apt-repository ppa:neovim-ppa/unstable
# become: True
#
#- name: Install neovim
# apt:
# state: present
# name: neovim
# update_cache: True
# become: True
- name: add google ppa
ansible.builtin.shell:
cmd: wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
- name: add google source list
ansible.builtin.shell:
cmd: echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list
- name: Install google-chrome-stable
apt:
state: present
name: google-chrome-stable
update_cache: True
become: True
- name: Install skaffold
ansible.builtin.get_url:
url: https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
dest: /usr/local/bin/skaffold
force: no
become: True
- name: make skaffold executable
ansible.builtin.file:
path: /usr/local/bin/skaffold
owner: root
group: root
mode: "0755"
become: True
- name: Install kubens
ansible.builtin.get_url:
url: https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens
dest: /usr/local/bin/kubens
force: no
become: True
- name: make kubens executable
ansible.builtin.file:
path: /usr/local/bin/kubens
owner: root
group: root
mode: "0755"
become: True
- name: Install kubectx
ansible.builtin.get_url:
url: https://raw.githubusercontent.com/ahmetb/kubectx/master/kubectx
dest: /usr/local/bin/kubectx
force: no
become: True
- name: make kubectx executable
ansible.builtin.file:
path: /usr/local/bin/kubectx
owner: root
group: root
mode: "0755"
become: True
- name: Install kubeval
ansible.builtin.get_url:
url: https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz
dest: /tmp/kubeval-linux-amd64.tar.gz
force: no
- name: Extract /tmp/kubeval-linux-amd64.tar.gz
ansible.builtin.unarchive:
src: /tmp/kubeval-linux-amd64.tar.gz
dest: /tmp
- name: Copy kubeval binary
ansible.builtin.copy:
src: /tmp/kubeval
dest: /usr/local/bin/kubeval
mode: "0555"
become: True
- name: Install Minikube
ansible.builtin.get_url:
url: https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
dest: /usr/local/bin/minikube
force: no
become: True
- name: make Minikube executable
ansible.builtin.file:
path: /usr/local/bin/minikube
owner: root
group: root
mode: "0755"
become: True
- name: Install kubectl
ansible.builtin.get_url:
url: https://dl.k8s.io/release/v1.31.0/bin/linux/amd64/kubectl
dest: /usr/local/bin/kubectl
force: no
become: True
- name: make kubectl executable
ansible.builtin.file:
path: /usr/local/bin/kubectl
owner: root
group: root
mode: "0755"
become: True
- name: Install lazygit
ansible.builtin.get_url:
url: https://github.com/jesseduffield/lazygit/releases/download/v0.43.1/lazygit_0.43.1_Linux_x86_64.tar.gz
dest: /tmp/lazygit.tar.gz
force: yes
- name: Extract /tmp/lazygit.tar.gz
ansible.builtin.unarchive:
src: /tmp/lazygit.tar.gz
dest: /usr/local/bin/
become: True
- name: make lazygit executable
ansible.builtin.file:
path: /usr/local/bin/lazygit
owner: root
group: root
mode: "0755"
become: True
- name: Install lazydocker
ansible.builtin.shell:
cmd: curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
- name: download k9s
ansible.builtin.get_url:
url: https://github.com/derailed/k9s/releases/download/v0.27.4/k9s_Linux_amd64.tar.gz
dest: /tmp/k9s_Linux_amd64.tar.gz
force: no
- name: Extract /tmp/k9s_Linux_amd64.tar.gz
ansible.builtin.unarchive:
src: /tmp/k9s_Linux_amd64.tar.gz
dest: /tmp
- name: Copy k9s binary
ansible.builtin.copy:
src: /tmp/k9s
dest: /usr/local/bin/k9s
mode: "0555"
become: True
- name: Install helm 3
ansible.builtin.shell:
cmd: curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
- name: download velero
ansible.builtin.get_url:
url: https://github.com/vmware-tanzu/velero/releases/download/v1.7.1/velero-v1.7.1-linux-amd64.tar.gz
dest: /tmp/velero-v1.7.1-linux-amd64.tar.gz
force: no
- name: Extract /tmp/velero-v1.7.1-linux-amd64.tar.gz
ansible.builtin.unarchive:
src: /tmp/velero-v1.7.1-linux-amd64.tar.gz
dest: /tmp
- name: Copy velero binary
ansible.builtin.copy:
src: /tmp/velero-v1.7.1-linux-amd64/velero
dest: /usr/local/bin/velero
mode: "0555"
become: True
- name: download golang (don't installed new version of Go on top a previous one. rm -rvf /usr/local/go/)
ansible.builtin.get_url:
url: https://go.dev/dl/go1.22.3.linux-amd64.tar.gz
dest: /usr/local/go1.22.3.linux-amd64.tar.gz
force: no
become: True
- name: Extract go1.22.3.linux-amd64.tar.gz
ansible.builtin.unarchive:
src: /usr/local/go1.22.3.linux-amd64.tar.gz
dest: /usr/local
become: True
- name: download protoc (API for protocol buffers using modern Haskell language and library patterns.)
ansible.builtin.get_url:
url: https://github.com/protocolbuffers/protobuf/releases/download/v3.14.0/protoc-3.14.0-linux-x86_64.zip
dest: /usr/local/protoc-3.14.0-linux-x86_64.zip
force: no
become: True
- name: Extract protoc-3.14.0-linux-x86_64.zip
ansible.builtin.unarchive:
src: /usr/local/protoc-3.14.0-linux-x86_64.zip
dest: /usr/local
become: True
- name: get and install argocd cli
ansible.builtin.get_url:
url: https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
dest: /usr/local/bin/argocd
mode: "0555"
force: no
become: True
- name: get argo cli
ansible.builtin.get_url:
url: https://github.com/argoproj/argo-workflows/releases/download/v3.2.6/argo-linux-amd64.gz
dest: /tmp
force: no
- name: Extract argo-linux-amd64.gz
ansible.builtin.shell:
cmd: ls /tmp/argo-linux-amd64 || gunzip argo-linux-amd64.gz
chdir: /tmp
- name: Copy argo cli binary
ansible.builtin.copy:
src: /tmp/argo-linux-amd64
dest: /usr/local/bin/argo
mode: "0555"
become: True
- name: Install nvm (Node Version Manager)
ansible.builtin.shell:
cmd: ls ~/.nvm || curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
- name: Setup nvm env
ansible.builtin.shell:
cmd: cat /home/${USER}/.nvm/nvm.sh | bash # This loads nvm
become: True
- name: Install Slack chat client
snap:
name: slack
classic: True
become: True
- name: download fzf command-line fuzzy finder
ansible.builtin.git:
repo: "https://github.com/junegunn/fzf.git"
dest: ~/.fzf
update: True
- name: install fzf
ansible.builtin.shell:
cmd: ~/.fzf/install
# become: True
#
- name: install z
ansible.builtin.get_url:
url: https://raw.githubusercontent.com/rupa/z/master/z.sh
dest: /usr/local/bin/z.sh
mode: "777"
become: True
- name: move youtube downloader in place
copy:
src: files/ydl.sh
dest: /usr/local/bin/ydl.sh
mode: "774"
become: True
- name: copy cht.sh to /usr/local/bin/
ansible.builtin.copy:
src: cht.sh
dest: /usr/local/bin/cht.sh
mode: "777"
become: True
- name: copy extract_k8s_secrets.sh to /usr/local/bin/
ansible.builtin.copy:
src: extract_k8s_secrets.sh
dest: /usr/local/bin/extract_k8s_secrets.sh
mode: "777"
become: True
- name: copy spell.sh to /usr/local/bin/
ansible.builtin.copy:
src: spell.sh
dest: /usr/local/bin/spell.sh
mode: "777"
become: True
- name: copy sync-zsh-history to /usr/local/bin/
ansible.builtin.copy:
src: sync-zsh-history/index.js
dest: /usr/local/bin/sync-zsh-history.js
mode: "777"
become: True