mirror of
https://github.com/2martens/cloud-configuration.git
synced 2026-10-17 08:37:56 +02:00
131 lines
3.9 KiB
YAML
131 lines
3.9 KiB
YAML
---
|
|
- name: Create directory
|
|
ansible.builtin.file:
|
|
state: directory
|
|
path: /home/{{ ssh_user }}/gitea
|
|
owner: "{{ ssh_user }}"
|
|
group: "{{ ssh_user }}"
|
|
mode: "755"
|
|
- name: Check if service exists
|
|
ansible.builtin.stat:
|
|
path: /home/{{ ssh_user }}/etc/services.d/gitea.ini.j2
|
|
register: service
|
|
- name: Shutdown Gitea
|
|
community.general.supervisorctl:
|
|
name: gitea
|
|
state: stopped
|
|
when: service.stat.exists
|
|
- name: Download Gitea
|
|
ansible.builtin.get_url:
|
|
url: https://dl.gitea.com/gitea/{{ gitea_version }}/gitea-{{ gitea_version }}-linux-{{ host_architecture }}
|
|
dest: /home/{{ ssh_user }}/gitea/gitea
|
|
owner: "{{ ssh_user }}"
|
|
group: "{{ ssh_user }}"
|
|
mode: "744"
|
|
- name: Create config directory
|
|
ansible.builtin.file:
|
|
state: directory
|
|
path: /home/{{ ssh_user }}/gitea/custom/conf
|
|
owner: "{{ ssh_user }}"
|
|
group: "{{ ssh_user }}"
|
|
mode: "755"
|
|
- name: Create data directory
|
|
ansible.builtin.file:
|
|
state: directory
|
|
path: /home/{{ ssh_user }}/gitea/data
|
|
owner: "{{ ssh_user }}"
|
|
group: "{{ ssh_user }}"
|
|
mode: "755"
|
|
- name: Check if config file exists
|
|
ansible.builtin.stat:
|
|
path: /home/{{ ssh_user }}/gitea/custom/conf/app.ini
|
|
register: config_file
|
|
- name: Read existing secret
|
|
register: existing_secret_key
|
|
when: config_file.stat.exists
|
|
changed_when: false
|
|
ansible.builtin.command:
|
|
chdir: /home/{{ ssh_user }}/gitea/custom/conf
|
|
argv:
|
|
- bash
|
|
- -c
|
|
- grep -e ^SECRET_KEY app.ini | cut -f 3 -d ' '
|
|
- name: Read existing internal token
|
|
register: existing_internal_token
|
|
when: config_file.stat.exists
|
|
changed_when: false
|
|
ansible.builtin.command:
|
|
chdir: /home/{{ ssh_user }}/gitea/custom/conf
|
|
argv:
|
|
- bash
|
|
- -c
|
|
- grep -e ^INTERNAL_TOKEN app.ini | cut -f 3 -d ' '
|
|
- name: Read existing JWT secret
|
|
register: existing_jwt_secret
|
|
when: config_file.stat.exists
|
|
changed_when: false
|
|
ansible.builtin.command:
|
|
chdir: /home/{{ ssh_user }}/gitea/custom/conf
|
|
argv:
|
|
- bash
|
|
- -c
|
|
- grep -e ^JWT_SECRET app.ini | cut -f 3 -d ' '
|
|
- name: Read existing LFS JWT secret
|
|
register: existing_lfs_jwt_secret
|
|
when: config_file.stat.exists
|
|
changed_when: false
|
|
ansible.builtin.command:
|
|
chdir: /home/{{ ssh_user }}/gitea/custom/conf
|
|
argv:
|
|
- bash
|
|
- -c
|
|
- grep -e ^LFS_JWT_SECRET app.ini | cut -f 3 -d ' '
|
|
- name: Create secret
|
|
ansible.builtin.command: /home/{{ ssh_user }}/gitea/gitea generate secret SECRET_KEY
|
|
register: secret_key
|
|
when: not config_file.stat.exists
|
|
changed_when: false
|
|
- name: Create internal token
|
|
ansible.builtin.command: /home/{{ ssh_user }}/gitea/gitea generate secret INTERNAL_TOKEN
|
|
register: internal_token
|
|
when: not config_file.stat.exists
|
|
changed_when: false
|
|
- name: Create LFS JWT secret
|
|
ansible.builtin.command: /home/{{ ssh_user }}/gitea/gitea generate secret LFS_JWT_SECRET
|
|
register: lfs_jwt_secret
|
|
when: not config_file.stat.exists
|
|
changed_when: false
|
|
- name: Create JWT secret
|
|
ansible.builtin.command: /home/{{ ssh_user }}/gitea/gitea generate secret JWT_SECRET
|
|
register: jwt_secret
|
|
when: not config_file.stat.exists
|
|
changed_when: false
|
|
- name: Create configuration
|
|
ansible.builtin.template:
|
|
src: gitea/custom/conf/app.ini.j2
|
|
dest: /home/{{ ssh_user }}/gitea/custom/conf/app.ini
|
|
owner: "{{ ssh_user }}"
|
|
group: "{{ ssh_user }}"
|
|
mode: "600"
|
|
- name: Migrate database
|
|
ansible.builtin.command: /home/{{ ssh_user }}/gitea/gitea migrate
|
|
changed_when: true
|
|
- name: Create service directory
|
|
ansible.builtin.file:
|
|
state: directory
|
|
path: /home/{{ ssh_user }}/etc/services.d
|
|
owner: "{{ ssh_user }}"
|
|
group: "{{ ssh_user }}"
|
|
mode: "755"
|
|
- name: Create Gitea service
|
|
ansible.builtin.template:
|
|
src: etc/services.d/gitea.ini.j2
|
|
dest: /home/{{ ssh_user }}/etc/services.d/gitea.ini
|
|
owner: "{{ ssh_user }}"
|
|
group: "{{ ssh_user }}"
|
|
mode: "644"
|
|
- name: Start Gitea
|
|
community.general.supervisorctl:
|
|
state: started
|
|
name: gitea
|