mirror of
https://codeberg.org/ProgramSnail/config.git
synced 2025-12-24 00:08:42 +00:00
distrobox container host setup playbook
This commit is contained in:
parent
f7a6f59fc6
commit
0605fda37e
5 changed files with 111 additions and 15 deletions
3
roles/dev_host/defaults/main.yml
Normal file
3
roles/dev_host/defaults/main.yml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
container_name: dev
|
||||
container_image: quay.io/fedora/fedora-toolbox
|
||||
container_image_tag: latest
|
||||
37
roles/dev_host/tasks/main.yml
Normal file
37
roles/dev_host/tasks/main.yml
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# os based on https://github.com/sandorex/config/blob/master/playbooks/container-dev.yml
|
||||
|
||||
- name: Check if container already exists
|
||||
containers.podman.podman_container_info:
|
||||
name: '{{ container_name }}'
|
||||
register: container_info
|
||||
|
||||
- name: Create container using distrobox
|
||||
ansible.builtin.command:
|
||||
# requires distrobox version 1.7
|
||||
# add python3 to allow ansible to work
|
||||
# add ansible to run local roles without host (?)
|
||||
cmd: >-
|
||||
distrobox create --yes --no-entry --pull
|
||||
--image '{{ container_image }}:{{ container_image_tag }}'
|
||||
--name '{{ container_name }}'
|
||||
--hostname '{{ ansible_hostname }}'
|
||||
--additional-packages 'python3 ansible'
|
||||
when: container_info.containers | length == 0
|
||||
|
||||
- name: Start the container
|
||||
ansible.builtin.command:
|
||||
cmd: 'distrobox enter --name {{ container_name }} -- sh -c ''exit'''
|
||||
# start if not running or if not defined
|
||||
when: not (container_info.containers[0].State.Running | default(false))
|
||||
|
||||
- name: Add container to host
|
||||
changed_when: no
|
||||
ansible.builtin.add_host:
|
||||
name: '{{ container_name }}' # ??
|
||||
groups: containers
|
||||
ansible_connection: distrobox
|
||||
ansible_host: '{{ container_name }}'
|
||||
ansible_user: '{{ ansible_user_id }}'
|
||||
fedora_version: '{{ container_image_tag }}' # ??
|
||||
|
||||
# container setup is done outside (?)
|
||||
Loading…
Add table
Add a link
Reference in a new issue