From 10c73eb915ee742feaf6301d6252f2e69b1eb4d0 Mon Sep 17 00:00:00 2001
From: Nikos Papadakis <nikos@papadakis.xyz>
Date: Mon, 22 Apr 2024 20:40:27 +0300
Subject: [PATCH] update forgejo + woodpecker

---
 group_vars/all/vault.yml | 120 +++++++++++++++++++--------------------
 install_docker.yml       |   2 +-
 install_forgejo.yml      |   4 +-
 install_woodpecker.yml   |  53 +++++------------
 templates/woodpecker.yml |  31 ++++++++++
 5 files changed, 108 insertions(+), 102 deletions(-)
 create mode 100644 templates/woodpecker.yml

diff --git a/group_vars/all/vault.yml b/group_vars/all/vault.yml
index 4c4df86..a215553 100644
--- a/group_vars/all/vault.yml
+++ b/group_vars/all/vault.yml
@@ -1,61 +1,61 @@
 $ANSIBLE_VAULT;1.1;AES256
-65646133303366623965393364363663643930376465666234336135613730326330396235393535
-6631396131343437313135356434333231333661346237340a346566303232363632363334616133
-37333937383165323765626266313634336364373131616533356239306132363731396365343162
-6436373334363631320a306439653637393962623439616637353563373761633131643066326337
-31393236363262386534633936363930623930323139363365323663393838306332623538306532
-33613834663063323361306330306437643938623030626135393233383338383461373163363965
-33373062356565363863353539653465313364306637646366616437356633393534616137303961
-30613663623964653938633163333761316632323261663863666639623236616666346133656238
-35653936353465333533386533646262623565363563636335383332363264613164386564353938
-62363637656661656433353739373335343165393936353931303535336531636537626332616665
-61653266313436343339646464346338353331666239373364343131326432633063336230393838
-36343333363839326434383431343538663065656639393938316135316362613963353034323965
-65326462363061316464343538363233333432663662393364333634653063633866376464613134
-32376164663931656164393364656430393463383539643439366162623238333839616162633634
-37643361323538326132373435383733393163616237386436616636383939313563626136306165
-35396461363136653461343530383632343039383138623237663164303636326262633734386439
-65333335303634653064663130613739653261366235323438343435333335306266626232646533
-65353961336630323636346462653032326264343531653062636237336538633335303030393236
-33383932643038333131323763383366313161396134396131646535623530666132333635303434
-36383563343166376330393731353939343765306566626262336264643966636131383532663131
-35323035363437386564306335353439386134643631333239643435376434346263653739653235
-34356438386162653934626536653735303435653433393264663438623562636639633339613030
-62396336323866386635356364393764353435353864373765396535323233663664366535613337
-35353538633961626462643366303637663532373165326237323332613962363732366238636361
-34323466623165363538653537643832396139363830323636376465636433333632373732656337
-65363335623332356365346639336636623666323538363666343965316434633239336431333530
-66373262326566646265396361383739366331346638646639373931613630343833613765336466
-35363134373433313636353537643365653838646634623930303138646561323134306331313831
-37666661386139333564643435653131663066636135343833653733616164613139623039336532
-37353764663738633862626431666234376131613131663139336563313538363836306534623165
-64636133333134346165343162323531323337643664323564646635623333643837383236636533
-35336239663436383638613635613464383464313933346132623039656361316638343334386632
-37393735326333646464366639346537356432313063393130306536636362623639373266623333
-65626631623936353061643164653164626566663332393332353735666463666532616563303734
-65616666646539326162323835373937663561313530373965616430356362663066366332623133
-34323633366365363138383261643966333761666565643531303761613432646439346230643761
-35353339316266623166643063333565343137376132323435633839626133356466333134623033
-32653037623464643964373834623166343730663936323537626434613465376661313830623332
-39363263613562663666353938306631636431613330323364363136303233663837623230316631
-65633761636639636465386438373438393831376534613232373832616436353138663837373038
-33623134353964613433646235376432626561326436333963633932343861306333643462666665
-33366632363539633165303132303937626530343534333439303232656336633430323061633762
-38333238316637636436343939393062313464323231303662356630626333653737663563633032
-61366337373064376230313236336132376561626232373436333438643735383461656265613431
-62613963396564633633313531633665623365386463663964663738313532316235303937343866
-66353134396639366562333233663962356232373163343361353330626136363532366238353534
-36613364303838646161336661653333386164313838376232323931643863343664623138666132
-66653035323634336666626138306631643730373036336132353830613831643131333861623236
-33336433326161663164353037653636316333656334313965666338343338326332353263313165
-38396562323636393864333365346331303838646130616161386138396536363561346265316639
-38663962393966353935366339633833393235626336336264343963323963313162346561303636
-64313437393164616366616230393333373065396136373266323136643765613464643133333130
-61653335646331353633643436373231343032356462346364396361653662653836396133343831
-61623735326632373864333433383538393339353964663435336261336134646635346634666632
-65356664356661356632633832303532313236356336393562633261323734623138356130326330
-35316639343566386431623339353432633938316261306136393665336531383964396430313164
-63306634356632303233396437356666373866386565623936333266613364393561356164383237
-32363733336562363939376562316366656139353362393338366433303933376130393135313333
-32663631356462343537306238353063306665346536323565353361656465346662373130336338
-34373233303366393237
+36633561326339623165343035346439636332353332626265666634376132366438353664396364
+3337626265643339366661636138616237643133633530650a616664313730333839646433623765
+38626233396630383866346631363036663438313036653764363139323937386138623030383361
+3434616335663063660a623132623361363566313436336233376132383538353037613434396564
+62616536383434616339353938333130643335633538393561633064303938616266363636633933
+66616631373235353935623232626133346137316363306137616165333738336632353232633138
+33636262376362616333306338353766636139626638386438373337346134366666306563313862
+66303766333863333732383939386138616535346363396433336266313231313231616238633831
+66363565316431616666623462326466613139623033343966386130303437636338386431626534
+39666663306533306164666439623065363637373136356230656663633339363364366463326438
+61306236383534333961323338313839353735323961333739663166643331373334616133353165
+65366539303937626264306338383864366666383863656362326463383931313135613264333263
+34363339383664613131616561643131636134623039623061343761653135613163306339636534
+66333865666632366562373066356463353761656535626536656634333336393664613361323637
+37656536623537316538653134363730656437396635393235633131313663346639626131626263
+64613137313739343364393735363463333366623662643030363861383364376532333135303137
+61653935353234656163333064663863656136333433666630643262653930653166323133313566
+39333638396235366535653262663134366363343837633964306161366564623033393739663764
+66323264663166366563653831343131326163353134646234306439303861643534316638363665
+64353165343861646262383236333535623432363736326363623635323339386361396138363262
+31626236323066306238373631363030393532376462373136633665383966306236356632363434
+63353831333135623366333631613965323463666366393838643935643664303632646662376161
+38616632636130613534313939306461313937616361616666636232313738313933633266666538
+38636339336133636265366666383465343164633434343938616130653161643133333364356331
+61323137376465666138626533376566663938373766393232396262373430653534313935343437
+65643231323234353034326539363437363766306233353862623137393134356536353339623037
+31336433363831386261343162656139373265633030383963376134666264376665343230303030
+39646234336530336163383364356366386166386534626131366638663033346633386561653537
+38653338646433346331366237666438373638303764363063623039373738393735666634336236
+33616538326262643564303866656265636533646564633833376635306362633633623037366131
+65623263396131653231626430323538366537363263396236343138373463323533633332353637
+65626332636463313935656536613535633961363935383238393462666434366365633139613464
+66333661373532343036643634363133346433636432366462373563373439643638383731633530
+63623566353738396631616131316436626162343466373264323431643439613539353762643434
+36343433353932343464353139376563323732626664623631623533613935363930663635666336
+39626536346335346432633764323865613461626539303632343132363762613339383138333439
+37333533643266643130393439623665346365653432306636396430306663343832393430396363
+39636366613438623733343339356364323339653237323536333763383533626663343065383635
+36646635623433643163613535396565643835616235333536666538326662636463393437303362
+66663361653239656539333334343761333330363963353231653530613866373065376330366635
+34633662646233643532316434343437313336346535343735656333643765636531363061373939
+65653865623032366535656531333430346534633930633461393265393436613935663665396564
+30373535333737303937366334386265396132373737396334303361383632613633616462663866
+66323361633839353139336163643266613937653636333936323131643961323164666237616263
+61646465653336396436613962303363323931383337616238333263633562356632656463343232
+39373334646563356664386635626437663638653431313930656264663139326564336230373937
+63633861386364313661613137386464383330306338643936326462666632646666356264393737
+63656131336663613132386436613530363635366332363562363831323265633832383038663031
+34643763323439383435616536656266633463616564303034633230353830633663313562396333
+63383639663162323235376230666138363737376538383566663435326363663064363165333931
+33333239393466386366373565656636383163323532653665656462656538366264616438323532
+33333761316163646235363966333365623366633839646436643330323735393032326533326363
+37333335346131616536373233653765643537643233316336616464626562366365663964656630
+34346433663431613538656365366236666434653163326561383930666435383464643064323364
+65613064616563663236646636386566633663613764386536623364613739646530373330393635
+36326530623934326261646164646431383762666334336266336634383831386530363232333261
+61316637343364333064383733356666646264646134373237323664623261333138353165653433
+66653838656331626263333734383337633838383961623537383532623634633232666636383437
+38373437386536356234316538306231313730656434643238336537613862613933653164366139
+35653736666333633738
diff --git a/install_docker.yml b/install_docker.yml
index d01dd73..5ea7661 100644
--- a/install_docker.yml
+++ b/install_docker.yml
@@ -24,6 +24,6 @@
       - docker-ce
       - docker-ce-cli
       - containerd.io
-      - docker-compose
+      - docker-compose-plugin
       state: latest
       update_cache: true
diff --git a/install_forgejo.yml b/install_forgejo.yml
index ada2ea5..e54d627 100644
--- a/install_forgejo.yml
+++ b/install_forgejo.yml
@@ -42,8 +42,8 @@
 
   - name: Download gitea
     ansible.builtin.get_url:
-      url: https://codeberg.org/forgejo/forgejo/releases/download/v1.21.1-0/forgejo-1.21.1-0-linux-arm64
-      checksum: sha256:0d7e22ab2554b250cb9fb080ce2b14fde081029648bb7bbdcbd085c97a559535
+      url: https://codeberg.org/forgejo/forgejo/releases/download/v1.21.11-1/forgejo-1.21.11-1-linux-arm64
+      checksum: sha256:8882ec4e352fbd52889605cdd4624ed19d9a2e52f99d813d1ff6eddae795ec98
       dest: /usr/local/bin/forgejo
       mode: '775'
       owner: git
diff --git a/install_woodpecker.yml b/install_woodpecker.yml
index 72eb150..b8ba1e0 100644
--- a/install_woodpecker.yml
+++ b/install_woodpecker.yml
@@ -3,47 +3,22 @@
   hosts: ulna
 
   tasks:
-  - name: Ensure docker-compose is installed
-    ansible.builtin.apt:
-      name: docker-compose
-      state: present
+  - name: ensures directory exists
     become: true
+    ansible.builtin.file:
+      path: /usr/local/etc/woodpecker
+      state: directory
+
+  - name: Copy docker-compose.yml
+    become: true
+    ansible.builtin.template:
+      src: woodpecker.yml
+      dest: /usr/local/etc/woodpecker/docker-compose.yml
+      mode: "0600"
 
   - name: Start woodpecker with docker-compose
-    community.docker.docker_compose:
-      project_name: woodpecker
-      pull: true
-      definition:
-        version: "3"
-        services:
-          woodpecker-server:
-            image: woodpeckerci/woodpecker-server:next
-            ports:
-              - "{{ woodpecker_port }}:8000"
-            volumes:
-              - woodpecker-server-data:/var/lib/woodpecker/
-            environment:
-              - WOODPECKER_OPEN=false
-              - WOODPECKER_HOST=https://{{ woodpecker_host }}
-              - WOODPECKER_AGENT_SECRET={{ woodpecker_agent_secret }}
-              - WOODPECKER_GITEA=true
-              - WOODPECKER_GITEA_URL=https://{{ forgejo_host }}
-              - WOODPECKER_GITEA_CLIENT={{ woodpecker_client_id }}
-              - WOODPECKER_GITEA_SECRET={{ woodpecker_client_secret }}
-              - WOODPECKER_ADMIN=nikos
-
-          woodpecker-agent:
-            image: woodpeckerci/woodpecker-agent:next
-            command: agent
-            restart: always
-            depends_on:
-              - woodpecker-server
-            volumes:
-              - /var/run/docker.sock:/var/run/docker.sock
-            environment:
-              - WOODPECKER_SERVER=woodpecker-server:9000
-              - WOODPECKER_AGENT_SECRET={{ woodpecker_agent_secret }}
-        volumes:
-          woodpecker-server-data:
+    community.docker.docker_compose_v2:
+      project_src: /usr/local/etc/woodpecker
+      pull: always
     register: output
     become: true
diff --git a/templates/woodpecker.yml b/templates/woodpecker.yml
new file mode 100644
index 0000000..d7e489b
--- /dev/null
+++ b/templates/woodpecker.yml
@@ -0,0 +1,31 @@
+version: "3"
+services:
+  woodpecker-server:
+    image: woodpeckerci/woodpecker-server:latest
+    ports:
+      - "{{ woodpecker_port }}:8000"
+    volumes:
+      - woodpecker-server-data:/var/lib/woodpecker/
+    environment:
+      - WOODPECKER_OPEN=false
+      - WOODPECKER_HOST=https://{{ woodpecker_host }}
+      - WOODPECKER_AGENT_SECRET={{ woodpecker_agent_secret }}
+      - WOODPECKER_GITEA=true
+      - WOODPECKER_GITEA_URL=https://{{ forgejo_host }}
+      - WOODPECKER_GITEA_CLIENT={{ woodpecker_client_id }}
+      - WOODPECKER_GITEA_SECRET={{ woodpecker_client_secret }}
+      - WOODPECKER_ADMIN=nikos
+
+  woodpecker-agent:
+    image: woodpeckerci/woodpecker-agent:next
+    command: agent
+    restart: always
+    depends_on:
+      - woodpecker-server
+    volumes:
+      - /var/run/docker.sock:/var/run/docker.sock
+    environment:
+      - WOODPECKER_SERVER=woodpecker-server:9000
+      - WOODPECKER_AGENT_SECRET={{ woodpecker_agent_secret }}
+volumes:
+  woodpecker-server-data: