Add pinp support and make windmill use it

This commit is contained in:
uumas
2026-03-26 03:04:44 +02:00
parent 1d180106d6
commit db651723b2
10 changed files with 223 additions and 55 deletions

View File

@@ -4,17 +4,17 @@
name: container
vars:
container_name: "{{ _service_additional_container.name }}"
container_image: "{{ _service_additional_container.image }}"
container_command: "{{ _service_additional_container.command }}"
container_entrypoint: "{{ _service_additional_container.entrypoint }}"
container_user: "{{ _service_additional_container.user }}"
container_mounts: "{{ _service_additional_container_mounts }}"
container_image: "{{ _service_additional_container_final.image }}"
container_entrypoint: "{{ _service_additional_container_final.entrypoint }}"
container_command: "{{ _service_additional_container_final.command }}"
container_user: "{{ _service_additional_container_final.user }}"
container_mounts: "{{ _service_additional_container_final.mounts }}"
container_devices: "{{ _service_additional_container.devices }}"
container_publish_ports: "{{ _service_additional_container_publish_ports }}"
container_networks: "{{ _service_additional_container_networks }}"
container_hostname: "{{ _service_additional_container.name | regex_replace('^' ~ service_name ~ '-', '') }}"
container_secrets: "{{ _service_additional_container_secrets }}"
container_env: "{{ _service_additional_container.env }}"
container_env: "{{ _service_additional_container_final.env }}"
container_add_capabilities: "{{ _service_additional_container.add_capabilities }}"
container_requires: "{{ _service_container_requires }}"
container_wants: "{{ _service_additional_container_wants }}"

View File

@@ -34,3 +34,28 @@
directory_mode: "0755"
notify: Restart container service {{ service_name }}
loop: "{{ _service_all_copy_mounts | zip(_service_all_copy_mount_host_files) }}"
- name: Template entrypoint for pinp
ansible.builtin.template:
src: "pinp-entrypoint.sh.j2"
dest: "{{ _service_host_directory }}/mounts/pinp-entrypoint.sh"
mode: "0755"
vars:
pinp_inner_name: "{{ service_name }}"
pinp_inner_image: "{{ service_container_image }}"
pinp_inner_mounts: "{{ _service_container_pinp_inner_mounts }}"
pinp_inner_env: "{{ service_container_env }}"
when: service_container_pinp
- name: Template entrypoint for pinp of additional containers
ansible.builtin.template:
src: "pinp-entrypoint.sh.j2"
dest: "{{ _service_host_directory }}/mounts/{{ _service_additional_container.name }}-pinp-entrypoint.sh"
mode: "0755"
loop: "{{ _service_additional_containers | selectattr('pinp') }}"
loop_control:
loop_var: _service_additional_container
vars:
pinp_inner_name: "{{ _service_additional_container.name }}"
pinp_inner_image: "{{ _service_additional_container.image }}"
pinp_inner_mounts: "{{ _service_additional_container_pinp_inner_mounts }}"
pinp_inner_env: "{{ _service_additional_container.env }}"

View File

@@ -14,9 +14,12 @@
ansible.builtin.include_tasks: secrets.yaml
when: _service_container_secrets | length > 0
- name: Template mounts for {{ service_name }}
- name: Host mounts for {{ service_name }}
ansible.builtin.include_tasks: host_mounts.yaml
when: (_service_all_template_mounts + _service_all_copy_mounts) | length > 0
when: >-
(_service_all_template_mounts + _service_all_copy_mounts) | length > 0
or service_container_pinp
or (_service_additional_containers | selectattr('pinp') | length > 0)
- name: Additional containers for {{ service_name }}
ansible.builtin.include_tasks: additional.yaml
@@ -36,16 +39,16 @@
name: container
vars:
container_name: "{{ service_name }}"
container_image: "{{ service_container_image }}"
container_command: "{{ service_container_command }}"
container_entrypoint: "{{ service_container_entrypoint }}"
container_user: "{{ service_container_user }}"
container_mounts: "{{ _service_container_mounts }}"
container_image: "{{ _service_container.image }}"
container_entrypoint: "{{ _service_container.entrypoint }}"
container_command: "{{ _service_container.command }}"
container_user: "{{ _service_container.user }}"
container_mounts: "{{ _service_container.mounts }}"
container_devices: "{{ service_container_devices }}"
container_publish_ports: "{{ _service_container_publish_ports }}"
container_networks: "{{ _service_container_networks }}"
container_secrets: "{{ _service_container_secrets }}"
container_env: "{{ service_container_env }}"
container_env: "{{ _service_container.env }}"
container_add_capabilities: "{{ service_container_add_capabilities }}"
container_requires: "{{ _service_container_requires }}"
container_wants: "{{ _service_container_wants }}"