From 873bb7c13bd8b5661e3ff8d6cdd9b53316a90e61 Mon Sep 17 00:00:00 2001 From: Justus Grunow Date: Tue, 12 Nov 2024 14:45:02 -0500 Subject: [PATCH] Added gitea server --- ansible/assets/basementpi/compose.yml.j2 | 2 + ansible/assets/docker-ext/rules.yaml.j2 | 2 +- ansible/assets/gitea/compose.yml.j2 | 13 ++++ ansible/install_docker.yaml | 1 + ansible/install_gitea.yaml | 7 +++ ansible/inventory/host_vars/gitea/vars | 3 + ansible/inventory/host_vars/gitea/vault | 8 +++ ansible/inventory/hosts.yaml | 2 + ansible/roles/install_gitea/defaults/main.yml | 2 + ansible/roles/install_gitea/tasks/main.yaml | 63 +++++++++++++++++++ 10 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 ansible/assets/gitea/compose.yml.j2 create mode 100644 ansible/install_gitea.yaml create mode 100644 ansible/inventory/host_vars/gitea/vars create mode 100644 ansible/inventory/host_vars/gitea/vault create mode 100644 ansible/roles/install_gitea/defaults/main.yml create mode 100644 ansible/roles/install_gitea/tasks/main.yaml diff --git a/ansible/assets/basementpi/compose.yml.j2 b/ansible/assets/basementpi/compose.yml.j2 index 3fc565b..364af87 100644 --- a/ansible/assets/basementpi/compose.yml.j2 +++ b/ansible/assets/basementpi/compose.yml.j2 @@ -82,6 +82,8 @@ services: - 'matrix matrix.mycomputer.party:10.11.1.16' - 'wiki wiki.injust.us:10.11.1.13' - 'git git.mycomputer.party:10.11.1.17' + - 'gitea gitea.injust.us:10.11.1.18' + - 'gitea.mycomputer.party:10.11.1.15' restart: always diff --git a/ansible/assets/docker-ext/rules.yaml.j2 b/ansible/assets/docker-ext/rules.yaml.j2 index aedda87..8ec983d 100644 --- a/ansible/assets/docker-ext/rules.yaml.j2 +++ b/ansible/assets/docker-ext/rules.yaml.j2 @@ -12,7 +12,7 @@ http: service-gitea: loadBalancer: servers: - - url: "http://git:3000" + - url: "http://gitea.injust.us:3000" #certificatesResolvers: # myresolver: diff --git a/ansible/assets/gitea/compose.yml.j2 b/ansible/assets/gitea/compose.yml.j2 new file mode 100644 index 0000000..70fff78 --- /dev/null +++ b/ansible/assets/gitea/compose.yml.j2 @@ -0,0 +1,13 @@ +version: '3.3' +services: + runner: + image: gitea/act_runner:nightly + environment: + CONFIG_FILE: /config.yaml + GITEA_INSTANCE_URL: "{{ gitea_instance_url }}" + GITEA_RUNNER_REGISTRATION_TOKEN: "{{ gitea_runner_token }}" + GITEA_RUNNER_NAME: "{{ gitea_runner_name }}" + volumes: + - ./config.yaml:/config.yaml + - ./data:/data + - /var/run/docker.sock:/var/run/docker.sock diff --git a/ansible/install_docker.yaml b/ansible/install_docker.yaml index 9b5040c..7e4a3e4 100644 --- a/ansible/install_docker.yaml +++ b/ansible/install_docker.yaml @@ -1,6 +1,7 @@ - name: Setup Docker hosts hosts: - docker + - gitea vars: tasks: - name: Docker Prereqs diff --git a/ansible/install_gitea.yaml b/ansible/install_gitea.yaml new file mode 100644 index 0000000..64c6f5d --- /dev/null +++ b/ansible/install_gitea.yaml @@ -0,0 +1,7 @@ +--- +- name: Install Gitea + hosts: + - gitea + roles: + - install_gitea + diff --git a/ansible/inventory/host_vars/gitea/vars b/ansible/inventory/host_vars/gitea/vars new file mode 100644 index 0000000..ffed1d3 --- /dev/null +++ b/ansible/inventory/host_vars/gitea/vars @@ -0,0 +1,3 @@ +gitea_instance_url: https://gitea.mycomputer.party +gitea_runner_token: "{{ vault_runner_token }}" +gitea_runner_name: runner1 diff --git a/ansible/inventory/host_vars/gitea/vault b/ansible/inventory/host_vars/gitea/vault new file mode 100644 index 0000000..9d06c92 --- /dev/null +++ b/ansible/inventory/host_vars/gitea/vault @@ -0,0 +1,8 @@ +$ANSIBLE_VAULT;1.1;AES256 +33326335326536306338373536323931313161363731353734366231616238396237363438346365 +3131616263646364623264356537636462363533636439320a346162313663626230306266643030 +34393961393564363162323031346133386337383338316136623738366236376131633339363364 +3262393335646163340a633831393434366262346262626532376265303336616532663933383463 +30666533303966326166353565363263313964386435306465633532643162636535366262396535 +62343339643264643039333838383534383662303637326563386261643061313264353234636337 +353063336363326466343538666235303833 diff --git a/ansible/inventory/hosts.yaml b/ansible/inventory/hosts.yaml index 9b2153a..7bf5bb0 100644 --- a/ansible/inventory/hosts.yaml +++ b/ansible/inventory/hosts.yaml @@ -15,3 +15,5 @@ docker: basementpi: ansible_host: 10.11.1.10 ansible_ssh_user: root + gitea: + ansible_ssh_user: root diff --git a/ansible/roles/install_gitea/defaults/main.yml b/ansible/roles/install_gitea/defaults/main.yml new file mode 100644 index 0000000..78566d9 --- /dev/null +++ b/ansible/roles/install_gitea/defaults/main.yml @@ -0,0 +1,2 @@ +gitea_version: 1.22.3 +gitea_minor_version: 1.22 diff --git a/ansible/roles/install_gitea/tasks/main.yaml b/ansible/roles/install_gitea/tasks/main.yaml new file mode 100644 index 0000000..9bec049 --- /dev/null +++ b/ansible/roles/install_gitea/tasks/main.yaml @@ -0,0 +1,63 @@ +- name: Install Git + ansible.builtin.package: + name: git + state: present +- name: Download Gitea binary + ansible.builtin.get_url: + url: https://dl.gitea.com/gitea/{{ gitea_version }}/gitea-{{ gitea_version }}-linux-amd64 + dest: /usr/local/bin/gitea + mode: +x +- name: Create git user + ansible.builtin.user: + name: git + state: present + system: true + shell: /bin/bash + comment: Git Version Control + password: ! + create_home: true +- name: Create /var/lib/gitea + ansible.builtin.file: + state: directory + path: /var/lib/gitea + owner: git + group: git + mode: '750' +- name: Create /var/lib/gitea subdirs + ansible.builtin.file: + state: directory + path: "{{ item.path }}" + owner: git + group: git + mode: '750' + loop: + - { path: /var/lib/gitea/custom} + - { path: /var/lib/gitea/data} + - { path: /var/lib/gitea/log} +- name: Create /etc/gitea + ansible.builtin.file: + path: /etc/gitea + state: directory + owner: root + group: git + mode: '770' +- name: Get systemd unit file + ansible.builtin.get_url: + url: https://raw.githubusercontent.com/go-gitea/gitea/refs/heads/release/v{{ gitea_minor_version }}/contrib/systemd/gitea.service + dest: /etc/systemd/system/gitea.service +- name: Start service + ansible.builtin.systemd_service: + name: gitea + enabled: true + state: started + #- name: Set permissions after install + # ansible.builtin.file: + # state: "{{ item.state }}" + # path: "{{ item.path }}" + # mode: "{{ item.mode }}" + # loop: + # - { state: directory, path: /etc/gitea, mode: '750' } + # - { state: file, path: /etc/gitea/app.ini, mode: '640' } + + +