diff --git a/ansible/files/supabase_admin_agent_config/supabase-admin-agent_salt.service b/ansible/files/supabase_admin_agent_config/supabase-admin-agent_salt.service index 969a588e6..948c65e45 100644 --- a/ansible/files/supabase_admin_agent_config/supabase-admin-agent_salt.service +++ b/ansible/files/supabase_admin_agent_config/supabase-admin-agent_salt.service @@ -6,9 +6,15 @@ Requires=local-fs.target [Service] Type=oneshot +{% if qemu_mode is defined and qemu_mode %} +ExecStart=/opt/supabase-admin-agent/supabase-admin-agent --config /opt/supabase-admin-agent/config.yaml salt --apply --store-result --salt-archive configmainv3-main.tar.gz +User=root +Group=root +{% else %} ExecStart=/opt/supabase-admin-agent/supabase-admin-agent --config /opt/supabase-admin-agent/config.yaml salt --apply --store-result User=supabase-admin-agent Group=supabase-admin-agent +{% endif %} StandardOutput=journal StandardError=journal StateDirectory=supabase-admin-agent diff --git a/ansible/files/supabase_admin_agent_config/supabase-admin-agent_salt.timer.j2 b/ansible/files/supabase_admin_agent_config/supabase-admin-agent_salt.timer.j2 index 1c59cdc7c..390e6da57 100644 --- a/ansible/files/supabase_admin_agent_config/supabase-admin-agent_salt.timer.j2 +++ b/ansible/files/supabase_admin_agent_config/supabase-admin-agent_salt.timer.j2 @@ -3,11 +3,19 @@ Description=Run Supabase supabase-admin-agent salt on a schedule Requires=supabase-admin-agent_salt.service [Timer] +{# We're using a significantly lower frequency for triggering this agent on qemu images for the moment. Once we've performed additional validations re: the aggregate impact of running it more frequently, the frequency can be increased. #} +{% if qemu_mode is defined and qemu_mode %} +OnCalendar=*-*-* 0,6,12,18:00:00 +RandomizedDelaySec={{ supabase_admin_agent_splay }} +AccuracySec=1h +OnBootSec=5m +Persistent=true +{% else %} OnCalendar=*:0/10 -# Random delay up to {{ supabase_admin_agent_splay }} seconds splay RandomizedDelaySec={{ supabase_admin_agent_splay }} AccuracySec=1s Persistent=true +{% endif %} [Install] WantedBy=timers.target diff --git a/ansible/qemu-vars.yaml b/ansible/qemu-vars.yaml new file mode 100644 index 000000000..ad06a2a01 --- /dev/null +++ b/ansible/qemu-vars.yaml @@ -0,0 +1 @@ +supabase_admin_agent_splay_secs: 2h diff --git a/ansible/tasks/internal/supabase-admin-agent.yml b/ansible/tasks/internal/supabase-admin-agent.yml index 0826462e2..39756b674 100644 --- a/ansible/tasks/internal/supabase-admin-agent.yml +++ b/ansible/tasks/internal/supabase-admin-agent.yml @@ -41,6 +41,13 @@ arch: "arm64" when: platform == "arm64" +- name: install gpg explicitly for qemu artifacts + become: yes + apt: + pkg: + - gpg + when: qemu_mode is defined + - name: Download supabase-admin-agent archive get_url: url: "https://supabase-public-artifacts-bucket.s3.amazonaws.com/supabase-admin-agent/v{{ supabase_admin_agent_release }}/supabase-admin-agent-{{ supabase_admin_agent_release }}-linux-{{ arch }}.tar.gz" diff --git a/ansible/vars.yml b/ansible/vars.yml index 0fd92cab1..37eb8341f 100644 --- a/ansible/vars.yml +++ b/ansible/vars.yml @@ -10,9 +10,9 @@ postgres_major: # Full version strings for each major version postgres_release: - postgresorioledb-17: 17.5.1.030-orioledb - postgres17: 17.6.1.009 - postgres15: 15.14.1.009 + postgresorioledb-17: 17.5.1.031-orioledb + postgres17: 17.6.1.010 + postgres15: 15.14.1.010 # Non Postgres Extensions pgbouncer_release: 1.19.0 @@ -56,7 +56,7 @@ postgres_exporter_release_checksum: adminapi_release: "0.92.1" adminmgr_release: "0.32.1" supabase_admin_agent_release: 1.4.38 -supabase_admin_agent_splay: 30 +supabase_admin_agent_splay: 30s vector_x86_deb: https://packages.timber.io/vector/0.48.X/vector_0.48.0-1_amd64.deb vector_arm_deb: https://packages.timber.io/vector/0.48.X/vector_0.48.0-1_arm64.deb diff --git a/ebssurrogate/scripts/qemu-bootstrap-nix.sh b/ebssurrogate/scripts/qemu-bootstrap-nix.sh index e74617801..81bd13229 100755 --- a/ebssurrogate/scripts/qemu-bootstrap-nix.sh +++ b/ebssurrogate/scripts/qemu-bootstrap-nix.sh @@ -39,7 +39,8 @@ EOF --extra-vars "postgresql_version=postgresql_${POSTGRES_MAJOR_VERSION}" \ --extra-vars "postgresql_major_version=${POSTGRES_MAJOR_VERSION}" \ --extra-vars "postgresql_major=${POSTGRES_MAJOR_VERSION}" \ - --extra-vars "psql_version=psql_${POSTGRES_MAJOR_VERSION}" + --extra-vars "psql_version=psql_${POSTGRES_MAJOR_VERSION}" \ + --extra-vars @./ansible/qemu-vars.yml } function setup_postgesql_env { @@ -101,7 +102,8 @@ EOF --extra-vars "postgresql_version=postgresql_${POSTGRES_MAJOR_VERSION}" \ --extra-vars "postgresql_major_version=${POSTGRES_MAJOR_VERSION}" \ --extra-vars "postgresql_major=${POSTGRES_MAJOR_VERSION}" \ - --extra-vars "psql_version=psql_${POSTGRES_MAJOR_VERSION}" + --extra-vars "psql_version=psql_${POSTGRES_MAJOR_VERSION}" \ + --extra-vars @./ansible/qemu-vars.yml } function clean_legacy_things {