all:
  children:
    nodes:
      hosts:
        hv:
          ansible_host: 10.61.1.1
          ansible_password: BJDGSLAbKyx3TyHddciZJ43mg5SSaJhQ
          ansible_ssh_extra_args: -o StrictHostKeyChecking=no

    containers:
      hosts:
        nginx:
          container_address: 10.90.0.2
          container_config:
            image: nginx
            custom_image: yes
          nginx_config:
            root:
              error_log: /var/log/nginx/error.log info
              load_module: /usr/local/nginx/modules/ngx_http_geoip2_module.so
            http:
              log_format: "custom escape=json '{\
                           \"time_iso8601\": \"$time_iso8601\", \
                           \"request_time\": \"$request_time\", \
                           \"upstream_response_time\": \"$upstream_response_time\", \
                           \"remote_addr\": \"$remote_addr\", \
                           \"remote_user\": \"$remote_user\", \
                           \"time_local\": \"$time_local\", \
                           \"request\": \"$request\", \
                           \"status\": \"$status\", \
                           \"body_bytes_sent\": \"$body_bytes_sent\", \
                           \"http_referer\": \"$http_referer\", \
                           \"http_user_agent\": \"$http_user_agent\", \
                           \"geoip_country_code\": \"$geoip_country_code\"}'"
            http_post:
              access_log: "syslog:server=10.90.0.10:11514,tag=nginx_access custom"
          fluentd_source:
            _type: syslog
            port: 11514
            tag: nginx.access

        apache1:
          container_address: 10.90.0.3
          host_role: apache
          container_config:
            image: php:8-apache
            mounts: /opt/www/html:/var/www/html

        apache2:
          container_address: 10.90.0.4
          host_role: apache
          container_config:
            image: php:8-apache
            mounts: /opt/www/html:/var/www/html

        cadvisor:
          container_address: 10.90.0.5
          container_config:
            image: gcr.io/cadvisor/cadvisor:latest
            mounts:
              - /:/rootfs:ro
              - /var/run:/var/run:ro
              - /sys:/sys:ro
              - /var/lib/docker/:/var/lib/docker:ro
              - /dev/disk/:/dev/disk:ro
            privileged: yes
            devices:
              - /dev/kmsg

        node_exporter:
          container_address: 10.90.0.6
          container_config:
            image: prom/node-exporter:latest
            extra_mounts:
              - /:/host:ro,rslave
            command: '--path.rootfs=/host'

        nginx_exporter:
          container_address: 10.90.0.7
          container_config:
            image: nginx/nginx-prometheus-exporter

        mysql:
          container_address: 10.90.0.8
          container_config:
            image: yobasystems/alpine-mariadb:latest
            mounts: /opt/mariadb:/var/lib/mysql
            command: '--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci'
          mysql_root_password: eJdr5qyXoH2LCna3FaL9w3pAzpxGdWSE

        mysql_exporter:
          container_address: 10.90.0.9
          container_config:
            image: prom/mysqld-exporter:latest
          mysql_target_host: mysql
          mysql_exporter_username: exporter
          mysql_exporter_password: JmH45F3HQogkQoofLaca7YNPvYRV4KXD

        fluentd:
          container_address: 10.90.0.10
          container_config:
            image: fluentd
            custom_image: yes
          fluentd_syslog_port: 11514



        prometheus:
          container_address: 10.90.0.11
        grafana:
          container_address: 10.90.0.12