nxtgauge-gitops/OTP_ISSUE_FIX_PROMPT.md
Ashwin Kumar Sivakumar 37a589fa87 fix(backend): add PORT env to all rust deployments (was crashing on boot)
16 of 20 rust services had no PORT env var set; their main.rs calls
std::env::var('PORT').expect('PORT must be a valid u16') which panicked
on startup. This commit adds env.PORT matching the existing containerPort
for each service. Service ports: gateway=9100 users=9101 companies=9102
jobs=9103 job_seekers=9104 customers=9105 employees=9106 photographers=9107
tutors=9108 makeup_artists=9109 developers=9110 video_editors=9111
graphic_designers=9112 social_media_managers=9113 fitness_trainers=9114
catering_services=9115 payments=9116 ugc_content_creators=9117 leads=9118
2026-06-11 01:17:15 +05:30

4 KiB

OTP Issue Fix for NXTGAUGE Signup Flow

Problem Statement

Users get "unable to create account" error when trying to sign up in the frontend-solid application. The OTP (One-Time Password) verification functionality during signup is broken.

Root Cause Analysis

The OTP fixes were implemented but got overwritten by subsequent commits and finally all services were switched to high-performance-latest tag which doesn't include the OTP functionality.

Historical Context

April 16, 17:30 - Initial OTP Fixes (Working)

  • Frontend commit: 152f918 - Fixed resend-otp API endpoint path
  • Backend users commit: 31d4570 - Updated email footer
  • These fixes made OTP work correctly

April 16, 18:06 - v1 API + Legacy OTP Support (Enhanced)

  • Gateway commit: d084491 - Added /api/v1/users routing + legacy resend-otp endpoint for backward compatibility
  • Backend users commit: d084491 - Updated to support v1 API
  • Enhanced OTP support with backward compatibility

April 16, 21:33 - Infrastructure Override (Broke OTP)

  • Frontend: 152f918d26f0bf (lost OTP fix)
  • Backend users: d0844919444056 (lost v1 API/OTP support)
  • These crane mirror builds overwrote the OTP fixes

April 17, 05:25 - Current State (Still Broken)

  • All services switched to high-performance-latest tag
  • Frontend: high-performance-latest (missing OTP fix from 152f918)
  • Gateway: high-performance-latest (missing legacy OTP support from d084491)
  • Backend users: high-performance-latest (missing v1 API/OTP from d084491)

Current GitOps Configuration

Backend Kustomization (apps/nxtgauge-backend-rust/overlays/prod/kustomization.yaml)

images:
  - name: registry.nxtgauge.com/nxtgauge-rust-gateway
    newTag: high-performance-latest
  - name: registry.nxtgauge.com/nxtgauge-rust-users
    newTag: high-performance-latest
  - name: registry.nxtgauge-frontend-solid
    newTag: high-performance-latest

Frontend Kustomization (apps/nxtgauge-frontend-solid/overlays/prod/kustomization.yaml)

images:
  - name: registry.nxtgauge.com/nxtgauge-frontend-solid
    newTag: high-performance-latest

Required Fix

Update the kustomization files to use the specific commits that included the OTP fixes:

  1. Frontend: Change back to 152f918 (contains the OTP endpoint fix)
  2. Gateway: Change back to d084491 (contains legacy OTP support)
  3. Backend users: Change back to d084491 (contains v1 API + OTP support)

Option 2: Fix high-performance-latest Branch

If there's a high-performance-latest branch in the respective repositories, ensure the OTP fixes from commits 152f918 and d084491 are merged/rebased into it.

Files to Modify

  1. apps/nxtgauge-frontend-solid/overlays/prod/kustomization.yaml
  2. apps/nxtgauge-backend-rust/overlays/prod/kustomization.yaml

Expected Behavior After Fix

  1. User enters email during signup
  2. Frontend calls OTP generation endpoint
  3. Backend generates and sends OTP via email
  4. User enters received OTP
  5. Frontend calls OTP verification endpoint
  6. Backend verifies OTP and creates account
  7. User successfully signs up without "unable to create account" error

Verification Steps

After applying the fix:

  1. Trigger ArgoCD sync for both applications
  2. Wait for pods to restart with new images
  3. Test signup flow: enter email → receive OTP → verify OTP → account created
  4. Check logs if signup still fails
  5. Verify OTP resend functionality works

Additional Context

SMTP Configuration (from secret.yaml)

  • SMTP_HOST: "smtp.zeptomail.in"
  • SMTP_PORT: "587"
  • SMTP_FROM_EMAIL: "support@nxtgauge.com"
  • SMTP_SECURE: "false"

Gateway Configuration

Please analyze the codebase, identify the exact OTP endpoints that need to work, and provide the necessary fixes to restore the signup functionality.