Commit graph

354 commits

Author SHA1 Message Date
forgejo-actions[bot]
c0da471a74 chore(gitops): update jobs image for ba1b0ebcc08118df0f8ef4e30bae1ca53d71fa8b
All checks were successful
sync-to-forgejo / sync (push) Successful in 6s
2026-07-07 21:11:56 +00:00
forgejo-actions[bot]
9866ba98a2 chore(gitops): update gateway image for ba1b0ebcc08118df0f8ef4e30bae1ca53d71fa8b
All checks were successful
sync-to-forgejo / sync (push) Successful in 7s
2026-07-07 21:10:10 +00:00
forgejo-actions[bot]
03b948bd2e chore(gitops): update cron image for ba1b0ebcc08118df0f8ef4e30bae1ca53d71fa8b
All checks were successful
sync-to-forgejo / sync (push) Successful in 9s
2026-07-07 21:03:46 +00:00
FluxCD Image Automation
6766d6f89b chore(gitops): update nxtgauge app images
All checks were successful
sync-to-forgejo / sync (push) Successful in 10s
2026-07-05 22:42:12 +00:00
FluxCD Image Automation
41e835b701 chore(gitops): update backend-rust images
Some checks failed
sync-to-forgejo / sync (push) Has been cancelled
2026-07-05 22:40:34 +00:00
sync-test
581c6c78e1 feat(flux): add Image Automation for all nxtgauge apps
All checks were successful
sync-to-forgejo / sync (push) Successful in 26s
2026-07-06 03:56:23 +05:30
github-actions[bot]
45926fd359 chore(gitops): deploy ai-assistant@8f20efae1f6f022d157e9fdcd592e3121e287ece
All checks were successful
sync-to-forgejo / sync (push) Successful in 13s
2026-07-05 22:26:01 +00:00
sync-test
e33c7d92e6 fix(gitops): switch ai-assistant release-patch to Forgejo registry
All checks were successful
sync-to-forgejo / sync (push) Successful in 7s
2026-07-06 03:52:57 +05:30
sync-test
37158ede42 fix(k8s): use forgejo-regcred for ai-assistant deployment
All checks were successful
sync-to-forgejo / sync (push) Successful in 17s
2026-07-06 03:52:35 +05:30
sync-test
c73b8740b4 feat: Add NetworkPolicy for Ollama security (Task 3)
All checks were successful
sync-to-forgejo / sync (push) Successful in 22s
Restricts ingress to Ollama service from users, payments, and nxtgauge-ai-assistant only
2026-07-06 01:48:23 +05:30
sync-test
f0906d2c67 Add Traceworks Flux image automation
All checks were successful
sync-to-forgejo / sync (push) Successful in 18s
2026-07-05 23:04:54 +05:30
sync-test
ca382ff4dc chore(gitops): deploy admin-solid@7263bef
All checks were successful
sync-to-forgejo / sync (push) Successful in 13s
2026-07-05 18:12:01 +05:30
sync-test
e101874436 chore(gitops): deploy frontend-solid@09e26d2 - profile verification API fix
All checks were successful
sync-to-forgejo / sync (push) Successful in 19s
2026-07-05 18:07:24 +05:30
sync-test
e279f5ea48 chore(gitops): deploy frontend-solid@3ee5e90 - add role_key to registration
All checks were successful
sync-to-forgejo / sync (push) Successful in 18s
2026-07-05 16:53:13 +05:30
sync-test
e76bffb88c chore(gitops): deploy frontend-solid@d7810ac - forgot password and login API fixes
All checks were successful
sync-to-forgejo / sync (push) Successful in 7s
2026-07-05 16:27:15 +05:30
sync-test
042ec0da4b chore(gitops): deploy frontend-solid@1bf3191 - OTP verification API fix
All checks were successful
sync-to-forgejo / sync (push) Successful in 14s
2026-07-05 16:23:26 +05:30
sync-test
d6a01f62bd chore(gitops): deploy frontend-solid@07aa835 - API endpoint fix for registration
All checks were successful
sync-to-forgejo / sync (push) Successful in 9s
2026-07-05 15:19:10 +05:30
sync-test
5a610af9b3 chore: bump nxtgauge-frontend-solid to 0cf975f (fix signup routing)
All checks were successful
sync-to-forgejo / sync (push) Successful in 14s
2026-07-04 22:13:01 +05:30
Ashwin Kumar Sivakumar
3b1b8665d6 chore(gitops): deploy frontend-solid@48ef3e2 - new signup pages
All checks were successful
sync-to-forgejo / sync (push) Successful in 18s
2026-07-04 18:11:02 +05:30
Ashwin Kumar Sivakumar
5e14343e65 fix(ingress): route test111 /api/* to Rust gateway so signup works
All checks were successful
sync-to-forgejo / sync (push) Successful in 20s
The SolidStart frontend (Vinxi 0.5.7) does not mount src/routes/api/* as
Nitro handlers in the production build. With only a single path rule
pointing to the frontend pod, every /api/* call fell through to
SolidStart's Not Found handler and returned the HTML shell page — making
the Sign Up button appear to do nothing.

Added an /api prefix rule before / so Traefik matches the longer
prefix and forwards signup/login/KB requests directly to the
nxtgauge-rust-gateway service on port 9100 (same backend that
api.nxtgauge.com already uses).

Verified:
- POST /api/auth/check-email -> 200 application/json
- POST /api/auth/register   -> 201 application/json
- GET  /                    -> 200 text/html (frontend shell)
- GET  /api/kb/categories   -> 200 application/json
2026-07-04 15:28:50 +05:30
Ashwin Kumar Sivakumar
b2dbb9f8d4 chore(forgejo): use forgejo registry runner job image
Some checks failed
sync-to-forgejo / sync (push) Failing after 0s
2026-07-03 19:52:15 +05:30
github-actions[bot]
ebc31da19b chore(gitops): deploy ai-assistant@366b6b878a889132f52ed0d78369a6a05941874a 2026-07-03 13:32:29 +00:00
Ashwin Kumar Sivakumar
8b7c178e1c Merge remote-tracking branch 'origin/main'
Some checks failed
sync-to-forgejo / sync (push) Failing after 22s
2026-07-02 22:50:02 +05:30
Ashwin Kumar Sivakumar
38fd72023f Fix cross-namespace DNS failure calling users service from ai-assistant
NXTGAUGE_USERS_URL used the short service name "nxtgauge-rust-users",
which only resolves within the same namespace. The prod overlay places
ai-assistant in nxtgauge-ai while the users service is in nxtgauge, so
every help-center search and ticket-creation call failed with a DNS
resolution error (surfaced as a 502 to the client). Use the full
in-cluster FQDN instead.
2026-07-02 22:49:44 +05:30
github-actions[bot]
b121959b82 chore(gitops): deploy ai-assistant@23557881065cd426ef8c3964e88e6c4d373fcd35 2026-07-02 17:00:32 +00:00
Ashwin Kumar Sivakumar
7f86b04bcf Merge remote-tracking branch 'origin/main' 2026-07-02 19:19:41 +05:30
Ashwin Kumar Sivakumar
5ab9878077 Remove dead registry.nxtgauge.com imagePullSecret reference from default ServiceAccount 2026-07-02 19:19:26 +05:30
Ashwin Kumar Sivakumar
c633dd4ea2 Sync forgejo runner-deployment.yaml with live cluster state, drop exposed password
This file had drifted badly from the actual running DaemonSet - the
live cluster already moved off the standalone registry.nxtgauge.com
mirror (now decommissioned, confirmed dead: internal DNS routes it to
Traefik with no matching ingress) onto ci.nxtgauge.com's built-in
registry. That migration was done directly against the cluster and
never reflected back to git, leaving a stale REGISTRY_PASSWORD literal
("Ashwin@2026") in this file that doesn't exist in the live DaemonSet
at all. Replaces the file with the actual live spec and adds the two
ConfigMaps (docker-daemon-config, registry-cert) it depends on, which
were also missing from the repo. Not applying this to the cluster -
the differences are purely cosmetic (mount ordering, stale
annotations) and would trigger a pointless restart of healthy runners.
2026-07-02 19:17:07 +05:30
github-actions[bot]
bc7e429b54 chore(gitops): deploy ai-assistant@f0fbb15e54e732c82bdc76337d4e1ef427acc951 2026-07-02 13:22:00 +00:00
Ashwin Kumar Sivakumar
e08618fdcf Merge remote-tracking branch 'origin/main' 2026-07-02 18:49:34 +05:30
Ashwin Kumar Sivakumar
a2e3260bb1 Switch ai-assistant to LiteLLM provider with task-specific models
Was defaulting to plain Ollama with gemma3:270m for every request -
no LLM_PROVIDER or LITELLM_* env vars were set. LiteLLM is already
deployed with purpose-built model aliases per task
(apps/litellm/base/configmap.yaml); this wires ai-assistant to use it.
2026-07-02 18:48:52 +05:30
github-actions[bot]
9ae63b8b37 chore(gitops): deploy ai-assistant@6decf8dce2a45acaacf17d8715218661fde93e73 2026-07-02 13:04:58 +00:00
Ashwin Kumar Sivakumar
6c77b8777e Add PayU merchant key and salt to backend-rust secrets
Wires the PayU credentials for the classic hosted-checkout hash flow
(PAYU_MERCHANT_KEY, PAYU_SALT), consumed by the payments service's
resolve_payu_config fallback and the admin payment-gateway config API.
2026-07-02 18:30:29 +05:30
Ashwin Kumar Sivakumar
3418b23d35 Rotate Postgres (postgres role) and Redis passwords
Old password was reused across the postgres superuser, Redis, and
Forgejo's separate nxtgauge DB role. Rotated only the postgres role
and Redis (Forgejo's nxtgauge role password is untouched and still
valid, verified against the live DB).
2026-07-02 18:15:10 +05:30
Ashwin Kumar Sivakumar
7889ed30f5 Fix cross-namespace secretKeyRef in ai-assistant deployment
JWT_SECRET can't reference nxtgauge-backend-rust-secrets (namespace
nxtgauge) from the ai-assistant pod, which the prod overlay places in
nxtgauge-ai — Kubernetes secretKeyRef must be same-namespace. Duplicate
the value into nxtgauge-ai-assistant-secrets instead.
2026-07-02 18:00:10 +05:30
Ashwin Kumar Sivakumar
e5793aefa5 Merge remote-tracking branch 'origin/main' 2026-07-02 17:57:41 +05:30
Ashwin Kumar Sivakumar
b4f371d415 Encrypt all secrets with SOPS, add Flux decryption support, rotate JWT_SECRET/AI_SERVICE_KEY
- Add .sops.yaml (age) and encrypt every plaintext Secret manifest in apps/
- Commit the Flux GitRepository/Kustomization (previously only applied manually)
  with a decryption stanza referencing the sops-age key (created out-of-band,
  not committed)
- Rotate JWT_SECRET (previously exposed in plaintext) and set a real
  AI_SERVICE_KEY (was an empty placeholder), shared between
  nxtgauge-backend-rust and nxtgauge-ai-assistant
- Wire JWT_SECRET into the ai-assistant deployment (was missing entirely,
  causing every authenticated request to fail)
- Redact the leaked LiteLLM production master key from README/OPENCODE_CONNECT
  docs; move the litellm prod overlay off a plaintext secretGenerator onto an
  encrypted patch
2026-07-02 17:56:28 +05:30
Ashwin Kumar Sivakumar
8515bcd3fe Merge branch 'main' of https://github.com/Traceworks2023/nxtgauge-gitops
# Conflicts:
#	apps/nxtgauge-admin-solid/overlays/prod/release-patch.yaml
#	apps/nxtgauge-backend-rust/overlays/prod/backend-release-state.tsv
#	apps/nxtgauge-backend-rust/overlays/prod/release-patches.yaml
#	apps/nxtgauge-frontend-solid/overlays/prod/release-patch.yaml
2026-07-02 17:26:04 +05:30
github-actions[bot]
98a9b9fb56 chore(gitops): deploy ai-assistant@2e0b986e20fda5a7bce07b2d5699599c171f442d 2026-07-02 11:55:00 +00:00
github-actions[bot]
041e3fc68d chore(gitops): deploy ai-assistant@e33ed2192c3cf9172888a6b3d9e77a9cb52b2892 2026-07-02 01:24:15 +00:00
github-actions[bot]
cb07580e70 chore(gitops): deploy backend ugc-content-creators@508242727996f205121b6759170a78fcc2851b5d 2026-06-26 20:23:28 +00:00
github-actions[bot]
1c2eee9c80 chore(gitops): deploy backend cron@508242727996f205121b6759170a78fcc2851b5d 2026-06-26 20:21:50 +00:00
github-actions[bot]
5c9a225763 chore(gitops): deploy backend catering-services@508242727996f205121b6759170a78fcc2851b5d 2026-06-26 20:17:43 +00:00
github-actions[bot]
8120fe6691 chore(gitops): deploy backend social-media-managers@508242727996f205121b6759170a78fcc2851b5d 2026-06-26 20:17:08 +00:00
github-actions[bot]
c2c083c762 chore(gitops): deploy backend fitness-trainers@508242727996f205121b6759170a78fcc2851b5d 2026-06-26 20:16:46 +00:00
github-actions[bot]
172f69d3a5 chore(gitops): deploy backend graphic-designers@508242727996f205121b6759170a78fcc2851b5d 2026-06-26 20:10:49 +00:00
github-actions[bot]
05e9e4e255 chore(gitops): deploy backend developers@508242727996f205121b6759170a78fcc2851b5d 2026-06-26 20:09:16 +00:00
github-actions[bot]
fd6466cea3 chore(gitops): deploy backend video-editors@508242727996f205121b6759170a78fcc2851b5d 2026-06-26 20:09:07 +00:00
github-actions[bot]
515f14eaa8 chore(gitops): deploy backend tutors@508242727996f205121b6759170a78fcc2851b5d 2026-06-26 20:04:02 +00:00
github-actions[bot]
834f3cdc78 chore(gitops): deploy backend cron@cd3fbfe7caaea42a438fea484eafcd1d85d16f17 2026-06-26 20:01:37 +00:00