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]