gitea/tasks/main.yml
2019-04-23 19:16:51 +02:00

76 lines
3.0 KiB
YAML

- name: "Ensure database is present"
become: yes
mysql_db:
name: "{{ gitea_db_name }}"
collation: utf8mb4_unicode_ci
encoding: utf8mb4
state: present
register: gitea_database_creation
- name: import DATA in database in case of creation
become: yes
mysql_db:
name: "{{ gitea_db_name }}"
state: import
target: "{{gitea_SQl_target_file}}"
when: gitea_database_creation.changed == true and gitea_SQl_target_file is defined
- name: "Ensure db user is present"
become: yes
mysql_user:
name: "{{ gitea_db_user }}"
host: localhost
password: "{{ gitea_db_password }}"
priv: "{{ gitea_db_name }}.*:ALL"
state: present
- name: install gitea
pacman:
state: present # not required. choices: absent;latest;present. Desired state of the package.
upgrade: false # not required. Whether or not to upgrade whole system.
force: false # not required. When removing package - force remove package, without any checks. When update_cache - force redownload repo databases.
name: gitea
become: yes
- name: "Configure gitea"
template:
src: app.ini.j2
dest: /etc/gitea/app.ini
owner: "{{ gitea_user }}"
mode: 0600
notify: "Restart gitea"
become: yes
- name: create custom systemd folder
file:
path: /etc/systemd/system/gitea.service.d/ # required. Path to the file being managed.
state: directory # not required. choices: absent;directory;file;hard;link;touch. If C(directory), all intermediate subdirectories will be created if they do not exist. Since Ansible 1.7 they will be created with the supplied permissions. If C(file), the file will NOT be created if it does not exist; see the C(touch) value or the M(copy) or M(template) module if you want that behavior. If C(link), the symbolic link will be created or changed. Use C(hard) for hardlinks. If C(absent), directories will be recursively deleted, and files or symlinks will be unlinked. Note that C(absent) will not cause C(file) to fail if the C(path) does not exist as the state did not change. If C(touch) (new in 1.4), an empty file will be created if the C(path) does not exist, while an existing file or directory will receive updated file access and modification times (similar to the way `touch` works from the command line).
become: yes
- name: apply override file for systemd
template:
dest: /etc/systemd/system/gitea.service.d/override.conf # required. Location to render the template to on the remote machine.
src: override.j2 # required. Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or absolute path.
notify: "Restart gitea"
become: yes
- name: "Service gitea"
service:
name: gitea
state: started
enabled: true
when: ansible_service_mgr == "systemd"
become: yes
- name: Install fail2ban jail
template:
src: fail2ban/gitea.local.j2
dest: /etc/fail2ban/jail.d/gitea.local
owner: root
group: root
mode: 0644
notify: Restart fail2ban
become: yes