feat(forgejo): new forgejo role
This commit is contained in:
parent
cf657bcea0
commit
0ce3b20d45
16 changed files with 1210 additions and 1 deletions
|
@ -0,0 +1,101 @@
|
|||
---
|
||||
- name: install dependencies
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
update_cache: yes
|
||||
force_apt_get: true
|
||||
state: present
|
||||
cache_valid_time: 3600
|
||||
pkg:
|
||||
- git
|
||||
- git-lfs
|
||||
- name: gather facts
|
||||
ansible.builtin.include_tasks: gather_facts.yml
|
||||
- name: create service group
|
||||
become: true
|
||||
ansible.builtin.group:
|
||||
name: '{{ forgejo_group }}'
|
||||
system: true
|
||||
state: present
|
||||
- name: create service user
|
||||
become: true
|
||||
ansible.builtin.user:
|
||||
name: '{{ forgejo_user }}'
|
||||
group: '{{ forgejo_group }}'
|
||||
shell: '/usr/sbin/nologin'
|
||||
create_home: true
|
||||
home: '{{ forgejo_home_dir }}'
|
||||
system: true
|
||||
state: present
|
||||
- name: fetch Forgejo binary
|
||||
become: true
|
||||
ansible.builtin.get_url:
|
||||
url: '{{ forgejo_assets_url }}/v{{ forgejo_target_version }}/{{ forgejo_asset_name }}'
|
||||
checksum: 'sha256:{{ forgejo_assets_url }}/v{{ forgejo_target_version }}/{{ forgejo_asset_name }}.sha256'
|
||||
mode: 'u=rwx,g=rx,o=rx'
|
||||
owner: '{{ forgejo_user }}'
|
||||
group: '{{ forgejo_group }}'
|
||||
dest: '{{ forgejo_binary_filepath }}'
|
||||
register: forgejo_install_cmd
|
||||
- name: create directories
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: '{{ item.path }}'
|
||||
owner: '{{ item.owner }}'
|
||||
group: '{{ forgejo_group }}'
|
||||
mode: '{{ item.mode }}'
|
||||
state: directory
|
||||
loop:
|
||||
- path: '{{ forgejo_config_dir }}'
|
||||
mode: 'u=rwX,g=rwX,o='
|
||||
owner: root
|
||||
- path: '{{ forgejo_install_dir }}'
|
||||
mode: 'u=rwX,g=rX,o='
|
||||
owner: '{{ forgejo_user }}'
|
||||
- name: install systemd unit files
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: ../templates/systemd/forgejo.service.j2
|
||||
dest: '{{ systemd_unit_directory }}/forgejo.service'
|
||||
owner: root
|
||||
group: root
|
||||
mode: 'u=rwX,g=rX,o='
|
||||
notify:
|
||||
- 'forgejo : restart forgejo service'
|
||||
- name: create app configuration from template
|
||||
when: forgejo_custom_config is falsy and (forgejo_config_file_present is falsy or forgejo_overwrite_config_file is truthy)
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: '../templates/app.ini.j2'
|
||||
dest: '{{ forgejo_config_dir }}/app.ini'
|
||||
owner: '{{ forgejo_user }}'
|
||||
group: '{{ forgejo_group }}'
|
||||
mode: 'u=rw,g=r,o='
|
||||
notify:
|
||||
- 'forgejo : restart forgejo service'
|
||||
- name: create app configuration from custom content
|
||||
when: forgejo_custom_config is truthy and (forgejo_config_file_present is falsy or forgejo_overwrite_config_file is truthy)
|
||||
become: true
|
||||
ansible.builtin.copy:
|
||||
content: '{{ forgejo_custom_config }}'
|
||||
dest: '{{ forgejo_config_dir }}/app.ini'
|
||||
owner: '{{ forgejo_user }}'
|
||||
group: '{{ forgejo_group }}'
|
||||
mode: 'u=rw,g=r,o='
|
||||
notify:
|
||||
- 'forgejo : restart forgejo service'
|
||||
- name: enable git-related configuration to sshd_config.d
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: '../templates/sshd_config.d/git_env.conf.j2'
|
||||
dest: '{{ forgejo_sshd_conf_dir }}/git_env.conf'
|
||||
owner: root
|
||||
group: root
|
||||
mode: 'u=rw,g=r,o='
|
||||
- name: start services
|
||||
become: true
|
||||
ansible.builtin.systemd:
|
||||
name: forgejo.service
|
||||
enabled: true
|
||||
state: started
|
||||
daemon_reload: true
|
Loading…
Add table
Add a link
Reference in a new issue