Commit graph

299 commits

Author SHA1 Message Date
Ashwin Kumar
1514451652 fix(ci): map registry login to dockerhub secrets 2026-04-10 23:30:01 +02:00
Ashwin Kumar
6842d8434e fix(ci): use docker cli build/push instead of buildx 2026-04-10 23:20:24 +02:00
Ashwin Kumar
a04a7e4ed4 fix(ci): normalize registry host and scoped repo settings 2026-04-10 23:13:23 +02:00
Ashwin Kumar
e56c099cae fix(ci): force http registry endpoint for buildx push 2026-04-10 22:43:03 +02:00
Ashwin Kumar
c24944920a fix(ci): push to scoped local registry with explicit login 2026-04-10 22:26:05 +02:00
Ashwin Kumar
0da084271e fix(ci): disable buildx cache to avoid https cache export 2026-04-10 22:08:03 +02:00
Ashwin Kumar
076d4d5a91 fix(ci): disable registry cache export/import for http registry 2026-04-10 22:05:50 +02:00
Ashwin Kumar
ffea038c13 fix(ci): use repo name with registry setting for insecure push 2026-04-10 21:58:02 +02:00
Ashwin Kumar
04a3087c7c chore(ci): revert to buildx plugin with local registry auth 2026-04-10 21:30:27 +02:00
Ashwin Kumar
33375eeeac fix(ci): configure kaniko auth for local registry 2026-04-10 21:18:27 +02:00
Ashwin Kumar
6f41a92dda fix(ci): switch to daemonless kaniko builds 2026-04-10 20:34:18 +02:00
Ashwin Kumar
9dd3449105 fix(ci): attach buildx to dind daemon 2026-04-10 20:28:33 +02:00
Ashwin Kumar
0d59e347f2 fix(ci): allow insecure local registry for buildx 2026-04-10 20:25:11 +02:00
Ashwin Kumar
7aeaeb18ab fix(ci): build single Rust service with workspace-safe Dockerfile 2026-04-10 20:19:53 +02:00
Ashwin Kumar
c237c417ef chore(ci): trigger woodpecker 2026-04-10 19:59:26 +02:00
Ashwin Kumar
a894c1be9c fix(woodpecker): remove detect-changes step - always build all services 2026-04-10 17:56:41 +02:00
Ashwin Kumar
08dde4f3e8 fix(woodpecker): handle shallow git clone for change detection 2026-04-10 17:42:53 +02:00
Ashwin Kumar
bce0f13f56 feat(woodpecker): use internal registry docker-registry.registry.svc.cluster.local:5000
- Update all woodpecker files to use internal registry

- Use Docker Hub credentials for base image pulls

- Add cache_from/cache_to for internal registry caching

- Remove GitHub Container Registry dependency
2026-04-10 17:39:26 +02:00
Ashwin Kumar
39107e4fa4 fix(woodpecker): use simple Dockerfile and reduce build complexity
- Replace complex caching with simple Dockerfile

- Remove cargo-chef complexity that was slowing builds

- Add .woodpecker-base.yml for separate base image builds

- Add Dockerfile.simple for faster builds

- Add Dockerfile.ultrafast for when base image exists
2026-04-10 12:56:28 +02:00
Ashwin Kumar
4f16b21b76 chore: trigger woodpecker build
Empty commit to re-trigger CI pipeline
2026-04-10 12:05:24 +02:00
Ashwin Kumar
c221173172 perf(build): ultra-fast builds with caching and optimized Dockerfiles
- Add Dockerfile.fast with cargo-chef and symbol stripping

- Add Dockerfile.superfast using pre-built base image

- Add Dockerfile.base for dependency caching

- Update Woodpecker with registry cache (cache_from/cache_to)

- Add fast-build.sh for local ultra-fast builds

- Add build-base-image.sh for one-time dependency build

- Enable BuildKit layer caching in CI
2026-04-10 05:43:34 +02:00
Ashwin Kumar
24021213b6 fix(woodpecker): remove deploy step - deployment handled externally
- Remove kubectl deploy step from woodpecker pipeline

- Keep only build-and-push step

- Deployment handled by ArgoCD or other GitOps tool
2026-04-10 05:34:44 +02:00
Ashwin Kumar
09a8b833a0 fix(woodpecker): use exit code 78 to skip builds instead of evaluate
- Replace evaluate when conditions with exit code 78

- Exit 78 in detect-changes step skips subsequent steps

- Woodpecker treats exit 78 as skip signal
2026-04-10 05:27:26 +02:00
Ashwin Kumar
14d820cf57 fix(woodpecker): fix secrets syntax - use environment with from_secret
- Replace deprecated secrets with environment + from_secret

- Fix when conditions structure

- Ensure proper schema validation
2026-04-10 05:24:30 +02:00
Ashwin Kumar
e39ed36fcc feat(woodpecker): update CI pipeline with change detection and selective builds
- Update .woodpecker.yml with change detection step

- Add optimized Dockerfile.optimized support

- Add deployment step to Kubernetes

- Add woodpecker-local-build.sh for local testing

- Only build and deploy services with code changes

- Skip unchanged services for faster pipelines
2026-04-10 05:17:56 +02:00
Ashwin Kumar
dbe1706a07 feat(deployment): add optimized build system for faster deployments
- Add Dockerfile.optimized with cargo-chef caching

- Add build-changed.sh script to build only modified services

- Add deploy-changed.sh script for selective deployment

- Add comprehensive deployment optimization guide

- Support independent service rollouts (no full redeploy needed)
2026-04-10 05:14:27 +02:00
Ashwin Kumar
e948dc7175 feat(smtp): add SMTP management APIs and test functionality
- Add GET /api/admin/email/smtp-config endpoint

- Add POST /api/admin/email/smtp-config endpoint

- Add POST /api/admin/email/smtp-test endpoint

- Add send_test_email method to Mailer

- Update SMTP management page with test functionality
2026-04-10 04:55:35 +02:00
Ashwin Kumar
b4f714f43f feat(emails): complete email system with 35 branded templates and full wiring
- Add 35 branded HTML email templates with Nxtgauge styling

- Create email template engine with base template system

- Add email management API for admin panel

- Wire email triggers from all services

- All services compile successfully
2026-04-10 04:49:39 +02:00
Ashwin Kumar
ff4e23d991 fix(payments): update axum router path syntax to v0.7 2026-04-10 03:09:16 +02:00
Ashwin Kumar
d46f455c03 fix: use unique ports 9100-9117 (avoids conflicts with BrowserOS on 9000/9103) 2026-04-09 22:18:30 +02:00
Ashwin Kumar
d151653ab1 chore: trigger rebuild 2026-04-09 21:51:17 +02:00
Ashwin Kumar
4fbc8d8b1f chore: trigger CI rebuild 2026-04-09 13:51:11 +02:00
Ashwin Kumar
73d167c333 fix: add OpenSSL static linking for musl builds
Added openssl-libs-static and OPENSSL_STATIC=1 environment variable
to fix reqwest/native-tls compilation errors with musl target.

Changes:
- Install openssl-libs-static in builder
- Set OPENSSL_STATIC=1 and OPENSSL_DIR=/usr
- Ensures OpenSSL is statically linked for all services
2026-04-09 11:59:57 +02:00
Ashwin Kumar
5b4e8fe908 refactor: use Alpine Linux with static musl binaries for all services
Switched from Debian to Alpine Linux for significant improvements:
- Image size: ~5MB vs ~100MB (95% smaller)
- Security: Minimal attack surface, no glibc vulnerabilities
- Static linking: No glibc version issues ever again
- Uses rust:alpine builder with x86_64-unknown-linux-musl target
- Static binaries with RUSTFLAGS='-C target-feature=+crt-static'

Fixes the GLIBC_2.38 error permanently by avoiding glibc entirely.
2026-04-09 11:51:57 +02:00
Ashwin Kumar
219960399b fix: update Dockerfiles to use debian:trixie-slim for glibc 2.38+ compatibility
Fixed glibc version mismatch between rust:latest builder (glibc 2.38+)
and debian:bookworm-slim runtime (glibc 2.36). This was causing:
- ./companies: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.38 not found
- ./payments: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.38 not found
- Similar errors for users service

Updated all 19 service Dockerfiles + Dockerfile.template to use
debian:trixie-slim which includes glibc 2.38+.
2026-04-09 11:48:46 +02:00
Ashwin Kumar
3e557e54e8 fix: convert all remaining SQLx macros in handlers to runtime API 2026-04-09 08:11:26 +02:00
Ashwin Kumar
83c62a1c5e fix: convert all SQLx macros to runtime API, remove SQLX_OFFLINE requirement 2026-04-09 07:40:15 +02:00
Ashwin Kumar
58eff5ce63 fix: regenerate SQLx cache and fix type annotation errors in offline mode 2026-04-09 07:01:31 +02:00
Ashwin Kumar
466b972e9f ci: trigger pipeline 2026-04-09 06:34:19 +02:00
Ashwin Kumar
1d3d07f001 fix: add Docker Hub login + switch runtime to AWS ECR Public to avoid rate limits 2026-04-09 06:26:01 +02:00
Ashwin Kumar
085b3169f6 fix: limit CARGO_BUILD_JOBS=2 to reduce OOM during parallel matrix builds 2026-04-09 05:55:50 +02:00
Ashwin Kumar
329f650079 fix: add SQLx offline cache and SQLX_OFFLINE=true for Docker builds 2026-04-09 05:46:32 +02:00
Ashwin Kumar
a2fa6cfbb9 fix: use rust:latest image tag (1.88 tag does not exist yet) 2026-04-09 05:34:07 +02:00
Ashwin Kumar
594086bdb0 fix: remove invalid build.rustdoc key from cargo config 2026-04-09 04:50:08 +02:00
Ashwin Kumar
1ffb489266 ci: trigger pipeline 2026-04-09 03:09:41 +02:00
Ashwin Kumar
a6ebbeb3f9 ci: trigger pipeline 2026-04-09 03:00:18 +02:00
Ashwin Kumar
e16d28a405 fix: track Cargo.lock (required for reproducible Docker builds) 2026-04-09 02:09:11 +02:00
Ashwin Kumar
3318a0aec1 fix: bump Rust to 1.88 to satisfy dependency toolchain requirements 2026-04-09 01:49:34 +02:00
Ashwin Kumar
0a067bcb7b fix: add libssl-dev and Cargo.lock to all service Dockerfiles 2026-04-09 01:43:28 +02:00
Ashwin Kumar
4b4a45f90d fix: bump Rust to 1.85 to support required dependency features 2026-04-09 01:23:44 +02:00