From a70306f3253fae0571f5aa1da1672e2e0862b20c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=AD=C3=B0ir=20Valberg=20Gu=C3=B0mundsson?= Date: Sun, 22 Jan 2023 00:28:47 +0100 Subject: [PATCH] Initial work on woodpecker ci.[1;5B --- roles/docker/defaults/main.yml | 7 ++++ roles/docker/tasks/services/woodpecker.yml | 46 ++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 roles/docker/tasks/services/woodpecker.yml diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index 626e9b3..b162d64 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -163,6 +163,13 @@ services: volume_folder: "{{ volume_root_folder }}/drone" version: 1 + woodpecker: + file: woodpecker.yml + domain: "ci.{{ base_domain }}" + volume_folder: "{{ volume_root_folder }}/woodpecker" + server_version: v0.15 + agent_version: v0.15 + mailu: file: mailu.yml version: 1.9 diff --git a/roles/docker/tasks/services/woodpecker.yml b/roles/docker/tasks/services/woodpecker.yml new file mode 100644 index 0000000..5adb172 --- /dev/null +++ b/roles/docker/tasks/services/woodpecker.yml @@ -0,0 +1,46 @@ +# vim: ft=yaml.ansible +--- +- name: set up woodpecker with docker runner + docker_compose: + project_name: woodpecker + pull: yes + definition: + version: "3.6" + services: + woodpecker-server: + image: "woodpeckerci/woodpecker-server:{{ services.woodpecker.server_version }}" + restart: unless-stopped + networks: + - external_services + - woodpecker + volumes: + - "{{ services.woodpecker.volume_folder }}:/data" + - "/var/run/docker.sock:/var/run/docker.sock" + environment: + WOODPECKER_GITEA: "true" + WOODPECKER_GITEA_URL: "https://{{ services.gitea.domain }}" + WOODPECKER_GITEA_CLIENT: "{{ woodpecker_secrets.oauth_client_id }}" + WOODPECKER_GITEA_SECRET: "{{ woodpecker_secrets.oauth_client_secret }}" + WOODPECKER_HOST: "https://{{ services.woodpecker.domain }}" + WOODPECKER_AGENT_SECRET: "{{ woodpecker_secrets.agent_secret }}" + + VIRTUAL_HOST: "{{ services.woodpecker.domain }}" + LETSENCRYPT_HOST: "{{ services.woodpecker.domain }}" + LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" + + woodpecker-agent: + image: "woodpeckerci/woodpecker-agent:{{ services.woodpecker.agent_version }}" + restart: unless-stopped + networks: + - woodpecker + volumes: + - "/var/run/docker.sock:/var/run/docker.sock" + environment: + WOODPECKER_SERVER: "woodpecker-server:9000" + WOODPECKER_AGENT_SECRET: "{{ woodpecker_secrets.agent_secret }}" + + networks: + woodpecker: + external_services: + external: + name: external_services