From 83fc7cc57d0037c0a58b78e0c7a42358fd71d6e3 Mon Sep 17 00:00:00 2001
From: Elia el Lazkani <blog@lazkani.io>
Date: Sat, 8 Feb 2025 17:15:17 +0100
Subject: [PATCH] chore(): Migrates the blog ansible task to docker-compose v2

---
 .drone.yml                        |  5 +++++
 ansible/roles/blog/tasks/main.yml | 15 +++++++++------
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/.drone.yml b/.drone.yml
index ed55bde..cf54905 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -117,6 +117,11 @@ steps:
     environment:
       HCLOUD_TOKEN:
         from_secret: hcloud_token
+    when:
+      event:
+      - promote
+      target:
+      - production
 
   - name: deploy
     image: plugins/ansible:latest
diff --git a/ansible/roles/blog/tasks/main.yml b/ansible/roles/blog/tasks/main.yml
index 6631b95..3075ab9 100644
--- a/ansible/roles/blog/tasks/main.yml
+++ b/ansible/roles/blog/tasks/main.yml
@@ -1,10 +1,9 @@
 ---
 - name: Deploy Blog Stack
-  community.docker.docker_compose:
-    project_name: Blog
+  community.docker.docker_compose_v2:
+    project_name: blog
     state: present
     definition:
-      version: '3'
       services:
         blog:
           container_name: blog
@@ -13,7 +12,7 @@
           networks:
             - traefik-ingress
           environment:
-           - "NGINX_PORT={{ blog_http_port }}"
+            NGINX_PORT: "{{ blog_http_port }}"
           labels:
             - "traefik.enable=true"
             - "traefik.docker.network=traefik-ingress"
@@ -28,7 +27,11 @@
           external: true
   register: output_blog
 
-- assert:
+- name: Verify that Blog services are running
+  ansible.builtin.assert:
     that:
-      - output_blog.services.blog.blog.state.running
+      - blog.State == 'running'
+  vars:
+    blog: >-
+      {{ output_blog.containers | selectattr("Service", "equalto", "blog") | first }}
   when: not check_mode