mirror of
https://github.com/containers/ansible-podman-collections.git
synced 2026-02-03 23:01:48 +00:00
Add inventory plugins for buildah and podman, unit tests and functional CI tests. --------- Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
41 lines
1.3 KiB
YAML
41 lines
1.3 KiB
YAML
---
|
|
- name: Build a consistent AI dev environment image using Ansible and Buildah connection
|
|
hosts: localhost
|
|
gather_facts: false
|
|
vars:
|
|
base_image: "python:3.11-slim"
|
|
image_name: "ai-dev-env:latest"
|
|
workdir: "/workspace"
|
|
tasks:
|
|
- name: Start Buildah working container
|
|
command: buildah from {{ base_image }}
|
|
register: from_out
|
|
|
|
- set_fact:
|
|
container_id: "{{ from_out.stdout | trim }}"
|
|
|
|
- name: Configure working directory
|
|
command: buildah config --workingdir {{ workdir }} {{ container_id }}
|
|
|
|
- name: Add working container as dynamic host (Buildah connection)
|
|
add_host:
|
|
name: "buildcntr_{{ container_id }}"
|
|
ansible_connection: containers.podman.buildah
|
|
ansible_host: "{{ container_id }}"
|
|
ansible_buildah_working_directory: "{{ workdir }}"
|
|
|
|
- name: Provision AI environment inside container using role
|
|
import_role:
|
|
name: ai-dev-env
|
|
delegate_to: "buildcntr_{{ container_id }}"
|
|
|
|
- name: Set container metadata
|
|
shell: |
|
|
buildah config --env "JUPYTER_TOKEN=ansible" {{ container_id }}
|
|
buildah config --port 8888 {{ container_id }}
|
|
buildah config --cmd "jupyter lab --ip=0.0.0.0 --no-browser" {{ container_id }}
|
|
|
|
- name: Commit image
|
|
command: buildah commit {{ container_id }} {{ image_name }}
|
|
|
|
|