27 Commits

Author SHA1 Message Date
Marius Meyer
97bd47a03d gitea v1.21.0 entfernt die database CHARSET option
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 12s
2024-03-01 18:53:34 +01:00
a451843b85 Archiviere das Backup
All checks were successful
ansible-lint / Ansible Lint (push) Successful in 11s
ansible-lint / Ansible Lint (pull_request) Successful in 10s
2023-05-01 16:07:56 +00:00
283d63a37a FQDN im Dateinamen 2023-05-01 15:27:30 +00:00
b5986b9592 Backup nach /var/backups 2023-05-01 15:25:07 +00:00
657b771790 Formatierung 2023-05-01 15:14:00 +00:00
4857f2d5b9 [lint] Ignoriere Fehler nicht mehr
All checks were successful
ansible-lint / Ansible Lint (push) Successful in 12s
2023-05-01 15:08:26 +00:00
d32e4f3608 Verwende den korrekten FQCN des moduls
All checks were successful
ansible-lint / Ansible Lint (push) Successful in 10s
2023-05-01 00:16:38 +00:00
1025b8f076 Separater Handler für den HTTP Response Check
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 13s
2023-05-01 00:02:56 +00:00
4f1c51475c Stoppe Gitea nur, wenn eine docker-compose.yaml existiert 2023-04-30 23:59:58 +00:00
d8a29adb56 Behalte File-Ownership beim kopieren 2023-04-30 23:56:59 +00:00
124456ae07 Verschiebe Backup Tasks 2023-04-30 23:48:07 +00:00
130a53ed58 lint
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 13s
2023-04-29 20:49:54 +00:00
0f9d5f53c4 [FIX] Versuche nicht, Backups automatisch wiederherzustellen
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 13s
2023-04-29 20:37:28 +00:00
f9d1e42513 Benenne Task 2023-04-29 20:22:48 +00:00
e8e05f8391 [FIX] Starte Gitea neu, wenn die Config geändert wurde 2023-04-29 20:22:03 +00:00
6817fe0ff9 [FIX] Repariere den Backup-Wiederherstellungsprozess 2023-04-29 19:52:00 +00:00
c391a07485 Nutze Handler für ein simpleres Playbook 2023-04-29 18:37:01 +00:00
d0258a3fc2 Validiere docker-compose.yaml
All checks were successful
ansible-lint / Ansible Lint (push) Successful in 11s
2023-04-29 17:07:56 +00:00
f83e0044b7 Benenne den Debug-Task
All checks were successful
ansible-lint / Ansible Lint (push) Successful in 14s
2023-04-29 15:03:09 +00:00
e4d723ed30 verschiebe Gitea start und Erreichbarkeitscheck
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 11s
2023-04-29 14:56:41 +00:00
b52f8767f6 [FIX] don't use ansible_date_time as it might be cached
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 12s
2023-04-29 14:42:33 +00:00
d64c96576c flachere Backup Ordnerstruktur
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 37s
2023-04-29 14:08:59 +00:00
6d90fe0510 [FIX] Starte Gitea, nachdem es für das Backup gestoppt wurde 2023-04-29 14:08:02 +00:00
b2424e95b4 Merge pull request 'Merge ansible-lint nach main' (#2) from ansible-lint into main
All checks were successful
ansible-lint / Ansible Lint (push) Successful in 13s
Reviewed-on: #2
2023-04-28 23:00:21 +00:00
d8e817c969 put ansible-lint in it's place
All checks were successful
ansible-lint / Ansible Lint (push) Successful in 13s
ansible-lint / Ansible Lint (pull_request) Successful in 11s
2023-04-28 22:52:40 +00:00
af023c0487 make ansible-lint happy
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 12s
2023-04-28 22:30:47 +00:00
c900fefb03 Merge pull request 'Merge gitea-actions into main' (#1) from gitea-actions into main
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 10s
Failed successfully.

Reviewed-on: #1
2023-04-28 21:55:48 +00:00
6 changed files with 119 additions and 92 deletions

0
.ansible-lint-ignore Normal file
View File

30
handlers/backup.yaml Normal file
View File

@@ -0,0 +1,30 @@
- name: Get stats of docker-compose.yaml
ansible.builtin.stat:
path: /opt/gitea/docker-compose.yaml
register: docker_compose_stat
listen:
- Backup Gitea
- name: Stop Gitea for Backup
community.docker.docker_compose:
project_src: /opt/gitea
state: present
stopped: true
register: docker_compose
listen:
- Backup Gitea
notify:
- Ensure Gitea is running
when: docker_compose_stat.stat.exists is defined and docker_compose_stat.stat.exists
- name: Backup Gitea Directory
community.general.archive:
path: /opt/gitea/
dest: "/var/backups/gitea-{{ gitea.hostname }}.{{ gitea.domain }}@{{ lookup('pipe', 'date --utc --iso-8601=seconds') }}.tar.gz"
force_archive: true
format: gz
owner: root
mode: "400"
listen:
- Backup Gitea
register: backup

32
handlers/main.yaml Normal file
View File

@@ -0,0 +1,32 @@
- name: Import Backup Handler
ansible.builtin.import_tasks:
file: backup.yaml
- name: Ensure Gitea is restarted
community.docker.docker_compose:
project_src: /opt/gitea
restarted: true
register: docker_compose
- name: Ensure Gitea is running
community.docker.docker_compose:
project_src: /opt/gitea
register: docker_compose
- name: Get Gitea HTTP Response
ansible.builtin.uri:
url: "https://{{ gitea.hostname }}.{{ gitea.domain }}"
register: gitea_http_response
failed_when: 400 <= gitea_http_response.status < 500
- name: Wait until Gitea is up
ansible.builtin.uri:
url: "https://{{ gitea.hostname }}.{{ gitea.domain }}"
register: gitea_http_response
until: gitea_http_response.status == 200
retries: 30
delay: 2
- name: Output Docker Compose State
ansible.builtin.debug:
var: docker_compose

View File

@@ -1,11 +1,9 @@
---
#- name: Install Dependencies
# apt:
# pkg:
# - apparmor
# - docker.io
# - python3-docker
# - name: Install Dependencies
# apt:
# pkg:
# - apparmor
# - docker.io
# - python3-docker
- name: Create git USER
ansible.builtin.user:
@@ -13,106 +11,76 @@
register: git_user
- name: Create Gitea
file:
ansible.builtin.file:
path: "/opt/gitea"
state: directory
owner: root
mode: 0755
mode: "755"
- name: Create Data Directory
file:
ansible.builtin.file:
path: "/opt/gitea/data"
state: directory
owner: "{{ git_user.uid }}"
group: "{{ git_user.group }}"
mode: 0700
mode: "700"
- name: Create Config Directory
file:
ansible.builtin.file:
path: "/opt/gitea/config"
state: directory
owner: "{{ git_user.uid }}"
group: "{{ git_user.group }}"
mode: 0700
mode: "700"
- name: Start Docker Daemon
systemd:
ansible.builtin.systemd:
name: docker
enabled: yes
enabled: true
state: started
- name: Backup Files
block:
- name: Stop Gitea for Backup
community.docker.docker_compose:
project_src: /opt/gitea
state: present
stopped: true
- name: Check if environment.env will get changed
ansible.builtin.template:
src: environment.env.j2
dest: "/opt/gitea/environment.env"
owner: root
mode: "600"
register: env_diff
check_mode: true
notify:
- Backup Gitea
- name: Backup Gitea Directory
ansible.builtin.copy:
src: /opt/gitea
dest: "/opt/gitea.backup@{{ ansible_date_time.iso8601 }}"
remote_src: true
directory_mode: true
register: backup
- name: Check if docker-compose.yaml will get changed
ansible.builtin.template:
src: docker-compose.yaml.j2
dest: /opt/gitea/docker-compose.yaml
owner: root
mode: "600"
register: docker_compose_diff
check_mode: true
notify:
- Backup Gitea
- name: Apply Changes
block:
- name: Upload Environment File
ansible.builtin.template:
src: environment.env.j2
dest: "/opt/gitea/environment.env"
owner: root
mode: 0600
register: gitea_env
- name: Execute Handlers before changing configfiles
ansible.builtin.meta: flush_handlers
- name: Upload docker-compose.yaml
ansible.builtin.template:
src: docker-compose.yaml.j2
dest: /opt/gitea/docker-compose.yaml
owner: root
mode: 0600
register: gitea_container
- name: Upload Environment File
ansible.builtin.template:
src: environment.env.j2
dest: "/opt/gitea/environment.env"
owner: root
mode: "600"
notify:
- Ensure Gitea is restarted
- Wait until Gitea is up
- name: Create / Recreate Gitea
community.docker.docker_compose:
project_src: /opt/gitea
state: present
restarted: true
when: gitea_env.changed or gitea_container.changed
- name: Check if {{ gitea.hostname }}.{{ gitea.domain }} is available and returning status 200
ansible.builtin.uri:
url: "https://{{ gitea.hostname }}.{{ gitea.domain }}"
register: _result
until: _result.status == 200
retries: 30
delay: 2
rescue:
- name: Stop Gitea for Backup
community.docker.docker_compose:
project_src: /opt/gitea
state: present
stopped: true
- name: Restore Gitea Directory from Backup
ansible.builtin.copy:
src: "{{ backup.dest }}"
dest: "{{ backup.src }}"
remote_src: true
- name: Create / Recreate Gitea
community.docker.docker_compose:
project_src: /opt/gitea
state: present
restarted: true
always:
- name: Check if {{ gitea.hostname }}.{{ gitea.domain }} is available and returning status 200
ansible.builtin.uri:
url: "https://{{ gitea.hostname }}.{{ gitea.domain }}"
register: _result
until: _result.status == 200
retries: 30
delay: 2
- name: Upload docker-compose.yaml
ansible.builtin.template:
src: docker-compose.yaml.j2
dest: /opt/gitea/docker-compose.yaml
owner: root
mode: "600"
notify:
- Output Docker Compose State
- Ensure Gitea is restarted
- Wait until Gitea is up

View File

@@ -47,9 +47,6 @@ GITEA__database__SQLITE_JOURNAL_MODE={{ gitea_vars.database.sqlite_journal_mode
{% if 'iterate_buffer_size' in gitea_vars['database'] %}
GITEA__database__ITERATE_BUFFER_SIZE={{ gitea_vars.database.iterate_buffer_size }}
{% endif %}
{% if 'charset' in gitea_vars['database'] %}
GITEA__database__CHARSET={{ gitea_vars.database.charset }}
{% endif %}
{% if 'path' in gitea_vars['database'] %}
GITEA__database__PATH={{ gitea_vars.database.path }}
{% endif %}
@@ -93,7 +90,7 @@ GITEA__service__ENABLE_NOTIFY_MAIL={{ gitea_vars.service.enable_notify_mail }}
GITEA__service__DEFAULT_KEEP_EMAIL_PRIVATE={{ gitea_vars.service.default_keep_email_private }}
{% endif %}
{% if 'default_allow_create_organization' in gitea_vars['service'] %}
GITEA__service__DEFAULT_ALLOW_CREATE_ORGANIZATION ={{ gitea_vars.service.default_allow_create_organization }}
GITEA__service__DEFAULT_ALLOW_CREATE_ORGANIZATION={{ gitea_vars.service.default_allow_create_organization }}
{% endif %}
{% if 'default_enable_timetracking' in gitea_vars['service'] %}
GITEA__service__DEFAULT_ENABLE_TIMETRACKING={{ gitea_vars.service.default_enable_timetracking }}

View File

@@ -1,7 +1,7 @@
gitea_defaults:
gitea_vars: |
{%- if gitea is defined and gitea is iterable -%}
{{ gitea_defaults | combine (gitea, recursive=True) }}
{{ gitea_defaults | combine(gitea, recursive=True) }}
{%- else -%}
{{ gitea }}
{%- endif -%}