From cede4ea3650f9dc4fafb87f69feacfd0e5ce4baa Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 28 Nov 2021 12:04:41 +0100 Subject: [PATCH] Add separate file for aur task & add rootless docker tasks --- playbook.yml | 1 + tasks/aur-package.yml | 22 ++++++++++++++++++++++ tasks/aur.yml | 20 +++++++++++++------- tasks/docker.yml | 28 ++++++++++++++++++++++++++++ tasks/main.yml | 9 --------- templates/subgid.j2 | 1 + templates/subuid.j2 | 1 + vars.yml | 1 + 8 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 tasks/aur-package.yml create mode 100644 tasks/docker.yml create mode 100644 templates/subgid.j2 create mode 100644 templates/subuid.j2 diff --git a/playbook.yml b/playbook.yml index 84575bb..220b557 100644 --- a/playbook.yml +++ b/playbook.yml @@ -22,5 +22,6 @@ - import_tasks: 'tasks/dotfiles.yml' - import_tasks: 'tasks/neovim.yml' - import_tasks: 'tasks/aur.yml' + - import_tasks: 'tasks/docker.yml' vars_files: - 'vars.yml' diff --git a/tasks/aur-package.yml b/tasks/aur-package.yml new file mode 100644 index 0000000..3100196 --- /dev/null +++ b/tasks/aur-package.yml @@ -0,0 +1,22 @@ +- name: build package + command: 'makepkg --syncdeps --rmdeps --clean --noconfirm --force' + args: + chdir: '{{ aur_build_dir }}/{{ item.name }}' + +- name: retrieve package name + command: 'grep -oP "(?<=pkgname=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' + register: pkg_name + +- name: retrieve package version + command: 'grep -oP "(?<=pkgver=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' + register: pkg_version + +- name: retrieve package release + command: 'grep -oP "(?<=pkgrel=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' + register: pkg_release + +- name: install package + become: true + pacman: + name: '{{ aur_build_dir }}/{{ item.name }}/{{ pkg_name.stdout }}-{{ pkg_version.stdout }}-{{ pkg_release.stdout }}-x86_64.pkg.tar.zst' + state: present diff --git a/tasks/aur.yml b/tasks/aur.yml index 6c20b59..f2ab39b 100644 --- a/tasks/aur.yml +++ b/tasks/aur.yml @@ -9,15 +9,21 @@ - name: change aur package directories owner become: true file: - path: '{[ aur_build_dir }}/{{ item.name }}' + path: '{{ aur_build_dir }}/{{ item.name }}' state: directory - owner: sonny - group: sonny + owner: '{{ ansible_user_id }}' + group: '{{ ansible_user_id }}' recurse: true loop: '{{ aur_packages }}' -- name: build packages - command: 'makepkg --syncdeps --rmdeps --clean' - args: - chdir: '{[ aur_build_dir }}/{{ item.name }}' +- name: build & install aur packages + include_tasks: 'tasks/aur-package.yml' loop: '{{ aur_packages }}' + +- name: enable docker socket + systemd: + name: docker.socket + state: restarted + enabled: true + scope: user + daemon_reload: true diff --git a/tasks/docker.yml b/tasks/docker.yml new file mode 100644 index 0000000..4443bbe --- /dev/null +++ b/tasks/docker.yml @@ -0,0 +1,28 @@ +- name: copy docker mapping files + become: true + template: + src: '{{ item.src }}' + dest: '{{ item.dest }}' + loop: + - { + src: 'templates/subgid.j2', + dest: '/etc/subgid', + } + - { + src: 'templates/subuid.j2', + dest: '/etc/subuid', + } + +- name: ensure correct DOCKER_HOST is set + lineinfile: + path: '{{ ansible_env.HOME }}/.bashrc' + regexp: '^export DOCKER_HOST=' + line: 'export DOCKER_HOST=unix:///run/user/{{ ansible_user_uid }}/docker.sock' + +- name: enable docker socket + systemd: + name: docker.socket + state: restarted + enabled: true + scope: user + daemon_reload: true diff --git a/tasks/main.yml b/tasks/main.yml index df311d8..91e686f 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -11,15 +11,6 @@ update: true version: master -- name: remove old docker packages - become: true - package: - name: '{{ item }}' - state: absent - loop: - - docker - - docker-compose - - name: copy konsole configuration files template: src: '{{ item.src }}' diff --git a/templates/subgid.j2 b/templates/subgid.j2 new file mode 100644 index 0000000..fb08808 --- /dev/null +++ b/templates/subgid.j2 @@ -0,0 +1 @@ +{{ ansible_user_id }}:231072:65536 diff --git a/templates/subuid.j2 b/templates/subuid.j2 new file mode 100644 index 0000000..fb08808 --- /dev/null +++ b/templates/subuid.j2 @@ -0,0 +1 @@ +{{ ansible_user_id }}:231072:65536 diff --git a/vars.yml b/vars.yml index fef4076..522bd3c 100644 --- a/vars.yml +++ b/vars.yml @@ -11,6 +11,7 @@ packages: - npm - docker - docker-compose + - fuse-overlayfs - ttf-ibm-plex aur_packages: