3.2 KiB
3.2 KiB
Curio HMS — Production deploy checklist
Target: https://curio.applaude.net/dashboard.html
Pre-deploy (local)
- Confirm dashboard files are saved as UTF-8 (no
₹/ðŸin source). - Smoke-test locally:
Opencd c:\Users\sunde\proxmox\curaflow-hms node backend/server.jshttp://localhost:3000/dashboard.html— sidebar must not overlap the queue table; emojis and ₹ must render correctly. - Bump cache-bust query strings if you changed static assets (
dashboard.css?v=,dashboard.js?v=indashboard.html).
Deploy (CI → registry → Kubernetes)
This repo builds on push via .gitea/workflows/build.yaml (Kaniko → 192.168.8.250:5000/curio:latest).
- Commit and push all changes (including
backend/server.jsUTF-8 headers and dashboard UI fixes). - Wait for the Gitea Actions build to finish successfully.
- Roll out Kubernetes (pick one):
# Restart pods to pull :latest kubectl rollout restart deployment/curio-app -n curio # Or patch redeploy annotation (see k8s/app.yaml) kubectl apply -f k8s/app.yaml -n curio kubectl rollout status deployment/curio-app -n curio - Confirm pods are new:
kubectl get pods -n curio -l app=curio-app kubectl logs -n curio -l app=curio-app --tail=50
Post-deploy verification
Open production in a private/incognito window (avoids stale cache).
| Check | Expected |
|---|---|
| Nav labels | 👥 Queue, 💊 Pharmacy (not ðŸ / ₹) |
| Sidebar layout | Sidebar on the left; main content not covered |
| Overview stats | ↑ 4 since last hour (not â†') |
| Doctor workspace | Log in as Doctor → Queue → Start Recording visible |
| Response headers | DevTools → Network → dashboard.html → Content-Type: text/html; charset=utf-8 |
| Recording | Chrome/Edge, allow microphone; button toggles to Pause Scribe |
Quick header check (PowerShell)
(Invoke-WebRequest -Uri "https://curio.applaude.net/dashboard.html" -Method Head).Headers["Content-Type"]
Should include charset=utf-8.
Doctor role (for Zen / recording UI)
In browser console on production:
localStorage.setItem('userRole', 'DOCTOR');
location.reload();
Then open Queue — clinical workspace with SOAP notes and Start Recording.
If encoding is still broken after deploy
- Files on disk — Re-save
dashboard.html(and other HTML) as UTF-8 in the editor; redeploy. - Reverse proxy — Ensure nginx/ingress does not force
charset=iso-8859-1on static files. - CDN/cache — Purge edge cache for
*.html,*.css,*.js. - Hard refresh —
Ctrl+Shift+Ron the dashboard.
Rollback
# If you tag images per release, redeploy the previous tag instead of :latest
kubectl set image deployment/curio-app curio=192.168.8.250:5000/curio:<previous-tag> -n curio
kubectl rollout status deployment/curio-app -n curio
Files that must ship for the dashboard UX fix
dashboard.htmldashboard.cssdashboard.jsglobals.csssettings.cssbackend/server.js(UTF-8Content-Typeheaders)