diff options
author | Elizabeth Hunt <me@liz.coffee> | 2025-04-27 21:15:30 -0700 |
---|---|---|
committer | Elizabeth Hunt <me@liz.coffee> | 2025-04-27 21:25:52 -0700 |
commit | daef0cf448af17357b552245f39067a9d340ce3d (patch) | |
tree | f65a660f7232f057b0c14e477c166006bfb83f87 /create.py | |
parent | 1dcdfe34a74708f88aad68af965f4bb5c79adff1 (diff) | |
download | infra-daef0cf448af17357b552245f39067a9d340ce3d.tar.gz infra-daef0cf448af17357b552245f39067a9d340ce3d.zip |
Waow
Diffstat (limited to 'create.py')
-rwxr-xr-x | create.py | 42 |
1 files changed, 19 insertions, 23 deletions
@@ -129,29 +129,12 @@ class RoleGenerator: task_file.write_text(textwrap.dedent(f"""\ --- - - name: Build {self.service} compose dirs - ansible.builtin.file: - state: directory - dest: '{{{{ {self.service}_base }}}}/{{{{ item.path }}}}' - owner: 1000 - group: 1000 - mode: 0755 - with_filetree: '../templates' - when: item.state == 'directory' - - - name: Build {self.service} compose files - ansible.builtin.template: - src: '{{{{ item.src }}}}' - dest: '{{{{ {self.service}_base }}}}/{{{{ item.path }}}}' - owner: 1000 - group: 1000 - mode: 0755 - with_filetree: '../templates' - when: item.state == 'file' - - - name: Deploy {self.service} stack - ansible.builtin.command: - cmd: 'docker stack deploy -c {{{{ {self.service}_base }}}}/stacks/docker-compose.yml {self.service}' + - name: Deploy {self.service} + ansible.builtin.import_tasks: manage-docker-swarm-service.yml + vars: + service_name: {self.service} + template_render_dir: "../templates" + service_destination_dir: "{{ {self.service}_base }}" """)) def create_compose_template(self): @@ -165,10 +148,23 @@ class RoleGenerator: - {{{{ {self.service}_base }}}}/volumes/data:/data environment: - TZ={{{{ timezone }}}} + - DEPLOYMENET_TIME={{{{ now() }}}} networks: - proxy + healthcheck: + test: ["CMD-SHELL", "curl", "--fail", "http://localhost:8000"] + timeout: 5s + interval: 30s + retries: 2 + start_period: 8s deploy: mode: replicated + update_config: + parallelism: 1 + failure_action: rollback + order: start-first + delay: 15s + monitor: 10s replicas: 1 labels: - traefik.enable=true |