From c33b51a170ecfec7521cd89d7b0cda0e6df85b3d Mon Sep 17 00:00:00 2001 From: BhasherBEL Date: Fri, 19 Jan 2024 18:32:10 +0100 Subject: [PATCH] Edge node --- edges/docker-compose.yaml | 11 ++++++ edges/hosts.yaml | 8 +++++ edges/playbook.docker-edge.yaml | 20 +++++++++++ edges/playbook.docker-setup.yaml | 60 ++++++++++++++++++++++++++++++++ edges/requirements.yaml | 5 +++ 5 files changed, 104 insertions(+) create mode 100644 edges/docker-compose.yaml create mode 100644 edges/hosts.yaml create mode 100644 edges/playbook.docker-edge.yaml create mode 100644 edges/playbook.docker-setup.yaml create mode 100644 edges/requirements.yaml diff --git a/edges/docker-compose.yaml b/edges/docker-compose.yaml new file mode 100644 index 0000000..6ef76c4 --- /dev/null +++ b/edges/docker-compose.yaml @@ -0,0 +1,11 @@ +services: + gitea-runner: + container_name: gitea-runner + image: gitea/act_runner:latest + restart: unless-stopped + environment: + - GITEA_INSTANCE_URL=https://git.bhasher.com + - GITEA_RUNNER_REGISTRATION_TOKEN=${GITEA_RUNNER_TOKEN} + volumes: + - /var/run/docker.sock:/var/run/docker.sock + diff --git a/edges/hosts.yaml b/edges/hosts.yaml new file mode 100644 index 0000000..e73660f --- /dev/null +++ b/edges/hosts.yaml @@ -0,0 +1,8 @@ +master: + hosts: + shp + +edges: + hosts: + snode0 + diff --git a/edges/playbook.docker-edge.yaml b/edges/playbook.docker-edge.yaml new file mode 100644 index 0000000..fe13daa --- /dev/null +++ b/edges/playbook.docker-edge.yaml @@ -0,0 +1,20 @@ +--- +- hosts: edges + remote_user: pi + become: true + tasks: + - name: Copy docker compose files + ansible.builtin.copy: + src: . + dest: /home/pi/edge + - name: Start edge services + community.docker.docker_compose_v2: + project_src: /home/pi/edge + build: never + env_files: .env + state: present + register: output + + - name: Show results + ansible.builtin.debug: + var: output diff --git a/edges/playbook.docker-setup.yaml b/edges/playbook.docker-setup.yaml new file mode 100644 index 0000000..b334e35 --- /dev/null +++ b/edges/playbook.docker-setup.yaml @@ -0,0 +1,60 @@ +--- +- hosts: edges + remote_user: pi + become: true + tasks: + - name: Remove conflicting packages + apt: + name: "{{item}}" + state: absent + update_cache: yes + loop: + - docker.io + - docker-doc + - docker-compose + - docker-compose-v2 + - podman-docker + - containerd + - runc + - name: Install dependencies + apt: + name: "{{item}}" + state: present + update_cache: yes + loop: + - ca-certificates + - curl + - gnupg + - name: add GPG key + apt_key: + url: https://download.docker.com/linux/ubuntu/gpg + state: present + - name: add docker repository to apt + apt_repository: + repo: deb https://download.docker.com/linux/ubuntu bionic stable + state: present + - name: install docker + apt: + name: "{{item}}" + state: latest + update_cache: yes + loop: + - docker-ce + - docker-ce-cli + - containerd.io + - docker-buildx-plugin + - docker-compose-plugin + - name: check docker is active + service: + name: docker + state: started + enabled: yes + - name: Ensure group "docker" exists + ansible.builtin.group: + name: docker + state: present + - name: adding ubuntu to docker group + user: + name: pi + groups: docker + append: yes diff --git a/edges/requirements.yaml b/edges/requirements.yaml new file mode 100644 index 0000000..c619ff9 --- /dev/null +++ b/edges/requirements.yaml @@ -0,0 +1,5 @@ +--- +collections: + - name: https://github.com/ansible-collections/community.docker + type: git + version: main