Hostinger Reach integration UI + ARC Buildium matching, drop Mailchimp

- HostingerReachPage (replaces MailchimpPage): connect Reach via
  reach-connection, per-association segment sync via reach-sync
- ARC Applications: Buildium import review/matching updates
- buildium-import-stage/apply: latest staging + apply changes (already
  deployed to Supabase)
- migrations: hostinger_reach_integration + arc_finalized_lock service
  role (already applied to live DB)
- CI: note that deployment is VPS-side polling (auto-deploy.sh cron)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-11 23:07:30 -04:00
parent 220892203c
commit abd46bcb2b
15 changed files with 1041 additions and 726 deletions
+5 -20
View File
@@ -26,23 +26,8 @@ jobs:
- name: Build
run: bun run build
deploy:
# Auto-deploy to the VPS (avria.cloud) on every push to main.
# The SSH key is restricted on the server (forced command): it can only
# run /home/avria/deploy.sh, which pulls main, builds, and rsyncs
# dist/ -> public_html. The command string below is therefore ignored
# by the server but kept descriptive.
needs: build
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- name: Deploy to VPS
run: |
mkdir -p ~/.ssh
printf '%s\n' "$VPS_DEPLOY_KEY" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
printf '%s\n' "$VPS_HOST_KEY" > ~/.ssh/known_hosts
ssh -i ~/.ssh/deploy_key -o IdentitiesOnly=yes avria@2.25.155.250 "deploy main"
env:
VPS_DEPLOY_KEY: ${{ secrets.VPS_DEPLOY_KEY }}
VPS_HOST_KEY: ${{ secrets.VPS_HOST_KEY }}
# Deployment: the VPS (avria.cloud) polls this repo every 2 minutes via
# /home/avria/auto-deploy.sh (cron, user avria) and runs deploy.sh when main
# moves — pull/build/rsync to public_html. CI here is a build check only;
# pushing SSH from Actions doesn't work because Hostinger's edge firewall
# blocks the runners' IPs.