From 86ff1be1fcba613a50b66560ef2f24695c516743 Mon Sep 17 00:00:00 2001 From: Mauro Ezequiel Moltrasio Date: Fri, 21 Apr 2023 11:29:27 +0200 Subject: [PATCH] Upgrade to Fedora 38 Fedora 38 deprecated the docker daemon, so we move to using podman instead. Both podman-docker and podman-remote are installed to enable using remote docker commands with it. Even though k3s should be tricked into running with podman, I've run into some trouble with it, so for now it is only installed in the ubuntu VM. --- Vagrantfile | 2 +- provision/debian.yml | 40 +++++++++++++++++++++++++++++++++ provision/provision.yml | 50 ----------------------------------------- provision/redhat.yml | 36 +++++++++++++++++++++++++++++ 4 files changed, 77 insertions(+), 51 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 8b99ff6..9fdbae2 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -10,7 +10,7 @@ end Vagrant.configure("2") do |c| c.vm.define 'fedora', primary: true do |fedora| - fedora.vm.box = 'fedora/37-cloud-base' + fedora.vm.box = 'fedora/38-cloud-base' fedora.vm.hostname = 'fedora' synced_folder(fedora, "#{go_path}/src/", "#{go_path}/src/") diff --git a/provision/debian.yml b/provision/debian.yml index 51283f7..3cb25cb 100644 --- a/provision/debian.yml +++ b/provision/debian.yml @@ -14,3 +14,43 @@ upgrade: yes update_cache: yes state: latest + +- name: Get docker install script + get_url: + url: https://get.docker.com + dest: /tmp/docker-install.sh + mode: 0755 + +- name: Install docker + shell: /tmp/docker-install.sh + +- name: Remove install script + file: + path: /tmp/docker-install.sh + state: absent + +- name: Configure docker + user: + name: vagrant + groups: docker + append: true + +- name: Enable docker + systemd: + name: docker + state: started + enabled: true + +- name: Get k3s install script + get_url: + url: https://get.k3s.io + dest: /tmp/k3s-install.sh + mode: 0755 + +- name: Install k3s + shell: /tmp/k3s-install.sh --docker + +- name: Remove install script + file: + path: /tmp/k3s-install.sh + state: absent diff --git a/provision/provision.yml b/provision/provision.yml index dca3301..d13f4e7 100644 --- a/provision/provision.yml +++ b/provision/provision.yml @@ -17,53 +17,3 @@ url: https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_amd64 dest: /usr/bin/yq mode: 0755 - -- name: Install docker - hosts: all - become: true - - tasks: - - name: Get docker install script - get_url: - url: https://get.docker.com - dest: /tmp/docker-install.sh - mode: 0755 - - - name: Install docker - shell: /tmp/docker-install.sh - - - name: Remove install script - file: - path: /tmp/docker-install.sh - state: absent - - - name: Configure docker - user: - name: vagrant - groups: docker - append: true - - - name: Enable docker - systemd: - name: docker - state: started - enabled: true - -- name: Install k3s - hosts: all - become: true - - tasks: - - name: Get k3s install script - get_url: - url: https://get.k3s.io - dest: /tmp/k3s-install.sh - mode: 0755 - - - name: Install k3s - shell: /tmp/k3s-install.sh --docker - - - name: Remove install script - file: - path: /tmp/k3s-install.sh - state: absent diff --git a/provision/redhat.yml b/provision/redhat.yml index 2f88f98..ee18ebd 100644 --- a/provision/redhat.yml +++ b/provision/redhat.yml @@ -18,7 +18,11 @@ - golang - kernel-devel - kubectl + - libbpf-devel - socat + - podman + - podman-docker + - podman-remote - NetworkManager-initscripts-ifcfg-rh state: latest @@ -27,6 +31,38 @@ name: "*" state: latest +- name: Silence podman warning on docker emulation + file: + path: /etc/containers/nodocker + state: touch + mode: u=rw,g=r,o=r + +- name: Enable podman API + systemd: + name: podman.socket + enabled: true + state: started + +- name: Add authorized key for root user + ansible.posix.authorized_key: + user: root + state: present + exclusive: true + key: "{{ lookup('file', lookup('env','HOME') + '/.ssh/fedora38.pub') }}" + +- name: Enable Root Login + lineinfile: + dest: /etc/ssh/sshd_config + regexp: '^PermitRootLogin' + line: "PermitRootLogin yes" + state: present + backup: yes + +- name: Restart sshd + systemd: + name: sshd + state: restarted + - name: Use vi as editor lineinfile: dest: /home/vagrant/.bash_profile