Skip to content

Commit d9db972

Browse files
syphernlzekker6
andauthored
feat: add vlagent (#118)
* feat: add vlagent * add missing task * remove deprecated vars * typo url * corrections * revert tmpDataPath * fix readme * fix * roles/vlagent: review follow-up - update ordering of targets in make file - restore molecule converge target - update ordering in readme - update tests for molecule to use correct port Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * roles/vlagent: restore makefile target for detroy Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * roles/vlagent: remove newline Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * roles/vlagent: sync readme with default value Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> --------- Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> Co-authored-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
1 parent 0395dd7 commit d9db972

34 files changed

+830
-8
lines changed

Makefile

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,14 @@ molecule-converge-vlsingle:
4141
. .venv/bin/activate; \
4242
cd roles/vlsingle && molecule converge && molecule verify
4343

44+
molecule-converge-vlagent:
45+
. .venv/bin/activate; \
46+
cd roles/vlagent && molecule converge && molecule verify
47+
48+
molecule-converge-vlagent-enterprise:
49+
. .venv/bin/activate; \
50+
cd roles/vlagent && molecule converge -s enterprise && molecule verify -s enterprise
51+
4452
molecule-converge-vtsingle:
4553
. .venv/bin/activate; \
4654
cd roles/vtsingle && molecule converge && molecule verify
@@ -84,14 +92,22 @@ molecule-converge-cluster-integration-enterprise:
8492
molecule-converge-selinux:
8593
MOLECULE_DISTRO=rockylinux10 $(MAKE) molecule-converge
8694

87-
molecule-converge: molecule-converge-vmsingle molecule-converge-vmagent molecule-converge-vmalert molecule-converge-vminsert molecule-converge-vmstorage molecule-converge-vmselect molecule-converge-vmauth molecule-converge-vlsingle molecule-converge-vtsingle
95+
molecule-converge: molecule-converge-vmsingle molecule-converge-vmagent molecule-converge-vmalert molecule-converge-vminsert molecule-converge-vmstorage molecule-converge-vmselect molecule-converge-vmauth molecule-converge-vlsingle molecule-converge-vtsingle molecule-converge-vlagent
8896

89-
molecule-converge-enterprise: molecule-converge-vmsingle-enterprise molecule-converge-vmagent-enterprise molecule-converge-vmalert-enterprise molecule-converge-vminsert-enterprise molecule-converge-vmstorage-enterprise molecule-converge-vmselect-enterprise molecule-converge-vmauth-enterprise
97+
molecule-converge-enterprise: molecule-converge-vmsingle-enterprise molecule-converge-vmagent-enterprise molecule-converge-vmalert-enterprise molecule-converge-vminsert-enterprise molecule-converge-vmstorage-enterprise molecule-converge-vmselect-enterprise molecule-converge-vmauth-enterprise molecule-converge-vlagent-enterprise
9098

9199
molecule-converge-integration: molecule-converge-cluster-integration molecule-converge-proxy molecule-converge-download-to-control
92100

93101
molecule-converge-integration-enterprise: molecule-converge-cluster-integration-enterprise
94102

103+
molecule-converge-vlagent-proxy:
104+
. .venv/bin/activate; \
105+
cd roles/vlagent && molecule converge -s proxy && molecule verify -s proxy
106+
107+
molecule-converge-vlagent-download-to-control:
108+
. .venv/bin/activate; \
109+
cd roles/vlagent && molecule converge -s download-to-control && molecule verify -s download-to-control
110+
95111
molecule-converge-vmsingle-proxy:
96112
. .venv/bin/activate; \
97113
cd roles/vmsingle && molecule converge -s proxy && molecule verify -s proxy
@@ -164,9 +180,9 @@ molecule-converge-vtsingle-download-to-control:
164180
. .venv/bin/activate; \
165181
cd roles/vtsingle && molecule converge -s download-to-control && molecule verify -s download-to-control
166182

167-
molecule-converge-proxy: molecule-converge-vmsingle-proxy molecule-converge-vmagent-proxy molecule-converge-vmalert-proxy molecule-converge-vmauth-proxy molecule-converge-vmselect-proxy molecule-converge-vminsert-proxy molecule-converge-vmstorage-proxy molecule-converge-vlsingle-proxy molecule-converge-vtsingle-proxy
183+
molecule-converge-proxy: molecule-converge-vmsingle-proxy molecule-converge-vmagent-proxy molecule-converge-vmalert-proxy molecule-converge-vmauth-proxy molecule-converge-vmselect-proxy molecule-converge-vminsert-proxy molecule-converge-vmstorage-proxy molecule-converge-vlsingle-proxy molecule-converge-vtsingle-proxy molecule-converge-vlagent-proxy
168184

169-
molecule-converge-download-to-control: molecule-converge-vmsingle-download-to-control molecule-converge-vmagent-download-to-control molecule-converge-vmalert-download-to-control molecule-converge-vmauth-download-to-control molecule-converge-vmselect-download-to-control molecule-converge-vminsert-download-to-control molecule-converge-vmstorage-download-to-control molecule-converge-vlsingle-download-to-control molecule-converge-vtsingle-download-to-control
185+
molecule-converge-download-to-control: molecule-converge-vmsingle-download-to-control molecule-converge-vmagent-download-to-control molecule-converge-vmalert-download-to-control molecule-converge-vmauth-download-to-control molecule-converge-vmselect-download-to-control molecule-converge-vminsert-download-to-control molecule-converge-vmstorage-download-to-control molecule-converge-vlsingle-download-to-control molecule-converge-vtsingle-download-to-control molecule-converge-vlagent-download-to-control
170186

171187
molecule-destroy-vmsingle:
172188
. .venv/bin/activate; \
@@ -204,6 +220,10 @@ molecule-destroy-vmauth:
204220
. .venv/bin/activate; \
205221
cd roles/vmauth && molecule destroy
206222

223+
molecule-destroy-vlagent:
224+
. .venv/bin/activate; \
225+
cd roles/vlagent && molecule destroy
226+
207227
molecule-destroy-vmsingle-enterprise:
208228
. .venv/bin/activate; \
209229
cd roles/vmsingle && molecule destroy -s enterprise
@@ -232,6 +252,10 @@ molecule-destroy-vmauth-enterprise:
232252
. .venv/bin/activate; \
233253
cd roles/vmauth && molecule destroy -s enterprise
234254

255+
molecule-destroy-vlagent-enterprise:
256+
. .venv/bin/activate; \
257+
cd roles/vlagent && molecule destroy -s enterprise
258+
235259
molecule-destroy-cluster-integration:
236260
. .venv/bin/activate; \
237261
cd playbooks/ && molecule destroy -s cluster
@@ -243,9 +267,9 @@ molecule-destroy-cluster-integration-enterprise:
243267
molecule-destroy-selinux:
244268
MOLECULE_DISTRO=rockylinux10 $(MAKE) molecule-destroy
245269

246-
molecule-destroy: molecule-destroy-vmsingle molecule-destroy-vmagent molecule-destroy-vmalert molecule-destroy-vminsert molecule-destroy-vmstorage molecule-destroy-vmselect molecule-destroy-vmauth molecule-destroy-cluster-integration molecule-destroy-vlsingle molecule-destroy-vtsingle
270+
molecule-destroy: molecule-destroy-vmsingle molecule-destroy-vmagent molecule-destroy-vmalert molecule-destroy-vminsert molecule-destroy-vmstorage molecule-destroy-vmselect molecule-destroy-vmauth molecule-destroy-cluster-integration molecule-destroy-vlsingle molecule-destroy-vtsingle molecule-destroy-vlagent
247271

248-
molecule-destroy-enterprise: molecule-destroy-vmsingle-enterprise molecule-destroy-vmagent-enterprise molecule-destroy-vmalert-enterprise molecule-destroy-vminsert-enterprise molecule-destroy-vmstorage-enterprise molecule-destroy-vmselect-enterprise molecule-destroy-vmauth-enterprise molecule-destroy-cluster-integration
272+
molecule-destroy-enterprise: molecule-destroy-vmsingle-enterprise molecule-destroy-vmagent-enterprise molecule-destroy-vmalert-enterprise molecule-destroy-vminsert-enterprise molecule-destroy-vmstorage-enterprise molecule-destroy-vmselect-enterprise molecule-destroy-vmauth-enterprise molecule-destroy-cluster-integration molecule-destroy-vlagent-enterprise
249273

250274
molecule-destroy-integration: molecule-destroy-cluster-integration
251275

@@ -259,6 +283,14 @@ molecule-destroy-vmsingle-download-to-control:
259283
. .venv/bin/activate; \
260284
cd roles/vmsingle && molecule destroy -s download-to-control
261285

286+
molecule-destroy-vlagent-proxy:
287+
. .venv/bin/activate; \
288+
cd roles/vlagent && molecule destroy -s proxy
289+
290+
molecule-destroy-vlagent-download-to-control:
291+
. .venv/bin/activate; \
292+
cd roles/vlagent && molecule destroy -s download-to-control
293+
262294
molecule-destroy-vmagent-proxy:
263295
. .venv/bin/activate; \
264296
cd roles/vmagent && molecule destroy -s proxy
@@ -323,6 +355,6 @@ molecule-destroy-vtsingle-download-to-control:
323355
. .venv/bin/activate; \
324356
cd roles/vtsingle && molecule destroy -s download-to-control
325357

326-
molecule-destroy-proxy: molecule-destroy-vmsingle-proxy molecule-destroy-vmagent-proxy molecule-destroy-vmalert-proxy molecule-destroy-vmauth-proxy molecule-destroy-vmselect-proxy molecule-destroy-vminsert-proxy molecule-destroy-vmstorage-proxy molecule-destroy-vlsingle-proxy molecule-destroy-vtsingle-proxy
358+
molecule-destroy-proxy: molecule-destroy-vmsingle-proxy molecule-destroy-vmagent-proxy molecule-destroy-vmalert-proxy molecule-destroy-vmauth-proxy molecule-destroy-vmselect-proxy molecule-destroy-vminsert-proxy molecule-destroy-vmstorage-proxy molecule-destroy-vlsingle-proxy molecule-destroy-vtsingle-proxy molecule-destroy-vlagent-proxy
327359

328-
molecule-destroy-download-to-control: molecule-destroy-vmsingle-download-to-control molecule-destroy-vmagent-download-to-control molecule-destroy-vmalert-download-to-control molecule-destroy-vmauth-download-to-control molecule-destroy-vmselect-download-to-control molecule-destroy-vminsert-download-to-control molecule-destroy-vmstorage-download-to-control molecule-destroy-vlsingle-download-to-control molecule-destroy-vtsingle-download-to-control
360+
molecule-destroy-download-to-control: molecule-destroy-vmsingle-download-to-control molecule-destroy-vmagent-download-to-control molecule-destroy-vmalert-download-to-control molecule-destroy-vmauth-download-to-control molecule-destroy-vmselect-download-to-control molecule-destroy-vminsert-download-to-control molecule-destroy-vmstorage-download-to-control molecule-destroy-vlsingle-download-to-control molecule-destroy-vtsingle-download-to-control molecule-destroy-vlagent-download-to-control

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Collection includes the following roles:
6464
- [vminsert](./roles/vminsert) - installs and configures [`vminsert`](https://docs.victoriametrics.com/cluster-victoriametrics/)
6565
- [vmauth](./roles/vmauth) - installs and configures [`vmauth`](https://docs.victoriametrics.com/vmauth/)
6666
- [vlsingle](./roles/vlsingle) - installs and configures [VictoriaLogs single node](https://docs.victoriametrics.com/victorialogs/)
67+
- [vlagent](./roles/vlagent) - installs and configures [`vlagent`](https://docs.victoriametrics.com/vlagent/)
6768

6869
See [cluster](playbooks/cluster.yml) and [vmsingle](playbooks/vmsingle.yml) playbooks for examples of how to use these
6970
roles.

roles/vlagent/.ansible-lint

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
skip_list:
2+
- '204'
3+
- '303'
4+
- '701'

roles/vlagent/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.kitchen/
2+
.vagrant/
3+
playbook.retry

roles/vlagent/.yamllint

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
# Based on ansible-lint config
3+
extends: default
4+
5+
rules:
6+
braces:
7+
max-spaces-inside: 1
8+
level: error
9+
brackets:
10+
max-spaces-inside: 1
11+
level: error
12+
colons:
13+
max-spaces-after: -1
14+
level: error
15+
commas:
16+
max-spaces-after: -1
17+
level: error
18+
comments: disable
19+
comments-indentation: disable
20+
document-start: disable
21+
empty-lines:
22+
max: 3
23+
level: error
24+
hyphens:
25+
level: error
26+
indentation: disable
27+
key-duplicates: enable
28+
line-length: disable
29+
new-line-at-end-of-file: disable
30+
new-lines:
31+
type: unix
32+
trailing-spaces: disable
33+
truthy: disable

roles/vlagent/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# VLagent
2+
3+
Role to install and configure vlagent. Installs by using binary from Github releases.
4+
5+
## Parameters
6+
7+
The following table lists the configurable parameters of the roles and their default values.
8+
9+
| Parameter | Description | Default |
10+
|-------------------------------------|----------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
11+
| vlagent_repo_url | Repository to use for download. | `https://github.com/VictoriaMetrics/VictoriaLogs` |
12+
| vlagent_version | vlagent version | `v1.44.0` |
13+
| vlagent_enterprise | Whether to use enterprise version of binaries. | `false` |
14+
| vlagent_license_key | License key for VictoriaMetrics enterprise. | `""` |
15+
| vlagent_license_key_file | License key file for VictoriaMetrics enterprise. | `""` |
16+
| vlagent_download_url | URL to download archive | `{{ vlagent_repo_url }}/releases/download/{{ vlagent_version }}/vlutils-{{ vlagent_version }}.tar.gz` |
17+
| vlagent_system_user | User to run vlagent | `vic_vl_agent` |
18+
| vlagent_system_group | Group for user of vlagent | `{{ vlagent_system_user }}` |
19+
| vlagent_remote_write_host | Remote write host URL. | `http://localhost:9428` |
20+
| vlagent_service_args | Dict representing set of arguments for vlagent | See [defaults](defaults/main.yml) |
21+
| vlagent_scrape_config | Prometheus scrape configuration | See [defaults](defaults/main.yml) |
22+
| vlagent_aggregation_config | Stream aggregation configuration | [] |
23+
| vlagent_install_download_to_control | Whether use control or remote host to download installation archive | false |
24+
| vlagent_systemd_protect_home | Configure Systemd home protection. See See https://www.freedesktop.org/software/systemd/man/systemd.exec.html#ProtectHome= | `"yes"` |
25+
| vl_proxy_http | Sets environment for downloading archive | `""` |
26+
| vl_proxy_https | Sets environment for downloading archive | `""` |

roles/vlagent/defaults/main.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
vlagent_version: "v1.44.0"
3+
vlagent_enterprise: false
4+
vlagent_license_key: ""
5+
vlagent_license_key_file: ""
6+
7+
vlagent_repo_url: "https://github.com/VictoriaMetrics/VictoriaLogs"
8+
vlagent_platform: "-linux"
9+
vlagent_download_url: "{{ vlagent_repo_url }}/releases/download/{{ vlagent_version }}/vlutils{{ vlagent_platform }}-{{ go_arch }}-{{ vlagent_version }}{%if vlagent_enterprise %}-enterprise{% endif %}.tar.gz"
10+
11+
vlagent_system_user: "vic_vl_agent"
12+
vlagent_system_group: "{{ vlagent_system_user }}"
13+
14+
vlagent_remote_write_host: "http://localhost:9428"
15+
vlagent_service_args:
16+
"remoteWrite.url": "{{ vlagent_remote_write_host }}/internal/insert"
17+
18+
vlagent_install_download_to_control: false
19+
20+
vl_proxy_http: ""
21+
vl_proxy_https: ""
22+
23+
vlagent_exec_start_post: ""
24+
vlagent_exec_stop: ""
25+
26+
# See https://www.freedesktop.org/software/systemd/man/systemd.exec.html#ProtectHome=
27+
# Available options: 'yes', 'read-only', 'tmpfs'
28+
vlagent_systemd_protect_home: "yes"

roles/vlagent/handlers/main.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# handlers file for VictoriaLogs
2+
---
3+
- name: Restart VLagent service
4+
become: true
5+
ansible.builtin.service:
6+
name: vic-vlagent
7+
state: restarted

roles/vlagent/meta/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dependencies: [] # noqa: meta-no-info
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
- name: Converge
3+
hosts: all
4+
become: yes
5+
tasks:
6+
- name: "Include vlagent"
7+
vars:
8+
vlagent_service_args:
9+
"remoteWrite.url":
10+
- "http://url1/internal/insert"
11+
"remoteWrite.tmpDataPath": /tmp/vlagent
12+
ansible.builtin.include_role:
13+
name: "vlagent"

0 commit comments

Comments
 (0)