aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/molecule/default/converge.yml
blob: 8f2b399e51dcb7cd8fe0beefccba309e8d4b417f (plain) (blame)
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
---
- name: Simple deploy
  hosts: application
  pre_tasks:
    - name: Create targets
      ansible.builtin.file:
        path: '{{ item }}'
        state: touch
        modification_time: preserve
        access_time: preserve
        mode: '0644'
      become: true
      delegate_to: '{{ prometheus_target_host }}'
      loop:
        - /opt/simple_target1.yml
        - /opt/simple_target2.yml
        - /opt/simple_target3.yml

  vars:
    prometheus_target_host: prometheus
    prometheus_target_exporter_defaults:
      node_exporter:
        path: /opt/simple_target1.yml
        host: '{{ inventory_hostname }}'
      blackbox_exporter:
        path: /opt/simple_target2.yml
        host: '{{ inventory_hostname }}_AA'

  roles:
    - role: kliwniloc.prometheus_target
      prometheus_target_exporter:
        - id: node_exporter
        - { id: blackbox_exporter, host: test1 }
        - { id: blackbox_exporter, host: test2 }
    - role: kliwniloc.prometheus_target
      prometheus_target_exporter:
        - id: blackbox_exporter
          path: /opt/simple_target3.yml


- name: Deploy with hooks
  hosts: application
  pre_tasks:
    - name: Create targets
      ansible.builtin.file:
        path: '{{ item }}'
        state: touch
        modification_time: preserve
        access_time: preserve
        mode: '0644'
      become: true
      delegate_to: '{{ prometheus_target_host }}'
      loop:
        - /opt/hook_target.yml
        - /opt/hook1
        - /opt/hook1

  vars:
    prometheus_target_host: prometheus
    prometheus_target_handler_command_enabled: true
    prometheus_target_handler_command:
      cmd: touch /opt/hook1
    prometheus_target_handler_shell_enabled: true
    prometheus_target_handler_shell:
      cmd: touch /opt/hook2

  roles:
    - role: kliwniloc.prometheus_target
      prometheus_target_exporter:
        - id: node_exporter
          host: application
          path: /opt/hook_target.yml


- name: Deploy with lineinfile
  hosts: application
  pre_tasks:
    - name: Create test user
      ansible.builtin.user:
        name: prometheus
      become: true
      delegate_to: '{{ prometheus_target_host }}'

    - name: Create target
      ansible.builtin.copy:
        dest: /opt/lineinfile.yml
        owner: prometheus
        group: prometheus
        mode: '0600'
        force: false
        # yamllint disable rule:indentation
        content: |
          - labels:
              my: label
            targets:
            - existing:9100
        # yamllint enable rule:indentation
      become: true
      delegate_to: '{{ prometheus_target_host }}'

  vars:
    prometheus_target_host: prometheus
    prometheus_target_strategy_lineinfile_prefix: '  - '
    prometheus_target_strategy_lineinfile_suffix: :9100

  roles:
    - role: kliwniloc.prometheus_target
      prometheus_target_exporter:
        - id: node_exporter
          path: /opt/lineinfile.yml
          host: '{{ inventory_hostname }}'