From 3bcb33d76c8d557e4bd7e454180ce7909c63941e Mon Sep 17 00:00:00 2001 From: Gabriel Augendre Date: Fri, 11 Oct 2024 17:41:32 +0200 Subject: [PATCH] add script to create new app easily --- new-app | 8 ++++++ playbooks/apps/template.yaml.dist | 44 +++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100755 new-app create mode 100644 playbooks/apps/template.yaml.dist diff --git a/new-app b/new-app new file mode 100755 index 0000000..9f498f3 --- /dev/null +++ b/new-app @@ -0,0 +1,8 @@ +#!/bin/bash + +echo "creating directories for '$1'" +mkdir -p "playbooks/apps/files/$1" +mkdir -p "playbooks/apps/templates/$1" +cp playbooks/apps/template.yaml.dist "playbooks/apps/$1.yaml" +sed -i '' "s/==APP==/$1/g" "playbooks/apps/$1.yaml" +echo "done" diff --git a/playbooks/apps/template.yaml.dist b/playbooks/apps/template.yaml.dist new file mode 100644 index 0000000..910fd93 --- /dev/null +++ b/playbooks/apps/template.yaml.dist @@ -0,0 +1,44 @@ +--- +- name: ==APP== + hosts: servers + gather_facts: false + tasks: + - name: Create dir + ansible.builtin.file: + path: "{{ dir }}" + state: directory + mode: "0775" + - name: Write files + ansible.builtin.copy: + src: "{{ item }}" + dest: "{{ dir }}/" + mode: preserve + with_fileglob: + - files/{{ app_name }}/* + - files/{{ app_name }}/.* + notify: + - Restart service + - name: Write templates + ansible.builtin.template: + src: "{{ item }}" + dest: "{{ dir }}/{{ item | basename | regex_replace('\\.j2$', '') }}" + mode: preserve + with_fileglob: + - templates/{{ app_name }}/*.j2 + - templates/{{ app_name }}/.*.j2 + notify: + - Restart service + - name: Ensure service is started + community.docker.docker_compose_v2: + project_src: "{{ dir }}" + state: present + + handlers: + - name: Restart service + community.docker.docker_compose_v2: + project_src: "{{ dir }}" + state: restarted + + vars: + app_name: ==APP== + dir: /mnt/data/{{ app_name }}