Skip to content

Commit 32504b1

Browse files
authored
feat: 2023 update (#12)
1 parent aa20a63 commit 32504b1

File tree

7 files changed

+242
-126
lines changed

7 files changed

+242
-126
lines changed

Vagrantfile

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Vagrant.configure("2") do |config|
2929

3030
config.vm.provision "ansible_local" do |ansible|
3131
ansible.playbook = "setup.yml"
32+
# ansible.verbose = "vvvvv"
3233
ansible.limit = 'all,localhost'
3334
ansible.install = false
3435
end

roles/00-install-software/tasks/main.yml

+2-51
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,13 @@
1717
- name: "Getting deb packages"
1818
get_url: url={{ item['url'] }} dest={{ item['dest'] }} mode=0644 timeout=20
1919
with_items:
20-
- url: https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn-release_1.0.0_all.deb
21-
dest: /tmp/nordvpn.deb
2220
- url: https://downloads.slack-edge.com/linux_releases/slack-desktop-4.4.2-amd64.deb
2321
dest: /tmp/slack.deb
2422

2523
- name: "Installing deb packages"
2624
apt: deb={{ item }} state=present
2725
with_items:
2826
- /tmp/slack.deb
29-
- /tmp/nordvpn.deb
3027

3128
- name: "Installing core packages"
3229
apt: pkg={{ packages }} state=present update_cache=yes
@@ -42,57 +39,11 @@
4239
- python-psutil
4340
- rlwrap
4441

45-
# must have
46-
- git
47-
- vim
48-
- jq
49-
- nmap
50-
- wireshark
51-
5242
# backup
5343
- backintime-common
5444
- backintime-qt4
5545

56-
# java
57-
- openjdk-11-jdk
58-
- maven
59-
- gradle
60-
61-
# php
62-
- php-cli
63-
64-
# python
65-
- python3
66-
- python3-pip
67-
- python3-venv
68-
- python3-setuptools
69-
70-
# virtualization
71-
- virtualbox
72-
- virtualbox-guest-additions-iso
73-
- virtualbox-qt
74-
- vagrant
75-
76-
# docker
77-
- docker-ce
78-
- docker-ce-cli
79-
- containerd.io
80-
81-
# other apps
46+
# other apps
8247
- spotify-client
8348
- vlc
84-
- nordvpn
85-
86-
- name: "Installing more binaries"
87-
get_url: url={{ item['url'] }} dest={{ item['dest'] }} mode=0755
88-
with_items:
89-
- url: https://cht.sh/:cht.sh
90-
dest: /usr/local/bin/cht.sh
91-
- url: https://github.com/docker/compose/releases/download/1.25.5/docker-compose-Linux-x86_64
92-
dest: /usr/local/bin/docker-compose
93-
94-
- name: "Create Docker group"
95-
group: name=docker state=present
96-
97-
- name: "Add current user to Docker group"
98-
user: name="{{ ansible_env['USER'] }}" groups=docker append=yes
49+
- slack-desktop
+10-15
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,28 @@
11
export HISTSIZE=10000
22
export HISTFILESIZE=10000
33
export HISTTIMEFORMAT="%d/%m/%y %T "
4-
5-
export PATH=$HOME/go/bin:$PATH
6-
export PATH=$HOME/software/go/bin:$PATH
4+
export EDITOR=vim
75
export PATH=$HOME/.local/bin:$PATH
8-
#export PATH="/snap/bin:$PATH"
9-
106
export ANSIBLE_NOCOWS=1
117
#export VAGRANT_DEFAULT_PROVIDER=libvirt
128

9+
# aliases
1310
alias ll='ls -lha'
1411
alias dig='dig +noall +answer +ttlunits'
12+
# kubernetes helpers
13+
alias kafkapod='kubectl run kafkacat --rm -i --tty --namespace default --image confluentinc/cp-kafkacat --command -- bash'
14+
alias debugpod='kubectl run toolbox --rm -i --tty --namespace default --image ubuntu:22.04 --command -- bash'
1515

16+
# functions
1617
function git_prune() {
1718
git fetch -p
1819
for branch in $(git branch -vv | grep ': gone]' | awk '{print $1}'); do
1920
git branch -D $branch;
2021
done;
2122
}
2223

23-
# kubernetes helpers
24-
alias kafkapod='kubectl run --generator=run-pod/v1 kafkacat --rm -i --tty --namespace default --image confluentinc/cp-kafkacat --command -- bash'
25-
alias debugpod='kubectl run --generator=run-pod/v1 toolbox --rm -i --tty --namespace default --image ubuntu:18.04 --command -- bash'
24+
function get_ec2_tags() {
25+
steampipe query "select tags from aws.aws_ec2_instance where instance_id='$1'"
26+
}
27+
2628

27-
# xinput settings for Magic TrackPad 2
28-
if [[ "$(xinput | grep 'Apple Inc. Magic Trackpad 2')" != "" ]]; then
29-
# Tap
30-
xinput set-prop "pointer:Apple Inc. Magic Trackpad 2" "libinput Tapping Enabled" 1
31-
# Natural scroll
32-
xinput set-prop "pointer:Apple Inc. Magic Trackpad 2" "libinput Natural Scrolling Enabled" 0
33-
fi;

roles/03-dev-tools/defaults/main.yml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
os: linux
2+
arch: amd64
3+
arch_alt: x86_64
4+
5+
versions:
6+
idea: 2023.1.3
7+
go: 1.14.2
8+
slack: 4.33.73
9+

roles/03-dev-tools/tasks/main.yml

+73-10
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
- name: "Create cloud tools directory"
2+
file: path="{{ ansible_env['HOME'] }}/software" state=directory mode=0755
3+
14
- name: "Downloading Idea"
25
get_url: url={{ item['url'] }} dest={{ item['dest'] }} mode=0644
36
with_items:
4-
- url: https://download-cf.jetbrains.com/idea/ideaIU-2020.1.tar.gz
7+
- url: https://download-cdn.jetbrains.com/idea/ideaIU-{{ versions['idea'] }}.tar.gz
58
dest: "/tmp/idea.tar.gz"
69

710
- name: "Installing Idea 1/2"
@@ -24,20 +27,80 @@
2427
dest: /usr/local/bin/idea
2528
state: link
2629

27-
- name: "Downloading hugo"
28-
get_url: url={{ item['url'] }} dest={{ item['dest'] }} mode=0644
30+
- name: "Getting deb packages"
31+
get_url: url={{ item['url'] }} dest={{ item['dest'] }} mode=0644 timeout=20
2932
with_items:
30-
- url: https://github.com/gohugoio/hugo/releases/download/v0.69.0/hugo_0.69.0_Linux-64bit.deb
31-
dest: "/tmp/hugo.deb"
33+
- url: "https://downloads.slack-edge.com/releases/{{ os }}/{{ versions['slack'] }}/prod/x64/slack-desktop-{{ versions['slack'] }}-{{ arch }}.deb"
34+
dest: /tmp/slack.deb
35+
- url: https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb
36+
dest: /tmp/session-manager-plugin.deb
3237

33-
- name: "Installing hugo"
38+
- name: "Installing deb packages"
39+
apt: deb={{ item }} state=present
40+
with_items:
41+
- /tmp/slack.deb
42+
- /tmp/session-manager-plugin.deb
3443
become: yes
35-
apt: deb=/tmp/hugo.deb state=present
3644

37-
- name: "Downloading golang"
45+
- name: "Adding keys for non public programs"
46+
apt_key: url={{ item }} state=present
47+
with_items:
48+
- https://download.docker.com/linux/ubuntu/gpg
49+
become: yes
50+
51+
- name: "Adding repos for non public programs"
52+
apt_repository: repo={{ item }} codename=bionic state=present
53+
with_items:
54+
- deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
55+
become: yes
56+
57+
- name: "Installing dev packages"
58+
apt: pkg={{ packages }} state=present update_cache=yes
3859
vars:
39-
go_version: 1.14.2
40-
get_url: url=https://dl.google.com/go/go{{ go_version }}.linux-amd64.tar.gz dest=/tmp/go.tar.gz
60+
packages:
61+
# must have
62+
- git
63+
- vim
64+
- jq
65+
- nmap
66+
- wireshark
67+
68+
# java
69+
- openjdk-11-jdk
70+
- maven
71+
- gradle
72+
73+
# php
74+
- php-cli
75+
76+
# python
77+
- python3
78+
- python3-pip
79+
- python3-venv
80+
- python3-setuptools
81+
82+
# virtualization
83+
- virtualbox
84+
- virtualbox-guest-additions-iso
85+
- virtualbox-qt
86+
- vagrant
87+
88+
# docker
89+
- docker-ce
90+
- docker-ce-cli
91+
- containerd.io
92+
become: yes
93+
94+
- name: "Create Docker group"
95+
group: name=docker state=present
96+
become: yes
97+
98+
- name: "Add current user to Docker group"
99+
user: name="{{ ansible_env['USER'] }}" groups=docker append=yes
100+
become: yes
101+
102+
- name: "Downloading golang"
103+
get_url: url=https://dl.google.com/go/go{{ versions['go'] }}.{{ os }}-{{ arch }}.tar.gz dest=/tmp/go.tar.gz
41104

42105
- name: "Unpacking golang"
43106
unarchive:
+65-30
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,93 @@
11
cloud_tools_path: "{{ ansible_env['HOME'] }}/software/cloud"
22

33
os: linux
4+
arch: amd64
5+
arch_alt: x86_64
46

57
versions:
6-
gcloud: 289.0.0
7-
helm: v3.2.4
8-
kubectl: v1.18.0
9-
kubectx: v0.9.1
8+
aws: awscli-exe-linux-x86_64.zip
9+
amtool: 0.25.0
10+
dive: 0.11.0
11+
docker-compose: v2.19.1
12+
gcloud: 437.0.1
13+
helm: v3.12.1
14+
hugo: 0.115.2
15+
kubectl: v1.27.3
1016
kubeps1: v0.7.0
11-
minikube: v1.11.0
12-
mkcert: v1.4.1
13-
stern: 1.11.0
14-
spruce: v1.25.2
15-
terraform: 0.12.28
17+
kubie: v0.19.3
18+
logcli: v2.8.2
19+
minikube: v1.30.1
20+
mkcert: v1.4.4
21+
promtool: 2.45.0
22+
rbac-lookup: 0.10.1
23+
steampipe: v0.20.8
24+
stern: 1.25.0
25+
spruce: v1.30.2
1626
vault: 1.4.2
1727

1828
tools:
1929
binaries:
2030
- name: kubectl
21-
url: "https://storage.googleapis.com/kubernetes-release/release/{{ versions['kubectl'] }}/bin/{{ os }}/amd64/kubectl"
31+
url: "https://dl.k8s.io/release/{{ versions['kubectl'] }}/bin/{{ os }}/{{ arch }}/kubectl"
32+
- name: kubie
33+
url: "https://github.com/sbstp/kubie/releases/download/{{ versions['kubie'] }}/kubie-{{ os }}-{{ arch }}"
2234
- name: minikube
23-
url: "https://storage.googleapis.com/minikube/releases/{{ versions['minikube'] }}/minikube-{{ os }}-amd64"
24-
checksum: "sha256:0b07a295d5110dc70907e4660429b8f9b3e8c05119e42f73e192b5313695a913"
35+
url: "https://storage.googleapis.com/minikube/releases/{{ versions['minikube'] }}/minikube-{{ os }}-{{ arch }}"
36+
# checksum: "sha256:0b07a295d5110dc70907e4660429b8f9b3e8c05119e42f73e192b5313695a913"
2537
- name: mkcert
26-
url: "https://github.com/FiloSottile/mkcert/releases/download/{{ versions['mkcert'] }}/mkcert-{{ versions['mkcert'] }}-{{ os }}-amd64"
38+
url: "https://github.com/FiloSottile/mkcert/releases/download/{{ versions['mkcert'] }}/mkcert-{{ versions['mkcert'] }}-{{ os }}-{{ arch }}"
2739
- name: spruce
28-
url: "https://github.com/geofffranks/spruce/releases/download/{{ versions['spruce'] }}/spruce-{{ os }}-amd64"
29-
- name: stern
30-
url: "https://github.com/wercker/stern/releases/download/{{ versions['stern'] }}/stern_{{ os }}_amd64"
31-
checksum: "sha256:e0b39dc26f3a0c7596b2408e4fb8da533352b76aaffdc18c7ad28c833c9eb7db"
40+
url: "https://github.com/geofffranks/spruce/releases/download/{{ versions['spruce'] }}/spruce-{{ os }}-{{ arch }}"
41+
# checksum: "sha256:e0b39dc26f3a0c7596b2408e4fb8da533352b76aaffdc18c7ad28c833c9eb7db"
42+
- name: cht.sh
43+
url: "https://cht.sh/:cht.sh"
44+
- name: docker-compose
45+
url: "https://github.com/docker/compose/releases/download/{{ versions['docker-compose'] }}/docker-compose-{{ os }}-{{ arch_alt }}"
46+
- name: rbiam
47+
url: "https://github.com/mhausenblas/rbIAM/releases/latest/download/rbiam-{{ os }}"
48+
- name: container-diff
49+
url: "https://storage.googleapis.com/container-diff/latest/container-diff-{{ os }}-{{ arch }}"
3250

3351
archives:
3452
- name: gcloud
35-
url: "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-{{ versions['gcloud'] }}-{{ os }}-x86_64.tar.gz"
53+
url: "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-{{ versions['gcloud'] }}-{{ os }}-{{ arch_alt }}.tar.gz"
3654
format: tar.gz
37-
checksum: "sha256:3ee929cb236cc3a0c1d30dba514df198951f13681523bb3149ac6eb28af46443"
55+
# checksum: "sha256:3ee929cb236cc3a0c1d30dba514df198951f13681523bb3149ac6eb28af46443"
3856
- name: aws
39-
url: "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip"
57+
url: "https://awscli.amazonaws.com/{{ versions['aws'] }}"
4058
format: zip
4159
- name: helm
42-
url: "https://get.helm.sh/helm-{{ versions['helm'] }}-{{ os }}-amd64.tar.gz"
60+
url: "https://get.helm.sh/helm-{{ versions['helm'] }}-{{ os }}-{{ arch }}.tar.gz"
4361
format: tar.gz
44-
checksum: "sha256:8eb56cbb7d0da6b73cd8884c6607982d0be8087027b8ded01d6b2759a72e34b1"
45-
- name: kubectx
46-
url: "https://github.com/ahmetb/kubectx/archive/{{ versions['kubectx'] }}.tar.gz"
62+
# checksum: "sha256:8eb56cbb7d0da6b73cd8884c6607982d0be8087027b8ded01d6b2759a72e34b1"
63+
- name: hugo
64+
url: "https://github.com/gohugoio/hugo/releases/download/v{{ versions['hugo']}}/hugo_{{ versions['hugo']}}_{{ os }}-{{ arch }}.tar.gz"
4765
format: tar.gz
4866
- name: kubeps1
4967
url: "https://github.com/jonmosco/kube-ps1/archive/{{ versions['kubeps1'] }}.tar.gz"
5068
format: tar.gz
51-
- name: terraform
52-
url: "https://releases.hashicorp.com/terraform/{{ versions['terraform'] }}/terraform_{{ versions['terraform'] }}_{{ os }}_amd64.zip"
53-
format: zip
54-
checksum: "sha256:be99da1439a60942b8d23f63eba1ea05ff42160744116e84f46fc24f1a8011b6"
5569
- name: vault
56-
url: "https://releases.hashicorp.com/vault/{{ versions['vault'] }}/vault_{{ versions['vault'] }}_{{ os }}_amd64.zip"
70+
url: "https://releases.hashicorp.com/vault/{{ versions['vault'] }}/vault_{{ versions['vault'] }}_{{ os }}_{{ arch }}.zip"
71+
format: zip
72+
# checksum: "sha256:f2bca89cbffb8710265eb03bc9452cc316b03338c411ba8453ffe7419390b8f1"
73+
- name: rbac-lookup
74+
url: "https://github.com/FairwindsOps/rbac-lookup/releases/download/v{{ versions['rbac-lookup'] }}/rbac-lookup_{{ versions['rbac-lookup'] }}_{{ os | capitalize }}_{{ arch_alt }}.tar.gz"
75+
format: tar.gz
76+
- name: steampipe
77+
url: "https://github.com/turbot/steampipe/releases/download/{{ versions['steampipe'] }}/steampipe_{{ os }}_{{ arch }}.tar.gz"
78+
format: tar.gz
79+
- name: dive
80+
url: "https://github.com/wagoodman/dive/releases/download/v{{ versions['dive'] }}/dive_{{ versions['dive'] }}_{{ os }}_{{ arch }}.tar.gz"
81+
format: tar.gz
82+
- name: logcli
83+
url: "https://github.com/grafana/loki/releases/download/{{ versions['logcli'] }}/logcli-{{ os }}-{{ arch }}.zip"
5784
format: zip
58-
checksum: "sha256:f2bca89cbffb8710265eb03bc9452cc316b03338c411ba8453ffe7419390b8f1"
85+
- name: promtool
86+
url: "https://github.com/prometheus/prometheus/releases/download/v{{ versions['promtool'] }}/prometheus-{{ versions['promtool'] }}.{{ os }}-{{ arch }}.tar.gz"
87+
format: tar.gz
88+
- name: amtool
89+
url: "https://github.com/prometheus/alertmanager/releases/download/v{{ versions['amtool'] }}/alertmanager-{{ versions['amtool'] }}.{{ os }}-{{ arch }}.tar.gz"
90+
format: tar.gz
91+
- name: stern
92+
url: "https://github.com/stern/stern/releases/download/v{{ versions['stern'] }}/stern_{{ versions['stern'] }}_{{ os }}_{{ arch }}.tar.gz"
93+
format: tar.gz

0 commit comments

Comments
 (0)