diff --git a/scripts/cluster/run-production-acceptance.sh b/scripts/cluster/run-production-acceptance.sh index 74ff968..6181e15 100755 --- a/scripts/cluster/run-production-acceptance.sh +++ b/scripts/cluster/run-production-acceptance.sh @@ -429,7 +429,13 @@ ensure_acceptance_identity_shards() { return 1 } identity_material=$(database_query " -WITH desired AS ( +WITH primary_user AS ( + SELECT roles + FROM gateway_users + WHERE id='$AI_GATEWAY_ACCEPTANCE_USER_ID'::uuid + AND status='active' + AND deleted_at IS NULL +), desired AS ( SELECT ordinal, 'production-acceptance-shard-' || lpad(ordinal::text, 3, '0') AS user_key FROM generate_series(1, $((AI_GATEWAY_ACCEPTANCE_IDENTITY_SHARDS - 1))) ordinal @@ -443,7 +449,7 @@ WITH desired AS ( desired.user_key, 'Production Acceptance Shard ' || lpad(desired.ordinal::text, 3, '0'), '$acceptance_group_id'::uuid, - '[]'::jsonb, + primary_user.roles, '{}'::jsonb, jsonb_build_object( 'purpose', 'production_acceptance_shard', @@ -452,8 +458,10 @@ WITH desired AS ( ), 'active' FROM desired + CROSS JOIN primary_user ON CONFLICT (user_key) DO UPDATE SET default_user_group_id=EXCLUDED.default_user_group_id, + roles=EXCLUDED.roles, metadata=EXCLUDED.metadata, status='active', deleted_at=NULL,