--- - name: Ensure cAdvisor container is running community.docker.docker_container: name: "{{ cadvisor_container_name }}" image: "{{ cadvisor_image }}" state: started restart_policy: unless-stopped ports: - "{{ cadvisor_port }}:8080" volumes: - "/:/rootfs:ro" - "/var/run:/var/run:ro" - "/sys:/sys:ro" - "/var/lib/docker/:/var/lib/docker:ro" - "/dev/disk/:/dev/disk:ro" privileged: true devices: - "/dev/kmsg:/dev/kmsg" tags: cadvisor - name: Configure UFW for cAdvisor ufw: rule: allow port: "{{ cadvisor_port }}" proto: tcp comment: "cAdvisor metrics" tags: cadvisor - name: Wait for cAdvisor to be ready wait_for: port: "{{ cadvisor_port }}" host: "{{ ansible_host }}" delay: 2 timeout: 60 tags: cadvisor - name: Verify cAdvisor is accessible uri: url: "http://{{ ansible_host }}:{{ cadvisor_port }}/metrics" return_content: true status_code: 200 register: cadvisor_check until: cadvisor_check.status == 200 retries: 5 delay: 3 tags: cadvisor - name: Show cAdvisor status debug: msg: "cAdvisor successfully deployed at http://{{ ansible_host }}:{{ cadvisor_port }}/metrics" tags: cadvisor