44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
---
|
|
- name: Crea cartella app
|
|
ansible.builtin.file:
|
|
path: /opt/application-consumption-demo-algorithm
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Render env file applicativo
|
|
ansible.builtin.template:
|
|
src: app.env.j2
|
|
dest: /opt/application-consumption-demo-algorithm/app.env
|
|
mode: '0600'
|
|
|
|
- name: Ferma eventuale container precedente
|
|
community.docker.docker_container:
|
|
name: "{{ container_name }}"
|
|
state: absent
|
|
|
|
- name: Scarica immagine ML app (platform-aware)
|
|
block:
|
|
- name: Pull immagine Docker da registry
|
|
ansible.builtin.command: >-
|
|
docker pull{% if image_platform | default('') | length > 0 %} --platform {{ image_platform }}{% endif %} {{ container_image_ref }}
|
|
register: image_pull
|
|
changed_when: image_pull.rc == 0
|
|
|
|
rescue:
|
|
- name: Errore pull immagine con suggerimenti
|
|
ansible.builtin.fail:
|
|
msg: >-
|
|
Pull fallito per {{ container_image_ref }} su platform {{ image_platform | default('default') }}.
|
|
Verifica che il registry pubblichi un manifest compatibile con l'architettura host
|
|
(esempio linux/amd64) oppure ricostruisci l'immagine come multi-arch.
|
|
|
|
- name: Avvia container ML app
|
|
community.docker.docker_container:
|
|
name: "{{ container_name }}"
|
|
image: "{{ container_image_ref }}"
|
|
state: started
|
|
restart_policy: unless-stopped
|
|
ports:
|
|
- "{{ app_port }}:5000"
|
|
env_file: /opt/application-consumption-demo-algorithm/app.env
|