|
2 | 2 | #
|
3 | 3 | # Komponist - Generate Your Favourite Compose Stack With the Least Effort
|
4 | 4 | #
|
5 |
| -# Copyright (C) 2023 Shantanoo "Shan" Desai <[email protected]> |
| 5 | +# Copyright (C) 2025 Shantanoo "Shan" Desai <[email protected]> |
6 | 6 | #
|
7 | 7 | # This program is free software: you can redistribute it and/or modify
|
8 | 8 | # it under the terms of the GNU Affero General Public License as published
|
|
38 | 38 | with_items:
|
39 | 39 | - "{{ komponist.configuration.keys() }}"
|
40 | 40 |
|
41 |
| - - name: "(KOMPONIST) Validation and Generation of docker-compose.yml" |
42 |
| - block: |
43 |
| - - name: "(DockerCompose) Validating Docker Compose Services" |
44 |
| - ansible.builtin.command: |
45 |
| - cmd: docker compose {{ compose_files }} config --no-interpolate --no-path-resolution --quiet |
46 |
| - args: |
47 |
| - chdir: "{{ komponist.deploy_dir | default(ansible_user_dir + '/.komponist') }}" |
48 |
| - vars: |
49 |
| - compose_files: >- |
50 |
| - {{ komponist.configuration.keys() | map('regex_replace', '^(.*)$', ' -f docker-compose.\1.yml') | join | trim }} |
51 |
| - register: docker_compose_validity |
52 |
| - changed_when: docker_compose_validity.rc != 0 |
| 41 | + - name: "(KOMPONIST) Generating Entrypoint compose.yml file from Templates" |
| 42 | + ansible.builtin.template: |
| 43 | + src: templates/services/compose.yml.j2 |
| 44 | + dest: "{{ komponist.deploy_dir | default(ansible_user_dir + '/.komponist') }}/compose.yml" |
| 45 | + mode: "0644" |
53 | 46 |
|
54 |
| - - name: "(DockerCompose) Generating docker-compose.yml file if all services are valid" |
55 |
| - ansible.builtin.command: |
56 |
| - cmd: > |
57 |
| - docker compose -p {{ komponist.configuration.project_name | default('komponist') }} {{ compose_files }} config |
58 |
| - --no-interpolate |
59 |
| - --no-path-resolution |
60 |
| - -o docker-compose.yml |
61 |
| - args: |
62 |
| - chdir: "{{ komponist.deploy_dir | default(ansible_user_dir + '/.komponist') }}" |
63 |
| - vars: |
64 |
| - compose_files: >- |
65 |
| - {{ komponist.configuration.keys() | map('regex_replace', '^(.*)$', ' -f docker-compose.\1.yml') | join | trim }} |
66 |
| - changed_when: docker_compose_validity.rc != 0 |
| 47 | + - name: "(KOMPONIST) Validating Docker Compose Services" |
| 48 | + ansible.builtin.command: |
| 49 | + cmd: docker compose config --no-interpolate --no-path-resolution --quiet |
| 50 | + args: |
| 51 | + chdir: "{{ komponist.deploy_dir | default(ansible_user_dir + '/.komponist') }}" |
| 52 | + register: docker_compose_validity |
| 53 | + changed_when: docker_compose_validity.rc != 0 |
67 | 54 |
|
68 |
| - - name: "(KOMPONIST) Update the header for generated docker-compose.yml file" |
69 |
| - ansible.builtin.blockinfile: |
70 |
| - block: "{{ lookup('ansible.builtin.template', 'templates/license_header.txt.j2') }}" |
71 |
| - path: "{{ komponist.deploy_dir | default(ansible_user_dir + '/.komponist') }}/docker-compose.yml" |
72 |
| - insertbefore: "BOF" |
73 |
| - marker: "" |
| 55 | + - name: "(KOMPONIST) Update the header for generated docker-compose.yml file" |
| 56 | + ansible.builtin.blockinfile: |
| 57 | + block: "{{ lookup('ansible.builtin.template', 'templates/license_header.txt.j2') }}" |
| 58 | + path: "{{ komponist.deploy_dir | default(ansible_user_dir + '/.komponist') }}/compose.yml" |
| 59 | + insertbefore: "BOF" |
| 60 | + marker: "" |
74 | 61 |
|
75 |
| - - name: "(KOMPONIST) Generating the .env file for the Project" |
76 |
| - ansible.builtin.template: |
77 |
| - src: config/komponist.env.j2 |
78 |
| - dest: "{{ komponist.deploy_dir | default(ansible_user_dir + '/.komponist') }}/.env" |
79 |
| - mode: "0644" |
| 62 | + - name: "(KOMPONIST) Generating the .env file for the Project" |
| 63 | + ansible.builtin.template: |
| 64 | + src: config/komponist.env.j2 |
| 65 | + dest: "{{ komponist.deploy_dir | default(ansible_user_dir + '/.komponist') }}/.env" |
| 66 | + mode: "0644" |
0 commit comments