supabase-postgres.git / summary / log / commit / refs

commit    f396c2f3966501ba09ab5d7dece53880ef2276e9
Author:   Dimitrios Liappis <dimitrios.liappis@gmail.com>
Commit:   GitHub <noreply@github.com>
Date:     Mon May 18 06:29:21 2026 +0000

    refactor(ansible): extract AWS CLI install bundle into internal/install-aws-cli.yml (#2153)
    
    Move the 6 inline AWS CLI / amazon-ec2-utils tasks from
    ansible/tasks/setup-supabase-internal.yml into a single
    ansible/tasks/internal/install-aws-cli.yml file.
    
    Behavior preserved:
    - AWS CLI + amazon-ec2-utils still run under the same conditions
      (parent import gated on debpkg_mode or nixpkg_mode).
    - ec2-instance-connect is intentionally NOT moved; it stays as a
      top-level task in playbook.yml with its existing aws-only tag and
      'when: qemu_mode is undefined' gate.
    
    Tags preserved:
    - AWS CLI tasks + amazon-ec2-utils continue to inherit only
      'install-supabase-internal' via the parent import in playbook.yml.
      The import line inside setup-supabase-internal.yml carries no
      additional tags, matching the pre-refactor semantics.
    
    Motivation: collecting these 6 tasks into a single file makes the
    ansible boundary cleaner and is a small step toward per-component
    task files (the larger setup-supabase-internal.yml decomposition
    already underway via internal/*.yml).
    
    Cross-repo scan (postgres + supabox + salt) shows no broken references:
    - supabox-playbook.yml only mentions amazon-ec2-utils in a comment;
      the supabox build skips this path by not importing
      setup-supabase-internal.yml.
    - salt repo has zero references to install-supabase-internal or aws-only.


ansible/tasks/internal/install-aws-cli.yml | 49 ++++++++++++++++++++++++++++++ ansible/tasks/setup-supabase-internal.yml | 41 ++----------------------- 2 files changed, 52 insertions(+), 38 deletions(-) diff --git a/ansible/tasks/internal/install-aws-cli.yml b/ansible/tasks/internal/install-aws-cli.yml new file mode 100644 index 00000000..397c19ca --- /dev/null +++ b/ansible/tasks/internal/install-aws-cli.yml @@ -0,0 +1,49 @@ +# AWS CLI install bundle: AWS CLI + amazon-ec2-utils. +# +# Used by downstream tasks under setup-supabase-internal.yml that fetch +# binaries from S3. Container builds (supabox) skip this entire file by +# not importing it. +# +# ec2-instance-connect is installed separately in playbook.yml (AWS-only). + +- name: AWS CLI dep + ansible.builtin.apt: + install_recommends: false + pkg: + - jq + - unzip + register: apt_result + until: apt_result is succeeded + retries: 3 + delay: 2 + +- name: AWS CLI - get + ansible.builtin.get_url: + dest: '/tmp/awscliv2.zip' + timeout: 60 + url: "https://awscli.amazonaws.com/awscli-exe-linux-{{ 'aarch64' if platform == 'arm64' else 'x86_64' }}-{{ aws_cli_release }}.zip" + register: download_result + until: download_result is succeeded + retries: 3 + delay: 2 + +- name: AWS CLI - expand + ansible.builtin.unarchive: + dest: '/tmp' + remote_src: true + src: '/tmp/awscliv2.zip' + +- name: AWS CLI - install + ansible.builtin.command: + cmd: /tmp/aws/install --update + become: true + +- name: install utilities to manage Amazon EC2 instance storage + ansible.builtin.apt: + pkg: + - amazon-ec2-utils + become: true + +- name: AWS CLI - configure ipv6 support for s3 + ansible.builtin.command: + cmd: aws configure set default.s3.use_dualstack_endpoint true diff --git a/ansible/tasks/setup-supabase-internal.yml b/ansible/tasks/setup-supabase-internal.yml index 2427470e..78a376ef 100644 --- a/ansible/tasks/setup-supabase-internal.yml +++ b/ansible/tasks/setup-supabase-internal.yml @@ -1,41 +1,6 @@ -- name: AWS CLI dep - ansible.builtin.apt: - install_recommends: false - pkg: - - jq - - unzip - -- name: AWS CLI - get - ansible.builtin.get_url: - dest: '/tmp/awscliv2.zip' - timeout: 60 - url: "https://awscli.amazonaws.com/awscli-exe-linux-{{ 'aarch64' if platform == 'arm64' else 'x86_64' }}-{{ aws_cli_release }}.zip" - register: download_result - until: download_result is succeeded - retries: 3 - delay: 2 - - -- name: AWS CLI - expand - ansible.builtin.unarchive: - dest: '/tmp' - remote_src: true - src: '/tmp/awscliv2.zip' - -- name: AWS CLI - install - ansible.builtin.command: - cmd: /tmp/aws/install --update - become: true - -- name: install utilities to manage Amazon EC2 instance storage - ansible.builtin.apt: - pkg: - - amazon-ec2-utils - become: true - -- name: AWS CLI - configure ipv6 support for s3 - ansible.builtin.command: - cmd: aws configure set default.s3.use_dualstack_endpoint true +- name: Install AWS CLI + ansible.builtin.import_tasks: + file: internal/install-aws-cli.yml - name: download Vector package ansible.builtin.get_url: [parent: 23920a1ba574]