Add influxdb to ansible
This commit is contained in:
		
							parent
							
								
									96fd62dc3d
								
							
						
					
					
						commit
						2500d672fb
					
				
					 12 changed files with 102 additions and 87 deletions
				
			
		
							
								
								
									
										9
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -7,11 +7,14 @@ diagram_assets/
 | 
			
		|||
 | 
			
		||||
# services already handled by ansible
 | 
			
		||||
/acme-dns/
 | 
			
		||||
/caddy/config/conf.002.d/acme.serguzim.me.conf
 | 
			
		||||
/gitea/
 | 
			
		||||
/caddy/config/conf.002.d/git.serguzim.me.conf
 | 
			
		||||
/influxdb/
 | 
			
		||||
/umami/
 | 
			
		||||
/caddy/config/conf.002.d/analytics.serguzim.me.conf
 | 
			
		||||
/watchtower/
 | 
			
		||||
/wiki-js/
 | 
			
		||||
 | 
			
		||||
/caddy/config/conf.002.d/acme.serguzim.me.conf
 | 
			
		||||
/caddy/config/conf.002.d/analytics.serguzim.me.conf
 | 
			
		||||
/caddy/config/conf.002.d/git.serguzim.me.conf
 | 
			
		||||
/caddy/config/conf.002.d/tick.serguzim.me.conf
 | 
			
		||||
/caddy/config/conf.002.d/wiki.serguzim.me.conf
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,6 +9,7 @@
 | 
			
		|||
  roles:
 | 
			
		||||
    - acme-dns
 | 
			
		||||
    - gitea
 | 
			
		||||
    - influxdb
 | 
			
		||||
    - umami
 | 
			
		||||
    - watchtower
 | 
			
		||||
    - wiki-js
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,7 @@
 | 
			
		|||
  roles:
 | 
			
		||||
    - acme-dns
 | 
			
		||||
    - gitea
 | 
			
		||||
    - influxdb
 | 
			
		||||
    - umami
 | 
			
		||||
    - watchtower
 | 
			
		||||
    - wiki-js
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										17
									
								
								_ansible/roles/influxdb/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								_ansible/roles/influxdb/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
---
 | 
			
		||||
- name: Deploy {{ svc.name }}
 | 
			
		||||
  tags:
 | 
			
		||||
    - influxdb
 | 
			
		||||
    - sensors
 | 
			
		||||
  block:
 | 
			
		||||
    - import_tasks: steps/create-service-directory.yml
 | 
			
		||||
    - import_tasks: steps/template-docker-compose.yml
 | 
			
		||||
 | 
			
		||||
    - name: Template config
 | 
			
		||||
      ansible.builtin.template:
 | 
			
		||||
        src: service.yml.j2
 | 
			
		||||
        dest: "{{ (service_path, 'influxdb.yml') | path_join }}"
 | 
			
		||||
        mode: "0600"
 | 
			
		||||
 | 
			
		||||
    - import_tasks: steps/template-site-config.yml
 | 
			
		||||
    - import_tasks: steps/start-service.yml
 | 
			
		||||
							
								
								
									
										72
									
								
								_ansible/roles/influxdb/vars/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								_ansible/roles/influxdb/vars/main.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,72 @@
 | 
			
		|||
svc:
 | 
			
		||||
  domain: "tick.serguzim.me"
 | 
			
		||||
  name: influxdb
 | 
			
		||||
  port: 8086
 | 
			
		||||
  data_dir: "/var/lib/influxdb2"
 | 
			
		||||
 | 
			
		||||
svc_yml:
 | 
			
		||||
  assets-path: ""
 | 
			
		||||
  bolt-path: "{{ (svc.data_dir, 'influxd.bolt') | path_join }}"
 | 
			
		||||
  e2e-testing: false
 | 
			
		||||
  engine-path: "{{ (svc.data_dir, 'engine') | path_join }}"
 | 
			
		||||
  feature-flags: {}
 | 
			
		||||
  http-bind-address: 0.0.0.0:{{ svc.port }}
 | 
			
		||||
  influxql-max-select-buckets: 0
 | 
			
		||||
  influxql-max-select-point: 0
 | 
			
		||||
  influxql-max-select-series: 0
 | 
			
		||||
  key-name: ""
 | 
			
		||||
  log-level: info
 | 
			
		||||
  nats-max-payload-bytes: 1048576
 | 
			
		||||
  nats-port: 4222
 | 
			
		||||
  no-tasks: false
 | 
			
		||||
  query-concurrency: 10
 | 
			
		||||
  query-initial-memory-bytes: 0
 | 
			
		||||
  query-max-memory-bytes: 0
 | 
			
		||||
  query-memory-bytes: 9223372036854775807
 | 
			
		||||
  query-queue-size: 10
 | 
			
		||||
  reporting-disabled: false
 | 
			
		||||
  secret-store: bolt
 | 
			
		||||
  session-length: 60
 | 
			
		||||
  session-renew-disabled: false
 | 
			
		||||
  storage-cache-max-memory-size: 1073741824
 | 
			
		||||
  storage-cache-snapshot-memory-size: 26214400
 | 
			
		||||
  storage-cache-snapshot-write-cold-duration: 10m0s
 | 
			
		||||
  storage-compact-full-write-cold-duration: 4h0m0s
 | 
			
		||||
  storage-compact-throughput-burst: 50331648
 | 
			
		||||
  storage-max-concurrent-compactions: 0
 | 
			
		||||
  storage-max-index-log-file-size: 1048576
 | 
			
		||||
  storage-retention-check-interval: 30m0s
 | 
			
		||||
  storage-series-file-max-concurrent-snapshot-compactions: 0
 | 
			
		||||
  storage-series-id-set-cache-size: 0
 | 
			
		||||
  storage-shard-precreator-advance-period: 30m0s
 | 
			
		||||
  storage-shard-precreator-check-interval: 10m0s
 | 
			
		||||
  storage-tsm-use-madv-willneed: false
 | 
			
		||||
  storage-validate-keys: false
 | 
			
		||||
  storage-wal-fsync-delay: 0s
 | 
			
		||||
  store: bolt
 | 
			
		||||
  testing-always-allow-setup: false
 | 
			
		||||
  tls-cert: ""
 | 
			
		||||
  tls-key: ""
 | 
			
		||||
  tls-min-version: "1.2"
 | 
			
		||||
  tls-strict-ciphers: false
 | 
			
		||||
  tracing-type: ""
 | 
			
		||||
  vault-addr: ""
 | 
			
		||||
  vault-cacert: ""
 | 
			
		||||
  vault-capath: ""
 | 
			
		||||
  vault-client-cert: ""
 | 
			
		||||
  vault-client-key: ""
 | 
			
		||||
  vault-client-timeout: 0s
 | 
			
		||||
  vault-max-retries: 0
 | 
			
		||||
  vault-skip-verify: false
 | 
			
		||||
  vault-tls-server-name: ""
 | 
			
		||||
  vault-token: ""
 | 
			
		||||
 | 
			
		||||
compose:
 | 
			
		||||
  watchtower: false
 | 
			
		||||
  image: influxdb
 | 
			
		||||
  volumes:
 | 
			
		||||
    - ./influxdb.yml:/etc/influxdb2/config.yml
 | 
			
		||||
    - data:{{ svc.data_dir }}
 | 
			
		||||
  file:
 | 
			
		||||
    volumes:
 | 
			
		||||
      data:
 | 
			
		||||
| 
						 | 
				
			
			@ -2,3 +2,6 @@
 | 
			
		|||
  ansible.builtin.command:
 | 
			
		||||
    cmd: docker compose up -d
 | 
			
		||||
    chdir: "{{ service_path }}"
 | 
			
		||||
  when: "'local-dev' != inventory_hostname"
 | 
			
		||||
  register: cmd_result
 | 
			
		||||
  changed_when: "cmd_result.stderr | regex_search('Started$')"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
{{ svc.domain }} {
 | 
			
		||||
	import default
 | 
			
		||||
	{{ svc.caddy_extra | default('') | indent(width='\t') }}
 | 
			
		||||
{{ svc.caddy_extra | default('') | indent(width='\t', first=True) }}
 | 
			
		||||
	reverse_proxy {{ svc.name }}:{{ svc.port }}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								_ansible/templates/service.yml.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								_ansible/templates/service.yml.j2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
{{ svc_yml | to_nice_yaml }}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
tick.serguzim.me {
 | 
			
		||||
	import default
 | 
			
		||||
	reverse_proxy influxdb:8086
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
wiki.serguzim.me {
 | 
			
		||||
	import default
 | 
			
		||||
	reverse_proxy wiki-js:3000
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,20 +0,0 @@
 | 
			
		|||
version: '3'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  influxdb:
 | 
			
		||||
    image: influxdb:latest
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./influxdb.yml:/etc/influxdb2/config.yml
 | 
			
		||||
      - data:/var/lib/influxdb2
 | 
			
		||||
    restart: always
 | 
			
		||||
    networks:
 | 
			
		||||
      apps:
 | 
			
		||||
        aliases:
 | 
			
		||||
          - influxdb
 | 
			
		||||
 | 
			
		||||
volumes:
 | 
			
		||||
  data:
 | 
			
		||||
 | 
			
		||||
networks:
 | 
			
		||||
  apps:
 | 
			
		||||
    external: true
 | 
			
		||||
| 
						 | 
				
			
			@ -1,55 +0,0 @@
 | 
			
		|||
assets-path: ""
 | 
			
		||||
bolt-path: /var/lib/influxdb2/influxd.bolt
 | 
			
		||||
e2e-testing: false
 | 
			
		||||
engine-path: /var/lib/influxdb2/engine
 | 
			
		||||
feature-flags: {}
 | 
			
		||||
http-bind-address: :8086
 | 
			
		||||
influxql-max-select-buckets: 0
 | 
			
		||||
influxql-max-select-point: 0
 | 
			
		||||
influxql-max-select-series: 0
 | 
			
		||||
key-name: ""
 | 
			
		||||
log-level: info
 | 
			
		||||
nats-max-payload-bytes: 1048576
 | 
			
		||||
nats-port: 4222
 | 
			
		||||
no-tasks: false
 | 
			
		||||
query-concurrency: 10
 | 
			
		||||
query-initial-memory-bytes: 0
 | 
			
		||||
query-max-memory-bytes: 0
 | 
			
		||||
query-memory-bytes: 9223372036854775807
 | 
			
		||||
query-queue-size: 10
 | 
			
		||||
reporting-disabled: false
 | 
			
		||||
secret-store: bolt
 | 
			
		||||
session-length: 60
 | 
			
		||||
session-renew-disabled: false
 | 
			
		||||
storage-cache-max-memory-size: 1073741824
 | 
			
		||||
storage-cache-snapshot-memory-size: 26214400
 | 
			
		||||
storage-cache-snapshot-write-cold-duration: 10m0s
 | 
			
		||||
storage-compact-full-write-cold-duration: 4h0m0s
 | 
			
		||||
storage-compact-throughput-burst: 50331648
 | 
			
		||||
storage-max-concurrent-compactions: 0
 | 
			
		||||
storage-max-index-log-file-size: 1048576
 | 
			
		||||
storage-retention-check-interval: 30m0s
 | 
			
		||||
storage-series-file-max-concurrent-snapshot-compactions: 0
 | 
			
		||||
storage-series-id-set-cache-size: 0
 | 
			
		||||
storage-shard-precreator-advance-period: 30m0s
 | 
			
		||||
storage-shard-precreator-check-interval: 10m0s
 | 
			
		||||
storage-tsm-use-madv-willneed: false
 | 
			
		||||
storage-validate-keys: false
 | 
			
		||||
storage-wal-fsync-delay: 0s
 | 
			
		||||
store: bolt
 | 
			
		||||
testing-always-allow-setup: false
 | 
			
		||||
tls-cert: ""
 | 
			
		||||
tls-key: ""
 | 
			
		||||
tls-min-version: "1.2"
 | 
			
		||||
tls-strict-ciphers: false
 | 
			
		||||
tracing-type: ""
 | 
			
		||||
vault-addr: ""
 | 
			
		||||
vault-cacert: ""
 | 
			
		||||
vault-capath: ""
 | 
			
		||||
vault-client-cert: ""
 | 
			
		||||
vault-client-key: ""
 | 
			
		||||
vault-client-timeout: 0s
 | 
			
		||||
vault-max-retries: 0
 | 
			
		||||
vault-skip-verify: false
 | 
			
		||||
vault-tls-server-name: ""
 | 
			
		||||
vault-token: ""
 | 
			
		||||
		Reference in a new issue