Skip to content

Commit

Permalink
InfluxDB2: New Role
Browse files Browse the repository at this point in the history
  • Loading branch information
owine committed May 6, 2024
1 parent bac4a10 commit c52aeb1
Show file tree
Hide file tree
Showing 3 changed files with 174 additions and 0 deletions.
149 changes: 149 additions & 0 deletions roles/influxdb2/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
##########################################################################
# Title: Sandbox: InfluxDB2 #
# Author(s): desimaniac, kowalski, owine #
# URL: https://github.com/saltyorg/Sandbox #
# -- #
##########################################################################
# GNU General Public License v3.0 #
##########################################################################
---
################################
# Basics
################################

influxdb2_instances: ["influxdb2"]

################################
# Paths
################################

influxdb2_paths_folder: "{{ influxdb2_name }}"
influxdb2_paths_location: "{{ server_appdata_path }}/{{ influxdb2_paths_folder }}"
influxdb2_paths_folders_list:
- "{{ influxdb2_paths_location }}"
- "{{ influxdb2_paths_location }}/config"
- "{{ influxdb2_paths_location }}/data"

################################
# Web
################################

influxdb2_web_subdomain: "{{ influxdb2_name }}"
influxdb2_web_domain: "{{ user.domain }}"
influxdb2_web_port: "8086"
influxdb2_web_url: "{{ 'https://' + (influxdb2_web_subdomain + '.' + influxdb2_web_domain
if (influxdb2_web_subdomain | length > 0)
else influxdb2_web_domain) }}"

################################
# DNS
################################

influxdb2_dns_record: "{{ influxdb2_web_subdomain }}"
influxdb2_dns_zone: "{{ influxdb2_web_domain }}"
influxdb2_dns_proxy: "{{ dns.proxied }}"

################################
# Traefik
################################

influxdb2_traefik_sso_middleware: "{{ traefik_default_sso_middleware }}"
influxdb2_traefik_middleware_default: "{{ traefik_default_middleware }}"
influxdb2_traefik_middleware_custom: ""
influxdb2_traefik_certresolver: "{{ traefik_default_certresolver }}"
influxdb2_traefik_enabled: true
influxdb2_traefik_api_enabled: false
influxdb2_traefik_api_endpoint: ""

################################
# Docker
################################

# Container
influxdb2_docker_container: "{{ influxdb2_name }}"

# Image
influxdb2_docker_image_pull: true
influxdb2_docker_image_tag: "2-alpine"
influxdb2_docker_image_repo: "influxdb"
influxdb2_docker_image: "{{ lookup('vars', influxdb2_name + '_docker_image_repo', default=influxdb2_docker_image_repo)
+ ':' + lookup('vars', influxdb2_name + '_docker_image_tag', default=influxdb2_docker_image_tag) }}"

# Ports
influxdb2_docker_ports_defaults: []
influxdb2_docker_ports_custom: []
influxdb2_docker_ports: "{{ lookup('vars', influxdb2_name + '_docker_ports_default', default=influxdb2_docker_ports_defaults)
+ lookup('vars', influxdb2_name + '_docker_ports_custom', default=influxdb2_docker_ports_custom) }}"

# Envs
influxdb2_docker_envs_default: {}
influxdb2_docker_envs_custom: {}
influxdb2_docker_envs: "{{ lookup('vars', influxdb2_name + '_docker_envs_default', default=influxdb2_docker_envs_default)
| combine(lookup('vars', influxdb2_name + '_docker_envs_custom', default=influxdb2_docker_envs_custom)) }}"

# Commands
influxdb2_docker_commands_default: []
influxdb2_docker_commands_custom: []
influxdb2_docker_commands: "{{ lookup('vars', influxdb2_name + '_docker_commands_default', default=influxdb2_docker_commands_default)
+ lookup('vars', influxdb2_name + '_docker_commands_custom', default=influxdb2_docker_commands_custom) }}"

# Volumes
influxdb2_docker_volumes_default:
- "{{ influxdb2_paths_location }}/data:/var/lib/influxdb22"
- "{{ influxdb2_paths_location }}/config:/etc/influxdb22"
influxdb2_docker_volumes_custom: []
influxdb2_docker_volumes: "{{ lookup('vars', influxdb2_name + '_docker_volumes_default', default=influxdb2_docker_volumes_default)
+ lookup('vars', influxdb2_name + '_docker_volumes_custom', default=influxdb2_docker_volumes_custom) }}"

# Devices
influxdb2_docker_devices_default: []
influxdb2_docker_devices_custom: []
influxdb2_docker_devices: "{{ lookup('vars', influxdb2_name + '_docker_devices_default', default=influxdb2_docker_devices_default)
+ lookup('vars', influxdb2_name + '_docker_devices_custom', default=influxdb2_docker_devices_custom) }}"

# Hosts
influxdb2_docker_hosts_default: {}
influxdb2_docker_hosts_custom: {}
influxdb2_docker_hosts: "{{ docker_hosts_common
| combine(lookup('vars', influxdb2_name + '_docker_hosts_default', default=influxdb2_docker_hosts_default))
| combine(lookup('vars', influxdb2_name + '_docker_hosts_custom', default=influxdb2_docker_hosts_custom)) }}"

# Labels
influxdb2_docker_labels_default: {}
influxdb2_docker_labels_custom: {}
influxdb2_docker_labels: "{{ docker_labels_common
| combine(lookup('vars', influxdb2_name + '_docker_labels_default', default=influxdb2_docker_labels_default))
| combine(lookup('vars', influxdb2_name + '_docker_labels_custom', default=influxdb2_docker_labels_custom)) }}"

# Hostname
influxdb2_docker_hostname: "{{ influxdb2_name }}"

# Network Mode
influxdb2_docker_network_mode_default: "{{ docker_networks_name_common }}"
influxdb2_docker_network_mode: "{{ lookup('vars', influxdb2_name + '_docker_network_mode_default', default=influxdb2_docker_network_mode_default) }}"

# Networks
influxdb2_docker_networks_alias: "{{ influxdb2_name }}"
influxdb2_docker_networks_default: []
influxdb2_docker_networks_custom: []
influxdb2_docker_networks: "{{ docker_networks_common
+ lookup('vars', influxdb2_name + '_docker_networks_default', default=influxdb2_docker_networks_default)
+ lookup('vars', influxdb2_name + '_docker_networks_dcustom', default=influxdb2_docker_networks_custom) }}"

# Capabilities
influxdb2_docker_capabilities_default: []
influxdb2_docker_capabilities_custom: []
influxdb2_docker_capabilities: "{{ lookup('vars', influxdb2_name + '_docker_capabilities_default', default=influxdb2_docker_capabilities_default)
+ lookup('vars', influxdb2_name + '_docker_capabilities_custom', default=influxdb2_docker_capabilities_custom) }}"

# Security Opts
influxdb2_docker_security_opts_default: []
influxdb2_docker_security_opts_custom: []
influxdb2_docker_security_opts: "{{ lookup('vars', influxdb2_name + '_docker_security_opts_default', default=influxdb2_docker_security_opts_default)
+ lookup('vars', influxdb2_name + '_docker_security_opts_custom', default=influxdb2_docker_security_opts_custom) }}"

# Restart Policy
influxdb2_docker_restart_policy: unless-stopped

# State
influxdb2_docker_state: started
24 changes: 24 additions & 0 deletions roles/influxdb2/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
##########################################################################
# Title: Sandbox: InfluxDB2 #
# Author(s): desimaniac, kowalski, owine #
# URL: https://github.com/saltyorg/Sandbox #
# -- #
##########################################################################
# GNU General Public License v3.0 #
##########################################################################
---
- name: Add DNS record
ansible.builtin.include_tasks: "{{ resources_tasks_path }}/dns/tasker.yml"
vars:
dns_record: "{{ lookup('vars', role_name + '_dns_record') }}"
dns_zone: "{{ lookup('vars', role_name + '_dns_zone') }}"
dns_proxy: "{{ lookup('vars', role_name + '_dns_proxy') }}"

- name: Remove existing Docker container
ansible.builtin.include_tasks: "{{ resources_tasks_path }}/docker/remove_docker_container.yml"

- name: Create directories
ansible.builtin.include_tasks: "{{ resources_tasks_path }}/directories/create_directories.yml"

- name: Create Docker container
ansible.builtin.include_tasks: "{{ resources_tasks_path }}/docker/create_docker_container.yml"
1 change: 1 addition & 0 deletions sandbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
- { role: homepage, tags: ['homepage'] }
- { role: immich, tags: ['immich'] }
- { role: influxdb, tags: ['influxdb'] }
- { role: influxdb2, tags: ['influxdb2'] }
- { role: invoiceninjav5, tags: ['invoiceninja'] }
- { role: jdownloader2, tags: ['jdownloader2'] }
- { role: jellyseerr, tags: ['jellyseerr'] }
Expand Down

0 comments on commit c52aeb1

Please sign in to comment.