diff --git a/README.md b/README.md index bb04f13..9140949 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,23 @@ Built using Infrastructure as Code (IaC) with [OpenTofu](https://opentofu.org/) ## 🔄 Usage +### 🛠️ Opentofu + 1. Checkout repo -2. From the opentofu folder, generate `terraform.auto.tfvars` using the supplied ```prepareEnv.sh``` +2. From the opentofu folder, generate `terraform.auto.tfvars` using the supplied `prepareEnv.sh` 3. Run `tofu init`, `tofu fmt`, `tofu validate` 4. Execute `tofu plan` 5. If successful, run `tofu apply` 6. From the ansible folder, run `ansible-playbook main.yml` +### 🧩 Ansible + +1. Checkout repo +2. From the ansible folder, run `export GITEA_RUNNER_TOKEN="{{ YOUR_GITEA_RUNNER_TOKEN }}"` +3. Run `ansible-playbook main.yml -e "GITEA_RUNNER_TOKEN=$GITEA_RUNNER_TOKEN"` + + + + + diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 1a89ec2..4974f9f 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -1,10 +1,6 @@ --- install_packages: - - apt-transport-https - - ca-certificates - curl - - gnupg - - lsb-release - vim - git - htop @@ -12,8 +8,3 @@ install_packages: - mc - net-tools - unattended-upgrades - -data_folder: /data -alpine_latest_image: "alpine:3.22.1@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1" -ubuntu_latest_image: "node:22-trixie@sha256:66fdea746582c4b9678414c13aef9d93839f992e4ea6ffbef7f0785e22312bbd" -debian_latest_image: "git.comprofix.com/mmckinnon/debian-latest:2025.08.31-093853" diff --git a/ansible/main.yml b/ansible/main.yml index a834d30..04874fd 100644 --- a/ansible/main.yml +++ b/ansible/main.yml @@ -20,8 +20,5 @@ - administrator tasks: - name: Deploy docker apps - include_tasks: "tasks/{{ container }}.yml" - loop: - - gitea-runner - loop_control: - loop_var: container \ No newline at end of file + import_tasks: "tasks/gitea-runner.yml" + \ No newline at end of file diff --git a/ansible/tasks/create_folders.yml b/ansible/tasks/create_folders.yml deleted file mode 100644 index acc2ea1..0000000 --- a/ansible/tasks/create_folders.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: Create directories for {{ container }} - file: - path: "{{ data_folder }}/{{ container }}/{{ item }}" - state: directory - loop: "{{ subfolders | default(['config', 'data', 'logs']) }}" diff --git a/ansible/tasks/gitea-runner.yml b/ansible/tasks/gitea-runner.yml index be429e4..4b94229 100644 --- a/ansible/tasks/gitea-runner.yml +++ b/ansible/tasks/gitea-runner.yml @@ -1,17 +1,20 @@ -- name: Create Folders - include_tasks: create_folders.yml - vars: - subfolders: - - config + +- name: Create folders + file: + path: "{{ item }}" + state: directory + with_items: + - "/data/gitea-runner" + - "/data/gitea-runner/config" - name: Check that config.yaml exists stat: - path: "{{ data_folder }}/gitea-runner/config/config.yaml" + path: "/data/gitea-runner/config/config.yaml" register: configyaml - name: Create config.yaml file file: - path: "{{ data_folder }}/gitea-runner/config/config.yaml" + path: "/data/gitea-runner/config/config.yaml" state: touch mode: "0600" access_time: preserve @@ -29,12 +32,13 @@ # - 127.0.0.11 volumes: - "/etc/resolv.conf:/etc/resolv.conf:ro" + - /var/run/docker.sock:/var/run/docker.sock - - "{{ data_folder }}/gitea-runner/config/config.yaml:/config.yaml" + - "/data/gitea-runner/config/config.yaml:/config.yaml" - "/etc/hosts:/etc/hosts:ro" env: CONFIG_FILE: "/config.yaml" GITEA_INSTANCE_URL: "https://git.comprofix.com" GITEA_RUNNER_REGISTRATION_TOKEN: "{{ GITEA_RUNNER_TOKEN }}" GITEA_RUNNER_NAME: "gtar-runner" - GITEA_RUNNER_LABELS: "alpine-latest:docker://{{ alpine_latest_image }},ubuntu-latest:docker://{{ ubuntu_latest_image }},gtar-latest:docker://{{ debian_latest_image }}" \ No newline at end of file + GITEA_RUNNER_LABELS: "alpine-latest:docker://alpine:latest,ubuntu-latest:docker://node:22-trixie,gtar-latest:docker://git.comprofix.com/mmckinnon/debian-latest:latest" \ No newline at end of file diff --git a/ansible/tasks/pull_image.yml b/ansible/tasks/pull_image.yml deleted file mode 100755 index c0af824..0000000 --- a/ansible/tasks/pull_image.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -# Reusable snippet for pulling Docker images - -- name: Set {{ image_name }} image reference - set_fact: - "{{ image_var }}_image_ref": "{{ image_ref }}" - -- name: Ensure {{ image_name }} image is pulled - community.docker.docker_image: - name: "{{ image_ref }}" - source: pull - register: pulled_image - -- name: Save image result under dynamic key - set_fact: - container_images: >- - {{ container_images | default({}) | combine({ image_var: pulled_image }) }}