From 0df2b1fd613ba47131f9f763166e2ce0fa73f643 Mon Sep 17 00:00:00 2001 From: ITQ Date: Thu, 19 Mar 2026 14:38:22 +0300 Subject: [PATCH] style(): added ansible-lint config and updated yamllint config --- .ansible-lint | 23 +++++++ .yamllint.yaml | 8 +++ roles/coolify/handlers/main.yaml | 70 ++++++++++++++++++++++ roles/coolify/meta/main.yaml | 18 ++++++ roles/coolify/templates/.env.production.j2 | 18 ------ 5 files changed, 119 insertions(+), 18 deletions(-) create mode 100644 .ansible-lint create mode 100644 roles/coolify/handlers/main.yaml create mode 100644 roles/coolify/meta/main.yaml delete mode 100644 roles/coolify/templates/.env.production.j2 diff --git a/.ansible-lint b/.ansible-lint new file mode 100644 index 0000000..52ace39 --- /dev/null +++ b/.ansible-lint @@ -0,0 +1,23 @@ +--- +profile: production + +exclude_paths: + - external_roles/ + - .ansible/ + +skip_list: + - yaml[line-length] + +warn_list: + - jinja[spacing] + +enable_list: + - fqcn + - no-changed-when + - no-handler + - name[casing] + - key-order + +use_default_rules: true + +offline: false diff --git a/.yamllint.yaml b/.yamllint.yaml index 0f6da89..208fd1d 100644 --- a/.yamllint.yaml +++ b/.yamllint.yaml @@ -6,3 +6,11 @@ ignore: | rules: line-length: disable + comments: + min-spaces-from-content: 1 + comments-indentation: false + braces: + max-spaces-inside: 1 + octal-values: + forbid-implicit-octal: true + forbid-explicit-octal: true diff --git a/roles/coolify/handlers/main.yaml b/roles/coolify/handlers/main.yaml new file mode 100644 index 0000000..f538d1c --- /dev/null +++ b/roles/coolify/handlers/main.yaml @@ -0,0 +1,70 @@ +--- +- name: Restart coolify services + become: true + community.docker.docker_compose_v2: + project_src: "{{ coolify_base_dir }}/source" + files: "{{ coolify_compose_files }}" + state: present + recreate: always + pull: always + wait: true + wait_timeout: "{{ coolify_compose_wait_timeout }}" + +- name: Restart coolify app + become: true + community.docker.docker_compose_v2: + project_src: "{{ coolify_base_dir }}/source" + files: "{{ coolify_compose_files }}" + services: + - coolify + state: present + recreate: always + wait: true + wait_timeout: "{{ coolify_compose_wait_timeout }}" + +- name: Restart coolify postgres + become: true + community.docker.docker_compose_v2: + project_src: "{{ coolify_base_dir }}/source" + files: "{{ coolify_compose_files }}" + services: + - postgres + state: present + recreate: always + wait: true + wait_timeout: "{{ coolify_compose_wait_timeout }}" + +- name: Restart coolify redis + become: true + community.docker.docker_compose_v2: + project_src: "{{ coolify_base_dir }}/source" + files: "{{ coolify_compose_files }}" + services: + - redis + state: present + recreate: always + wait: true + wait_timeout: "{{ coolify_compose_wait_timeout }}" + +- name: Restart coolify soketi + become: true + community.docker.docker_compose_v2: + project_src: "{{ coolify_base_dir }}/source" + files: "{{ coolify_compose_files }}" + services: + - soketi + state: present + recreate: always + wait: true + wait_timeout: "{{ coolify_compose_wait_timeout }}" + +- name: Wait for coolify health + ansible.builtin.uri: + url: "http://localhost:{{ coolify_app_port }}" + method: GET + status_code: 200 + timeout: 30 + register: _coolify_handler_health + until: _coolify_handler_health.status == 200 + retries: "{{ coolify_health_retries }}" + delay: "{{ coolify_health_delay }}" diff --git a/roles/coolify/meta/main.yaml b/roles/coolify/meta/main.yaml new file mode 100644 index 0000000..2f7018c --- /dev/null +++ b/roles/coolify/meta/main.yaml @@ -0,0 +1,18 @@ +--- +galaxy_info: + role_name: coolify + author: ITQ + description: Install, configure, and manage Coolify self-hosted PaaS + license: MIT + min_ansible_version: !!str 2.14 + platforms: + - name: Ubuntu + versions: + - jammy + - noble + - name: Debian + versions: + - bookworm + - trixie + +dependencies: [] diff --git a/roles/coolify/templates/.env.production.j2 b/roles/coolify/templates/.env.production.j2 deleted file mode 100644 index 4e8e45c..0000000 --- a/roles/coolify/templates/.env.production.j2 +++ /dev/null @@ -1,18 +0,0 @@ -APP_ID={{ coolify_app_id | default(lookup('pipe','openssl rand -hex 16')) }} -APP_NAME={{ coolify_app_name | default('Coolify') }} -APP_KEY={{ coolify_app_key | default('base64:' ~ lookup('pipe','openssl rand -base64 32')) }} - -DB_USERNAME={{ coolify_db_username | default('coolify') }} -DB_PASSWORD={{ coolify_db_password | default(lookup('pipe','openssl rand -base64 32')) }} - -REDIS_PASSWORD={{ coolify_redis_password | default(lookup('pipe','openssl rand -base64 32')) }} - -PUSHER_APP_ID={{ coolify_pusher_app_id | default(lookup('pipe','openssl rand -hex 32')) }} -PUSHER_APP_KEY={{ coolify_pusher_app_key | default(lookup('pipe','openssl rand -hex 32')) }} -PUSHER_APP_SECRET={{ coolify_pusher_app_secret | default(lookup('pipe','openssl rand -hex 32')) }} - -ROOT_USERNAME={{ coolify_root_username | default('') }} -ROOT_USER_EMAIL={{ coolify_root_email | default('') }} -ROOT_USER_PASSWORD={{ coolify_root_password | default('') }} - -REGISTRY_URL={{ coolify_registry_url | default('ghcr.io') }}