Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
6adfaca
Installed AWS SDK. Importing where needed.
jkhartshorne Nov 17, 2023
0a069fe
Initial check of IAM user now successfully uses SDK.
jkhartshorne Nov 17, 2023
da453a4
Selection of certificate now uses SDK.
jkhartshorne Nov 17, 2023
70f475c
Merge branch 'main' into fixAWS
jkhartshorne Apr 1, 2024
0052846
Rewrote makeRecordSet(). Haven't tested it yet, though.
jkhartshorne Apr 2, 2024
2597b63
minor changes
jkhartshorne Aug 13, 2024
2903570
Merge remote-tracking branch 'origin' into fixAWS
cherriechang Sep 5, 2025
d1b45e3
update "DBInstanceClas" and "EngineVersion" in dbConfig
cherriechang Sep 5, 2025
e14ac23
eslint auto-formatting
cherriechang Sep 9, 2025
1995cc7
add docs + minor fixes to publishToDocker() and buildFE()
cherriechang Sep 9, 2025
d0f968e
first pass at fixing makeRecordSet(); not yet tested
cherriechang Sep 10, 2025
7aa9e21
delete hostedZoneId parameter from makeRecordSet(); delete unreferenc…
cherriechang Sep 10, 2025
1c0b091
fix makeRecordSet() call in deployFrontEnd()
cherriechang Sep 10, 2025
bc945cd
fix missing imports, lint awsConfigs.js, fix docker tagging of servic…
cherriechang Sep 14, 2025
c3e2910
fix syntax errors in line 2152
cherriechang Sep 16, 2025
d3be54b
migrate RDS logic to sdk
cherriechang Sep 16, 2025
4d5f0cb
change cloudfront cli commands to sdk
cherriechang Sep 21, 2025
5f74fe3
migrate ecs cli to sdk
cherriechang Sep 21, 2025
0d70a64
migrate ec2 stuff to sdk
cherriechang Sep 21, 2025
f51ce10
migrate remaining rds cli code to sdk
cherriechang Sep 21, 2025
366f125
convert s3 buckets cli calls to sdk
cherriechang Sep 21, 2025
44f669a
migrate elb cli to sdk
cherriechang Sep 21, 2025
66fe066
convert dns and cdn cli to sdk
cherriechang Sep 21, 2025
00e80ad
complete migration to sdk
cherriechang Sep 21, 2025
e95385e
minor bug fixes: tag DBs properly with project name (line 1035); guar…
cherriechang Sep 24, 2025
313e674
bug fix: add arn info to list of certificates to choose from to preve…
cherriechang Sep 24, 2025
8fa0f54
add debug logging to identify hanging operations in AWS init and bypa…
cherriechang Sep 30, 2025
7bec594
fix PostgreSQL authentication errors when connecting to RDS
cherriechang Sep 30, 2025
455d507
Add docs and reorganize awsConfigs; fix alarm configs and placeholders
cherriechang Oct 2, 2025
f4e544d
streamline awsConfigs.js docs
cherriechang Oct 2, 2025
d2b19a5
feat: complete AWS Fargate deployment implementation
cherriechang Oct 6, 2025
7840852
fix: setupdb consistently uses dbInfo.url instead of mixing url and host
cherriechang Oct 8, 2025
198e6af
fix: improve OAC handling and add custom domain input
cherriechang Oct 8, 2025
d5dc99e
fix: look for parent hosted zone as fallback for subdomains
cherriechang Oct 9, 2025
ce9a6bb
refactor: standardize database config to use url instead of host; doc…
cherriechang Oct 16, 2025
51646eb
add default usersDir in pushkin.yaml.bak
cherriechang Oct 16, 2025
3b133aa
fix: improve AWS deployment reliability with OAC retry logic, subdoma…
cherriechang Oct 16, 2025
b8d9ab3
refactor: standardize database config to use url instead of host
cherriechang Oct 27, 2025
6f05de4
fix: rabbitMQ passwords now persist across multiple deployments (idem…
cherriechang Oct 28, 2025
92d4cc6
fix #363: rabbitMQ passwords now persist across multiple deployments …
cherriechang Oct 28, 2025
17beb97
fix #364: replace localhost with Service Discovery DNS for RabbitMQ i…
cherriechang Oct 30, 2025
ad072b9
Merge branch 'fixAWS' of github.com:pushkin-consortium/pushkin into f…
cherriechang Oct 30, 2025
1d5f32e
add: changeset for migration to AWS SDK
cherriechang Nov 20, 2025
aa3917f
fix: make hostname detection and parsing more robust
cherriechang Nov 20, 2025
7465a5f
Fix: Auto-cleanup existing database containers before running prep
claude Nov 24, 2025
0a2fe33
chore: add better debug logging for cloudfront distribution deletion
cherriechang Nov 26, 2025
979daf8
feat: add Auth0 authentication integration to site template
cherriechang Nov 21, 2025
e1b93f2
fix: prevent Header from overwriting Auth0 user ID with session-based ID
cherriechang Nov 21, 2025
f94b994
fix: resolve RabbitMQ heartbeat timeout in workers
claude Nov 23, 2025
a5290a0
docs: add changeset for RabbitMQ heartbeat fix
claude Nov 23, 2025
07dfbfa
fix: use Docker service names instead of localhost for worker DB conn…
claude Nov 25, 2025
1ec95ed
chore: update yarn.lock after dependency install
claude Nov 25, 2025
e2c178d
finalize setting up experiment workers for local deployment; ensure
cherriechang Nov 26, 2025
b0883db
add: support for experiment workers to connect to RDS via SSL encryption
cherriechang Dec 1, 2025
ccca6d4
fix: experiments sharing the same experiment worker due to bug in ecs…
cherriechang Dec 1, 2025
6e5a71c
add .claude to .gitignore
cherriechang Dec 2, 2025
b504862
remove .iam from useIAM in aws/index.js - profile name is already ext…
becky-gilbert Feb 27, 2026
7a8cbe0
remove incorrect credentials param in cloudfront distribution config …
becky-gilbert Feb 27, 2026
2297138
checkIAMUser is async so we can await it here
becky-gilbert Feb 27, 2026
bbf3b3c
add retries in case PutBucketPolicyCommand fails (e.g. because new S3…
becky-gilbert Feb 27, 2026
4a0f18f
DB_HOST and TRANS_HOST should be host (test_db, docker service name) …
becky-gilbert Feb 27, 2026
682b9e7
improve DB connection error handling (add catch block to DB test quer…
becky-gilbert Feb 27, 2026
840dfe4
clean up yarn lock: remove file protocol entries (due to yalc add/yar…
becky-gilbert Feb 27, 2026
abe577a
exp worker connection needs SSL on AWS RDS but not locally; set DB_SS…
becky-gilbert Feb 27, 2026
2475a74
skip failing e2e tests - all unrelated to AWS changes, will fix in se…
becky-gilbert Mar 2, 2026
fb5ca46
switch from constructing shell str from user input to execFile - fixe…
becky-gilbert Mar 4, 2026
96662a0
add basic unit tests for buildDockerArgs
becky-gilbert Mar 4, 2026
b7db1fc
task.services was being mutated in place, giving every worker the sam…
becky-gilbert Mar 12, 2026
b46d185
log the warning if this check fails for a reason other than grep find…
becky-gilbert Mar 20, 2026
0bc9e5f
fix undefined var e in catch block (pre-existing bug)
becky-gilbert Mar 20, 2026
55c4cb3
switch from compose stop/rm to down - same thing but also removes nam…
becky-gilbert Mar 20, 2026
6a31819
Merge branch 'fix/aws-deployment' into fix/experiment-workers and fix…
becky-gilbert Mar 25, 2026
7e4b3a1
use DB_HOST/TRANS_HOST from pushkinYAML so that the docker service na…
becky-gilbert Mar 25, 2026
5aa0200
merge main and fix conflicts
becky-gilbert Mar 25, 2026
929ecb3
remove referenes to old DB_SSL env variable and sslConfig in workers …
becky-gilbert Apr 7, 2026
0c50a41
merge fix/prep-graceful-handle-container-exist to fix db password iss…
becky-gilbert Apr 8, 2026
cb3be45
amqp connection heartbeat should be set via query param
becky-gilbert Apr 8, 2026
cbb06dc
Merge pull request #376 from pushkin-consortium/fix/experiment-workers
cherriechang Apr 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .changeset/aws-sdk-migration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
"pushkin-cli": major
---

Complete AWS Fargate deployment modernization and critical bug fixes

This major update completely modernizes the AWS deployment infrastructure with critical bug fixes and improvements:

**Breaking Changes:**
- Migrated from AWS CLI to AWS SDK v3 for all AWS operations
- Standardized database configuration to use `url` instead of `host` throughout

**Critical Bug Fixes:**
- Fix #364: Replace localhost with Service Discovery DNS for RabbitMQ in Fargate awsvpc networking mode
- Fix #363: RabbitMQ passwords now persist across multiple deployments (idempotent behavior)

**New Features:**
- Added AWS Cloud Map (Service Discovery) support for ECS Fargate service-to-service communication
- Improved DNS handling with subdomain fallback to parent hosted zones
- Enhanced OAC (Origin Access Control) handling with retry logic
- Added comprehensive CloudWatch logging for ECS tasks
- Improved database connection reliability with exponential backoff retry logic

**Improvements:**
- Complete JSDoc documentation for all AWS-related functions
- Better error messages and logging throughout deployment process
- Standardized async/await patterns for better error handling
- Improved security group and VPC configuration handling
- Enhanced RDS instance management with proper wait conditions

**Infrastructure Updates:**
- Modernized all AWS service clients (S3, CloudFront, RDS, ECS, EC2, Route53, etc.)
- Better handling of AWS resource lifecycle (create, update, delete)
- Improved idempotency for AWS resource creation
- Enhanced cleanup with aws armageddon command

This update has been manually tested on AWS Fargate deployments and significantly improves the reliability and maintainability of AWS infrastructure management.
18 changes: 18 additions & 0 deletions .changeset/fix-rabbitmq-heartbeat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
"pushkin-worker": patch
"@pushkin-templates/site-basic": patch
---

Fix RabbitMQ heartbeat timeout causing worker crashes

**Bug Fix:**
- Resolves "Heartbeat timeout" errors that prevented experiment workers from completing database operations
- Workers would crash with "Error: Heartbeat timeout at Heart.<anonymous>" during experiment execution

**Changes:**
- Added `heartbeat: 30` configuration to `amqp.connect()` in pushkin-worker to send heartbeats every 30 seconds
- Upgraded RabbitMQ from version 3.6 to 3.12 in docker-compose.dev.yml template
- Added `RABBITMQ_HEARTBEAT: '30'` environment variable to RabbitMQ service configuration

**Impact:**
This fix ensures stable RabbitMQ connections during long-running experiment tasks and prevents connection timeouts that were blocking database persistence of user data and experiment results.
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ docker-compose.production.noEnvDependency.yml
# next.js build output
.next

# yarn cache files
**/.yarn
# Docs build
site/
venv/
Expand All @@ -90,4 +92,9 @@ venv/
test-results/
playwright-report/
blob-report/
playwright/.cache/
playwright/.cache/

# CLAUDE files
CLAUDE.local.md
CLAUDE/*
.claude
4 changes: 2 additions & 2 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ const monorepoConfig = {
FunctionDeclaration: true,
MethodDefinition: true,
ClassDeclaration: true,
ArrowFunctionExpression: true,
FunctionExpression: true,
ArrowFunctionExpression: false,
FunctionExpression: false,
},
},
],
Expand Down
Loading
Loading