Skip to content

Commit dd111e3

Browse files
committed
Added playbooks for each component for telemetry.
1 parent 3c1884a commit dd111e3

File tree

12 files changed

+363
-253
lines changed

12 files changed

+363
-253
lines changed

infra/ansible/aggregator.yaml

Lines changed: 0 additions & 61 deletions
This file was deleted.

infra/ansible/playbooks/caddy.yaml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
- name: Caddy Setup
2+
hosts: "{{ host }}"
3+
4+
tasks:
5+
6+
- name: Install dependencies for Caddy
7+
become: true
8+
apt:
9+
name:
10+
- debian-keyring
11+
- debian-archive-keyring
12+
- apt-transport-https
13+
- curl
14+
state: present
15+
update_cache: yes
16+
vars:
17+
ansible_ssh_user: "{{ admin_user }}"
18+
19+
- name: Download and install Caddy GPG key
20+
shell:
21+
cmd: curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
22+
creates: /usr/share/keyrings/caddy-stable-archive-keyring.gpg
23+
vars:
24+
ansible_ssh_user: "{{ admin_user }}"
25+
26+
- name: Add Caddy repository
27+
shell:
28+
cmd: curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
29+
creates: /etc/apt/sources.list.d/caddy-stable.list
30+
vars:
31+
ansible_ssh_user: "{{ admin_user }}"
32+
33+
- name: Install Caddy
34+
become: true
35+
apt:
36+
update_cache: yes
37+
name: caddy
38+
state: present
39+
vars:
40+
ansible_ssh_user: "{{ admin_user }}"
41+
42+
- name: Add caddyfile config
43+
become: true
44+
template:
45+
src: caddy/Caddyfile.{{ host }}.j2
46+
dest: /etc/caddy/Caddyfile
47+
vars:
48+
ansible_ssh_user: "{{ admin_user }}"
49+
caddy_api_url: "{{ lookup('ini', 'caddy_api_url', file=ini_file) }}"
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
- name: Cassandra Setup
2+
hosts: "{{ host }}"
3+
4+
tasks:
5+
6+
- name: Download and add Apache Cassandra GPG key
7+
become: true
8+
get_url:
9+
url: "https://downloads.apache.org/cassandra/KEYS"
10+
dest: "/etc/apt/keyrings/apache-cassandra.asc"
11+
mode: '0644'
12+
vars:
13+
ansible_ssh_user: "{{ admin_user }}"
14+
15+
- name: Add Apache Cassandra repository
16+
become: true
17+
shell: echo "deb [signed-by=/etc/apt/keyrings/apache-cassandra.asc] https://debian.cassandra.apache.org 41x main" | sudo tee /etc/apt/sources.list.d/cassandra.sources.list
18+
vars:
19+
ansible_ssh_user: "{{ admin_user }}"
20+
21+
- name: Install Cassandra
22+
become: true
23+
apt:
24+
update_cache: yes
25+
name: cassandra
26+
state: present
27+
vars:
28+
ansible_ssh_user: "{{ admin_user }}"

infra/ansible/playbooks/elixir.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,19 @@
4646
. "$HOME/.asdf/completions/asdf.bash"
4747
4848
- name: Add Erlang plugin to asdf
49-
shell: /home/app/.asdf/bin/asdf plugin add erlang
49+
shell: /home/{{ ansible_user }}/.asdf/bin/asdf plugin add erlang
5050

5151
- name: Add Erlang version to asdf
52-
shell: /home/app/.asdf/bin/asdf install erlang {{ erlang_version }}
52+
shell: /home/{{ ansible_user }}/.asdf/bin/asdf install erlang {{ erlang_version }}
5353

5454
- name: Set Erlang version as global
55-
shell: /home/app/.asdf/bin/asdf global erlang {{ erlang_version }}
55+
shell: /home/{{ ansible_user }}/.asdf/bin/asdf global erlang {{ erlang_version }}
5656

5757
- name: Add Elixir plugin to asdf
58-
shell: /home/app/.asdf/bin/asdf plugin add elixir
58+
shell: /home/{{ ansible_user }}/.asdf/bin/asdf plugin add elixir
5959

6060
- name: Add Elixir version to asdf
61-
shell: /home/app/.asdf/bin/asdf install elixir {{ elixir_version }}
61+
shell: /home/{{ ansible_user }}/.asdf/bin/asdf install elixir {{ elixir_version }}
6262

6363
- name: Set Elixir version as global
64-
shell: /home/app/.asdf/bin/asdf global elixir {{ elixir_version }}
64+
shell: /home/{{ ansible_user }}/.asdf/bin/asdf global elixir {{ elixir_version }}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
- name: Grafana Setup
2+
hosts: "{{ host }}"
3+
4+
tasks:
5+
6+
- name: Create keyrings directory for Grafana
7+
file:
8+
path: /etc/apt/keyrings
9+
state: directory
10+
mode: '0755'
11+
12+
- name: Download and install Grafana GPG key
13+
shell:
14+
cmd: wget -q -O - https://apt.grafana.com/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/grafana.gpg
15+
creates: /etc/apt/keyrings/grafana.gpg
16+
vars:
17+
ansible_ssh_user: "{{ admin_user }}"
18+
19+
- name: Add Grafana stable repository
20+
shell:
21+
cmd: echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
22+
creates: /etc/apt/sources.list.d/grafana.list
23+
vars:
24+
ansible_ssh_user: "{{ admin_user }}"
25+
26+
- name: Update apt cache and install Grafana
27+
become: true
28+
apt:
29+
name: grafana
30+
state: present
31+
update_cache: yes
32+
vars:
33+
ansible_ssh_user: "{{ admin_user }}"
34+
35+
- name: Add grafana config file
36+
become: true
37+
template:
38+
src: grafana/grafana.ini.j2
39+
dest: /etc/grafana/grafana.ini
40+
vars:
41+
ansible_ssh_user: "{{ admin_user }}"
42+
grafana_http_port: "{{ lookup('ini', 'grafana_http_port', file=ini_file) }}"
43+
44+
- name: Restart Grafana
45+
become: true
46+
service:
47+
name: grafana-server
48+
state: restarted
49+
vars:
50+
ansible_ssh_user: "{{ admin_user }}"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
- name: Jaeger Setup
2+
hosts: "{{ host }}"
3+
4+
tasks:
5+
6+
- name: Download Jaeger package
7+
get_url:
8+
url: https://github.com/jaegertracing/jaeger/releases/download/v{{ version }}/jaeger-{{ version }}-linux-amd64.tar.gz
9+
dest: /tmp/jaeger-{{ version }}-linux-amd64.tar.gz
10+
mode: '0644'
11+
12+
- name: Install Jaeger package
13+
become: true
14+
unarchive:
15+
src: "/tmp/jaeger-{{ version }}-linux-amd64.tar.gz"
16+
dest: "/usr/local/bin/"
17+
remote_src: yes
18+
extra_opts:
19+
- --strip-components=1
20+
vars:
21+
ansible_ssh_user: "{{ admin_user }}"
22+
23+
- name: Clean up Jaeger tarball package
24+
file:
25+
path: /tmp/jaeger-{{ version }}-linux-amd64.tar.gz
26+
state: absent
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
- name: OpenTelemetry Setup
2+
hosts: "{{ host }}"
3+
4+
tasks:
5+
6+
- name: Download OpenTelemetry Collector package
7+
get_url:
8+
url: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.113.0/otelcol_0.113.0_linux_amd64.deb
9+
dest: /tmp/otelcol_0.113.0_linux_amd64.deb
10+
mode: '0644'
11+
12+
- name: Install OpenTelemetry Collector package
13+
command: sudo dpkg -i /tmp/otelcol_0.113.0_linux_amd64.deb
14+
args:
15+
creates: /usr/bin/otelcol
16+
vars:
17+
ansible_ssh_user: "{{ admin_user }}"
18+
19+
- name: Clean up OpenTelemetry Collector package
20+
file:
21+
path: /tmp/otelcol_0.113.0_linux_amd64.deb
22+
state: absent
23+
24+
- name: Restart OpenTelemetry service
25+
become: true
26+
systemd_service:
27+
state: restarted
28+
name: otelcol
29+
vars:
30+
ansible_ssh_user: "{{ admin_user }}"
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
- name: Postgres Setup
2+
hosts: "{{ host }}"
3+
4+
tasks:
5+
6+
- name: Ensure Postgres GPG directory exists
7+
become: true
8+
file:
9+
path: "/usr/share/postgresql-common/pgdg"
10+
state: directory
11+
mode: '0755'
12+
vars:
13+
ansible_ssh_user: "{{ admin_user }}"
14+
15+
- name: Download and add Postgres GPG key
16+
become: true
17+
get_url:
18+
url: "https://www.postgresql.org/media/keys/ACCC4CF8.asc"
19+
dest: "/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc"
20+
mode: '0644'
21+
vars:
22+
ansible_ssh_user: "{{ admin_user }}"
23+
24+
- name: Add Postgres repository
25+
become: true
26+
shell: echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
27+
vars:
28+
ansible_ssh_user: "{{ admin_user }}"
29+
30+
- name: Install Postgres 16
31+
become: true
32+
apt:
33+
update_cache: yes
34+
name: postgresql-16
35+
state: present
36+
vars:
37+
ansible_ssh_user: "{{ admin_user }}"

0 commit comments

Comments
 (0)