add all services that have no secret stuff
This commit is contained in:
		
							
								
								
									
										44
									
								
								.drone.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								.drone.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
---
 | 
			
		||||
kind: pipeline
 | 
			
		||||
type: docker
 | 
			
		||||
name: ansible
 | 
			
		||||
 | 
			
		||||
steps:
 | 
			
		||||
- name: setup environment
 | 
			
		||||
  image: ubuntu
 | 
			
		||||
  environment:
 | 
			
		||||
    SSH_KEY:
 | 
			
		||||
      from_secret: SSH_KEY
 | 
			
		||||
  commands:
 | 
			
		||||
    - echo "$PWD"
 | 
			
		||||
    - echo "$SSH_KEY" > $PWD/id_rsa && chmod 0600 $PWD/id_rsa
 | 
			
		||||
 | 
			
		||||
- name: check ansible syntax
 | 
			
		||||
  image: plugins/ansible:3
 | 
			
		||||
  settings:
 | 
			
		||||
    playbook: nightly.yaml
 | 
			
		||||
    galaxy: requirements.yaml
 | 
			
		||||
    inventory: inventory.yaml
 | 
			
		||||
    syntax_check: true
 | 
			
		||||
 | 
			
		||||
- name: run playbook in check mode
 | 
			
		||||
  image: plugins/ansible:3
 | 
			
		||||
  environment:
 | 
			
		||||
    ANSIBLE_HOST_KEY_CHECKING: "False"
 | 
			
		||||
    ANSIBLE_PRIVATE_KEY_FILE: "/drone/src/id_rsa"
 | 
			
		||||
  settings:
 | 
			
		||||
    playbook: nightly.yaml
 | 
			
		||||
    galaxy: requirements.yaml
 | 
			
		||||
    inventory: inventory.yaml
 | 
			
		||||
    check: true
 | 
			
		||||
 | 
			
		||||
- name: ansible nightly run
 | 
			
		||||
  image: plugins/ansible:3
 | 
			
		||||
  environment:
 | 
			
		||||
    ANSIBLE_HOST_KEY_CHECKING: "False"
 | 
			
		||||
    ANSIBLE_PRIVATE_KEY_FILE: "/drone/src/id_rsa"
 | 
			
		||||
  settings:
 | 
			
		||||
    playbook: nightly.yaml
 | 
			
		||||
    galaxy: requirements.yaml
 | 
			
		||||
    inventory: inventory.yaml
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										5
									
								
								ansible.cfg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								ansible.cfg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
[ssh_connection]
 | 
			
		||||
ssh_args = -o ControlMaster=auto -o ControlPersist=60s
 | 
			
		||||
[defaults]
 | 
			
		||||
forks=2
 | 
			
		||||
pipelining = True
 | 
			
		||||
							
								
								
									
										31
									
								
								deploy.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								deploy.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
---
 | 
			
		||||
- name: "Deploy prometheus configuration"
 | 
			
		||||
  hosts: monitoring
 | 
			
		||||
  roles:
 | 
			
		||||
    - prometheus
 | 
			
		||||
 | 
			
		||||
- name: "Deploy matrix configuration"
 | 
			
		||||
  hosts: matrix
 | 
			
		||||
  roles:
 | 
			
		||||
    - matrix
 | 
			
		||||
 | 
			
		||||
- name: "Deploy nexus configuration"
 | 
			
		||||
  hosts: nexus
 | 
			
		||||
  roles:
 | 
			
		||||
    - nexus
 | 
			
		||||
 | 
			
		||||
- name: "Deploy swagger configuration and update"
 | 
			
		||||
  hosts: swagger
 | 
			
		||||
  roles:
 | 
			
		||||
    - swagger
 | 
			
		||||
 | 
			
		||||
- name: "Deploy drone configuration and update"
 | 
			
		||||
  hosts: drone
 | 
			
		||||
  roles:
 | 
			
		||||
    - drone
 | 
			
		||||
 | 
			
		||||
- name: "Update services automatically"
 | 
			
		||||
  hosts: commonupdate
 | 
			
		||||
  roles:
 | 
			
		||||
    - update
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										16
									
								
								inventory.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								inventory.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
---
 | 
			
		||||
all:
 | 
			
		||||
  children:
 | 
			
		||||
    commonupdate:
 | 
			
		||||
      hosts:
 | 
			
		||||
        matrix:
 | 
			
		||||
        nexus:
 | 
			
		||||
        git:
 | 
			
		||||
        monitoring:
 | 
			
		||||
        guacamole:
 | 
			
		||||
        nextcloud:
 | 
			
		||||
    others:
 | 
			
		||||
      hosts:
 | 
			
		||||
        drone:
 | 
			
		||||
        swagger:
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										26
									
								
								nightly.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								nightly.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
---
 | 
			
		||||
- name: "Deploy prometheus configuration"
 | 
			
		||||
  hosts: monitoring
 | 
			
		||||
  roles:
 | 
			
		||||
    - prometheus
 | 
			
		||||
 | 
			
		||||
- name: "Deploy matrix configuration"
 | 
			
		||||
  hosts: matrix
 | 
			
		||||
  roles:
 | 
			
		||||
    - matrix
 | 
			
		||||
 | 
			
		||||
- name: "Deploy nexus configuration"
 | 
			
		||||
  hosts: nexus
 | 
			
		||||
  roles:
 | 
			
		||||
    - nexus
 | 
			
		||||
 | 
			
		||||
- name: "Deploy swagger configuration and update"
 | 
			
		||||
  hosts: swagger
 | 
			
		||||
  roles:
 | 
			
		||||
    - swagger
 | 
			
		||||
 | 
			
		||||
- name: "Update services automatically"
 | 
			
		||||
  hosts: commonupdate
 | 
			
		||||
  roles:
 | 
			
		||||
    - update
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										5
									
								
								requirements.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								requirements.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
collections:
 | 
			
		||||
- ansible.posix
 | 
			
		||||
- community.general
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										22
									
								
								roles/drone/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								roles/drone/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Update service
 | 
			
		||||
  ansible.builtin.command: docker-compose pull
 | 
			
		||||
  become: True
 | 
			
		||||
  become_user: drone
 | 
			
		||||
  args:
 | 
			
		||||
    chdir: /home/drone
 | 
			
		||||
 | 
			
		||||
- name: Shut down service
 | 
			
		||||
  ansible.builtin.command: docker-compose down
 | 
			
		||||
  become: True
 | 
			
		||||
  become_user: drone
 | 
			
		||||
  args:
 | 
			
		||||
    chdir: /home/drone
 | 
			
		||||
 | 
			
		||||
- name: Start service
 | 
			
		||||
  ansible.builtin.command: docker-compose up -d
 | 
			
		||||
  become: True
 | 
			
		||||
  become_user: drone
 | 
			
		||||
  args:
 | 
			
		||||
    chdir: /home/drone
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										40
									
								
								roles/matrix/files/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								roles/matrix/files/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
---
 | 
			
		||||
version: '3.2'
 | 
			
		||||
services:
 | 
			
		||||
  cadvisor:
 | 
			
		||||
    image: gcr.io/cadvisor/cadvisor
 | 
			
		||||
    volumes:
 | 
			
		||||
      - /:/rootfs:ro
 | 
			
		||||
      - /var/run:/var/run:rw
 | 
			
		||||
      - /sys:/sys:ro
 | 
			
		||||
      - /var/lib/docker/:/var/lib/docker:ro
 | 
			
		||||
    ports:
 | 
			
		||||
      - 4194:8080
 | 
			
		||||
    restart: always
 | 
			
		||||
    networks:
 | 
			
		||||
      - matrix
 | 
			
		||||
 | 
			
		||||
  element:
 | 
			
		||||
    image: vectorim/element-web:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    ports:
 | 
			
		||||
      - "127.0.0.1:8181:80"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./element-config.json:/app/config.json
 | 
			
		||||
    networks:
 | 
			
		||||
      - matrix
 | 
			
		||||
 | 
			
		||||
  synapse:
 | 
			
		||||
    image: matrixdotorg/synapse:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    networks:
 | 
			
		||||
      - matrix
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./synapse:/data
 | 
			
		||||
    ports:
 | 
			
		||||
      - "127.0.0.1:8080:8080"
 | 
			
		||||
 | 
			
		||||
networks:
 | 
			
		||||
  matrix:
 | 
			
		||||
    external: false
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										9
									
								
								roles/matrix/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								roles/matrix/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Copy docker-compose configuration
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
    src: docker-compose.yaml
 | 
			
		||||
    dest: /home/service-user/docker-compose.yaml
 | 
			
		||||
    owner: service-user
 | 
			
		||||
    group: service-user
 | 
			
		||||
    mode: '0644'
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										31
									
								
								roles/nexus/files/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								roles/nexus/files/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
---
 | 
			
		||||
version: '3.4'
 | 
			
		||||
 | 
			
		||||
networks:
 | 
			
		||||
  nexus:
 | 
			
		||||
    external: false
 | 
			
		||||
services:
 | 
			
		||||
  cadvisor:
 | 
			
		||||
    image: gcr.io/cadvisor/cadvisor
 | 
			
		||||
    volumes:
 | 
			
		||||
      - /:/rootfs:ro
 | 
			
		||||
      - /var/run:/var/run:rw
 | 
			
		||||
      - /sys:/sys:ro
 | 
			
		||||
      - /var/lib/docker/:/var/lib/docker:ro
 | 
			
		||||
    ports:
 | 
			
		||||
      - 4194:8080
 | 
			
		||||
    restart: always
 | 
			
		||||
    networks:
 | 
			
		||||
      - nexus
 | 
			
		||||
 | 
			
		||||
  nexus:
 | 
			
		||||
    image: sonatype/nexus3
 | 
			
		||||
    networks:
 | 
			
		||||
      - nexus
 | 
			
		||||
    volumes:
 | 
			
		||||
      - /mnt/data/nexusdata:/nexus-data
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
      - "127.0.0.1:8080:8081"
 | 
			
		||||
      - "127.0.0.1:4269:4269"
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										9
									
								
								roles/nexus/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								roles/nexus/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Copy docker-compose configuration
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
    src: docker-compose.yaml
 | 
			
		||||
    dest: /home/service-user/docker-compose.yaml
 | 
			
		||||
    owner: service-user
 | 
			
		||||
    group: service-user
 | 
			
		||||
    mode: '0644'
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										13
									
								
								roles/prometheus/files/alert.rules
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								roles/prometheus/files/alert.rules
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
groups:
 | 
			
		||||
- name: example
 | 
			
		||||
  rules:
 | 
			
		||||
 | 
			
		||||
  # Alert for any instance that is unreachable for >2 minutes.
 | 
			
		||||
  - alert: service_down
 | 
			
		||||
    expr: up == 0
 | 
			
		||||
    for: 2m
 | 
			
		||||
    labels:
 | 
			
		||||
      severity: page
 | 
			
		||||
    annotations:
 | 
			
		||||
      summary: "Instance {{ $labels.instance }} down"
 | 
			
		||||
      description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 2 minutes."
 | 
			
		||||
							
								
								
									
										13
									
								
								roles/prometheus/files/alertmanager.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								roles/prometheus/files/alertmanager.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
---
 | 
			
		||||
route:
 | 
			
		||||
  receiver: 'email'
 | 
			
		||||
 | 
			
		||||
receivers:
 | 
			
		||||
  - name: 'email'
 | 
			
		||||
    email_configs:
 | 
			
		||||
      - to: "tormakristof@tormakristof.eu"
 | 
			
		||||
        from: "monitoring@tormakris.dev"
 | 
			
		||||
        smarthost: "smtp.intra.tormakris.dev:25"
 | 
			
		||||
        tls_config:
 | 
			
		||||
          insecure_skip_verify: true
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										80
									
								
								roles/prometheus/files/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								roles/prometheus/files/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,80 @@
 | 
			
		||||
---
 | 
			
		||||
version: '3.7'
 | 
			
		||||
 | 
			
		||||
networks:
 | 
			
		||||
  monitoring:
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  prometheus:
 | 
			
		||||
    image: prom/prometheus:latest
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./prometheus/:/etc/prometheus/
 | 
			
		||||
      - ./prometheus_data:/prometheus
 | 
			
		||||
    command:
 | 
			
		||||
      - '--config.file=/etc/prometheus/prometheus.yml'
 | 
			
		||||
      - '--storage.tsdb.path=/prometheus'
 | 
			
		||||
      - '--web.console.libraries=/usr/share/prometheus/console_libraries'
 | 
			
		||||
      - '--web.console.templates=/usr/share/prometheus/consoles'
 | 
			
		||||
#    ports:
 | 
			
		||||
#      - "127.0.0.1:8080:9090"
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - node-exporter
 | 
			
		||||
      - cadvisor
 | 
			
		||||
    networks:
 | 
			
		||||
      - monitoring
 | 
			
		||||
    restart: always
 | 
			
		||||
 | 
			
		||||
  node-exporter:
 | 
			
		||||
    image: prom/node-exporter
 | 
			
		||||
    volumes:
 | 
			
		||||
      - /proc:/host/proc:ro
 | 
			
		||||
      - /sys:/host/sys:ro
 | 
			
		||||
      - /:/rootfs:ro
 | 
			
		||||
    command:
 | 
			
		||||
      - '--path.procfs=/host/proc'
 | 
			
		||||
      - '--path.sysfs=/host/sys'
 | 
			
		||||
      - --collector.filesystem.ignored-mount-points
 | 
			
		||||
      - "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
 | 
			
		||||
    networks:
 | 
			
		||||
      - monitoring
 | 
			
		||||
    restart: always
 | 
			
		||||
 | 
			
		||||
  alertmanager:
 | 
			
		||||
    image: prom/alertmanager
 | 
			
		||||
#    ports:
 | 
			
		||||
#      - "127.0.0.1:8282:9093"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./alertmanager/:/etc/alertmanager/
 | 
			
		||||
    networks:
 | 
			
		||||
      - monitoring
 | 
			
		||||
    restart: always
 | 
			
		||||
    command:
 | 
			
		||||
      - '--config.file=/etc/alertmanager/config.yml'
 | 
			
		||||
      - '--storage.path=/alertmanager'
 | 
			
		||||
 | 
			
		||||
  cadvisor:
 | 
			
		||||
    image: gcr.io/cadvisor/cadvisor
 | 
			
		||||
    volumes:
 | 
			
		||||
      - /:/rootfs:ro
 | 
			
		||||
      - /var/run:/var/run:rw
 | 
			
		||||
      - /sys:/sys:ro
 | 
			
		||||
      - /var/lib/docker/:/var/lib/docker:ro
 | 
			
		||||
    networks:
 | 
			
		||||
      - monitoring
 | 
			
		||||
    restart: always
 | 
			
		||||
 | 
			
		||||
  grafana:
 | 
			
		||||
    image: grafana/grafana
 | 
			
		||||
    user: "472"
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - prometheus
 | 
			
		||||
    ports:
 | 
			
		||||
      - "127.0.0.1:8181:3000"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./grafana_data:/var/lib/grafana
 | 
			
		||||
    env_file:
 | 
			
		||||
      - ./grafana/config.monitoring
 | 
			
		||||
    networks:
 | 
			
		||||
      - monitoring
 | 
			
		||||
    restart: always
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										158
									
								
								roles/prometheus/files/prometheus.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										158
									
								
								roles/prometheus/files/prometheus.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,158 @@
 | 
			
		||||
---
 | 
			
		||||
# my global config
 | 
			
		||||
global:
 | 
			
		||||
  scrape_interval:     15s # By default, scrape targets every 15 seconds.
 | 
			
		||||
  evaluation_interval: 15s # By default, scrape targets every 15 seconds.
 | 
			
		||||
  # scrape_timeout is set to the global default (10s).
 | 
			
		||||
 | 
			
		||||
  # Attach these labels to any time series or alerts when communicating with
 | 
			
		||||
  # external systems (federation, remote storage, Alertmanager).
 | 
			
		||||
  external_labels:
 | 
			
		||||
      monitor: 'stargate-cluster'
 | 
			
		||||
 | 
			
		||||
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
 | 
			
		||||
rule_files:
 | 
			
		||||
  - 'alert.rules'
 | 
			
		||||
  # - "first.rules"
 | 
			
		||||
  # - "second.rules"
 | 
			
		||||
 | 
			
		||||
# alert
 | 
			
		||||
alerting:
 | 
			
		||||
  alertmanagers:
 | 
			
		||||
  - scheme: http
 | 
			
		||||
    static_configs:
 | 
			
		||||
    - targets:
 | 
			
		||||
      - "alertmanager:9093"
 | 
			
		||||
 | 
			
		||||
# A scrape configuration containing exactly one endpoint to scrape:
 | 
			
		||||
# Here it's Prometheus itself.
 | 
			
		||||
scrape_configs:
 | 
			
		||||
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
 | 
			
		||||
 | 
			
		||||
  - job_name: 'prometheus'
 | 
			
		||||
 | 
			
		||||
    # Override the global default and scrape targets from this job every 5 seconds.
 | 
			
		||||
    scrape_interval: 5s
 | 
			
		||||
 | 
			
		||||
    static_configs:
 | 
			
		||||
         - targets: ['localhost:9090']
 | 
			
		||||
 | 
			
		||||
  - job_name: 'node-exporter'
 | 
			
		||||
 | 
			
		||||
    # Override the global default and scrape targets from this job every 5 seconds.
 | 
			
		||||
    scrape_interval: 5s
 | 
			
		||||
 | 
			
		||||
    static_configs:
 | 
			
		||||
      - targets: ['node-exporter:9100']
 | 
			
		||||
      - targets: ['zelenka.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['drone.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['matrix.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['swagger.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['drone-runner.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['smtp.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['webgateway.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['openvpn.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['nexus.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['git.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['postgres.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['guacamole.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['bitwarden.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['nextcloud.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['backup.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['ssh.intra.tormakris.dev:9100']
 | 
			
		||||
      - targets: ['minecraft.intra.tormakris.dev:9100']
 | 
			
		||||
 | 
			
		||||
  - job_name: 'postfix-exporter'
 | 
			
		||||
 | 
			
		||||
    # Override the global default and scrape targets from this job every 5 seconds.
 | 
			
		||||
    scrape_interval: 5s
 | 
			
		||||
 | 
			
		||||
    static_configs:
 | 
			
		||||
      - targets: ['zelenka.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['drone.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['matrix.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['swagger.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['drone-runner.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['smtp.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['webgateway.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['openvpn.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['nexus.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['git.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['guacamole.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['bitwarden.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['nextcloud.intra.tormakris.dev:9154']
 | 
			
		||||
      - targets: ['backup.intra.tormakris.dev:9154']
 | 
			
		||||
 | 
			
		||||
  - job_name: 'nginx-exporter'
 | 
			
		||||
 | 
			
		||||
    # Override the global default and scrape targets from this job every 5 seconds.
 | 
			
		||||
    scrape_interval: 5s
 | 
			
		||||
 | 
			
		||||
    static_configs:
 | 
			
		||||
      - targets: ['drone.intra.tormakris.dev:9113']
 | 
			
		||||
      - targets: ['matrix.intra.tormakris.dev:9113']
 | 
			
		||||
      - targets: ['swagger.intra.tormakris.dev:9113']
 | 
			
		||||
      - targets: ['webgateway.intra.tormakris.dev:9113']
 | 
			
		||||
      - targets: ['nexus.intra.tormakris.dev:9113']
 | 
			
		||||
      - targets: ['git.intra.tormakris.dev:9113']
 | 
			
		||||
      - targets: ['guacamole.intra.tormakris.dev:9113']
 | 
			
		||||
      - targets: ['bitwarden.intra.tormakris.dev:9113']
 | 
			
		||||
      - targets: ['nextcloud.intra.tormakris.dev:9113']
 | 
			
		||||
 | 
			
		||||
  - job_name: 'cadvisor'
 | 
			
		||||
 | 
			
		||||
    # Override the global default and scrape targets from this job every 5 seconds.
 | 
			
		||||
    scrape_interval: 5s
 | 
			
		||||
 | 
			
		||||
    static_configs:
 | 
			
		||||
      - targets: ['cadvisor:8080']
 | 
			
		||||
      - targets: ['zelenka.intra.tormakris.dev:4194']
 | 
			
		||||
      - targets: ['drone.intra.tormakris.dev:4194']
 | 
			
		||||
      - targets: ['matrix.intra.tormakris.dev:4194']
 | 
			
		||||
      - targets: ['swagger.intra.tormakris.dev:4194']
 | 
			
		||||
      - targets: ['drone-runner.intra.tormakris.dev:4194']
 | 
			
		||||
      - targets: ['nexus.intra.tormakris.dev:4194']
 | 
			
		||||
      - targets: ['git.intra.tormakris.dev:4194']
 | 
			
		||||
      - targets: ['guacamole.intra.tormakris.dev:4194']
 | 
			
		||||
      - targets: ['nextcloud.intra.tormakris.dev:4194']
 | 
			
		||||
 | 
			
		||||
  - job_name: 'drone-server'
 | 
			
		||||
 | 
			
		||||
    # Override the global default and scrape targets from this job every 5 seconds.
 | 
			
		||||
    scrape_interval: 5s
 | 
			
		||||
 | 
			
		||||
    static_configs:
 | 
			
		||||
      - targets: ['drone.intra.tormakris.dev:443']
 | 
			
		||||
    scheme: https
 | 
			
		||||
    tls_config:
 | 
			
		||||
      insecure_skip_verify: true
 | 
			
		||||
    bearer_token: a96fdbbbfb1072836bf81b2eab456773
 | 
			
		||||
 | 
			
		||||
  - job_name: 'postgres-exporter'
 | 
			
		||||
 | 
			
		||||
    # Override the global default and scrape targets from this job every 5 seconds.
 | 
			
		||||
    scrape_interval: 5s
 | 
			
		||||
 | 
			
		||||
    static_configs:
 | 
			
		||||
      - targets: ['postgresql.intra.tormakris.dev:9187']
 | 
			
		||||
 | 
			
		||||
  - job_name: 'gitea-server'
 | 
			
		||||
 | 
			
		||||
    # Override the global default and scrape targets from this job every 5 seconds.
 | 
			
		||||
    scrape_interval: 5s
 | 
			
		||||
 | 
			
		||||
    static_configs:
 | 
			
		||||
      - targets: ['git.intra.tormakris.dev:443']
 | 
			
		||||
    scheme: https
 | 
			
		||||
    tls_config:
 | 
			
		||||
      insecure_skip_verify: true
 | 
			
		||||
 | 
			
		||||
  - job_name: 'windows_exporter'
 | 
			
		||||
 | 
			
		||||
    # Override the global default and scrape targets from this job every 5 seconds.
 | 
			
		||||
    scrape_interval: 5s
 | 
			
		||||
 | 
			
		||||
    static_configs:
 | 
			
		||||
      - targets: ['woolsey-host.intra.tormakris.dev:9182']
 | 
			
		||||
      - targets: ['mckay-host.intra.tormakris.dev:9182']
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										33
									
								
								roles/prometheus/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								roles/prometheus/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Copy prometheus configuration
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
    src: prometheus.yml
 | 
			
		||||
    dest: /home/service-user/prometheus/prometheus.yml
 | 
			
		||||
    owner: root
 | 
			
		||||
    group: root
 | 
			
		||||
    mode: '0644'
 | 
			
		||||
 | 
			
		||||
- name: Copy alertmanager configuration
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
    src: alertmanager.yml
 | 
			
		||||
    dest: /home/service-user/alertmanager/config.yml
 | 
			
		||||
    owner: root
 | 
			
		||||
    group: root
 | 
			
		||||
    mode: '0644'
 | 
			
		||||
 | 
			
		||||
- name: Copy alert rules
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
    src: alert.rules
 | 
			
		||||
    dest: /home/service-user/prometheus/alert.rules
 | 
			
		||||
    owner: root
 | 
			
		||||
    group: root
 | 
			
		||||
    mode: '0644'
 | 
			
		||||
 | 
			
		||||
- name: Copy docker-compose configuration
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
    src: docker-compose.yaml
 | 
			
		||||
    dest: /home/service-user/docker-compose.yaml
 | 
			
		||||
    owner: service-user
 | 
			
		||||
    group: service-user
 | 
			
		||||
    mode: '0644'
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										30
									
								
								roles/swagger/files/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								roles/swagger/files/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
---
 | 
			
		||||
version: '3'
 | 
			
		||||
networks:
 | 
			
		||||
  swagger:
 | 
			
		||||
    external: false
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  cadvisor:
 | 
			
		||||
    image: gcr.io/cadvisor/cadvisor
 | 
			
		||||
    volumes:
 | 
			
		||||
      - /:/rootfs:ro
 | 
			
		||||
      - /var/run:/var/run:rw
 | 
			
		||||
      - /sys:/sys:ro
 | 
			
		||||
      - /var/lib/docker/:/var/lib/docker:ro
 | 
			
		||||
    ports:
 | 
			
		||||
      - 4194:8080
 | 
			
		||||
    restart: always
 | 
			
		||||
    networks:
 | 
			
		||||
      - swagger
 | 
			
		||||
 | 
			
		||||
  swagger:
 | 
			
		||||
    image: swaggerapi/swagger-ui
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
      - "127.0.0.1:8080:8080"
 | 
			
		||||
    environment:
 | 
			
		||||
      URLS: "[ { name: \"Input Service\", url: \"https://git.kmlabz.com/birbnetes/swagger-docs/raw/branch/master/input.yml\"}, { name: \"Storage Service\", url: \"https://git.kmlabz.com/birbnetes/swagger-docs/raw/branch/master/storage.yml\" }, {name: \"Output Service (RDB)\", url: \"https://git.kmlabz.com/birbnetes/swagger-docs/raw/branch/master/output-service-rdb.yml\"}, {name: \"Model Service\", url: \"https://git.kmlabz.com/birbnetes/swagger-docs/raw/branch/master/model.yaml\"}, {name: \"Command and Control\", url: \"https://git.kmlabz.com/birbnetes/swagger-docs/raw/branch/master/command-and-control.yml\"}, { name: \"Service Locator\", url: \"https://git.kmlabz.com/dnsproject/swagger/raw/branch/master/servicelocator.yml\"} ]"
 | 
			
		||||
    networks:
 | 
			
		||||
      - swagger
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										30
									
								
								roles/swagger/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								roles/swagger/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Copy docker-compose configuration
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
    src: docker-compose.yaml
 | 
			
		||||
    dest: /home/swagger/docker-compose.yaml
 | 
			
		||||
    owner: swagger
 | 
			
		||||
    group: swagger
 | 
			
		||||
    mode: '0644'
 | 
			
		||||
 | 
			
		||||
- name: Update service
 | 
			
		||||
  ansible.builtin.command: docker-compose pull
 | 
			
		||||
  become: True
 | 
			
		||||
  become_user: swagger
 | 
			
		||||
  args:
 | 
			
		||||
    chdir: /home/swagger
 | 
			
		||||
 | 
			
		||||
- name: Shut down service
 | 
			
		||||
  ansible.builtin.command: docker-compose down
 | 
			
		||||
  become: True
 | 
			
		||||
  become_user: swagger
 | 
			
		||||
  args:
 | 
			
		||||
    chdir: /home/swagger
 | 
			
		||||
 | 
			
		||||
- name: Start service
 | 
			
		||||
  ansible.builtin.command: docker-compose up -d
 | 
			
		||||
  become: True
 | 
			
		||||
  become_user: swagger
 | 
			
		||||
  args:
 | 
			
		||||
    chdir: /home/swagger
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										22
									
								
								roles/update/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								roles/update/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Update service
 | 
			
		||||
  ansible.builtin.command: docker-compose pull
 | 
			
		||||
  become: True
 | 
			
		||||
  become_user: service-user
 | 
			
		||||
  args:
 | 
			
		||||
    chdir: /home/service-user
 | 
			
		||||
 | 
			
		||||
- name: Shut down service
 | 
			
		||||
  ansible.builtin.command: docker-compose down
 | 
			
		||||
  become: True
 | 
			
		||||
  become_user: service-user
 | 
			
		||||
  args:
 | 
			
		||||
    chdir: /home/service-user
 | 
			
		||||
 | 
			
		||||
- name: Start service
 | 
			
		||||
  ansible.builtin.command: docker-compose up -d
 | 
			
		||||
  become: True
 | 
			
		||||
  become_user: service-user
 | 
			
		||||
  args:
 | 
			
		||||
    chdir: /home/service-user
 | 
			
		||||
...
 | 
			
		||||
		Reference in New Issue
	
	Block a user