CI/CD Pipeline / deploy (push) Failing after 31sDetails
CI/CD Pipeline / smoke-tests (push) Has been skippedDetails
CI/CD Pipeline / e2e-tests (push) Has been skippedDetails
CI/CD Pipeline / rollback (push) Has been skippedDetails
deploy.sh improvements:
- Updated namespace to 'academia'
- Added pull_code, run_tests, smoke_tests functions
- Smoke tests verify: health API, frontend, GraphQL, database
- Added rollback command
- Uses passwordless sudo
Workflow still configured but limited by runner memory.
Use deploy.sh directly on K3s server for reliable deployments.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Deploy to k3s / deploy (push) Failing after 25sDetails
- Rename images from academia-* to student-* for consistency
- Update DEPLOYMENT.md with latest deployment procedures
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Deploy to k3s / deploy (push) Failing after 27sDetails
- Single job instead of 3 (no artifact overhead)
- Build directly on k3s node (avoids image transfer)
- Parallel Docker builds with BuildKit
- Auto-create namespace if missing
- Automatic rollback on failure
- Health check via domain
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Build and Deploy to k3s / build-api (push) Failing after 32sDetails
Build and Deploy to k3s / build-frontend (push) Failing after 30sDetails
Build and Deploy to k3s / deploy (push) Has been skippedDetails
- Add linux-musl-x64 runtime identifier for Alpine builds
- Install ICU libs for SQL Server globalization support
- Fix nginx upstream to use k8s service name (student-api)
- Sync package-lock.json with package.json
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update Dockerfile.api to use dotnet/sdk:10.0-alpine
- Update runtime to aspnet:10.0-alpine
- Add deploy-k3s.sh script for manual deployments
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Increase memory limit from 1Gi to 1.5Gi
- Increase MSSQL_MEMORY_LIMIT_MB from 768 to 1024
- Increase liveness probe initialDelaySeconds to 120
- Increase failureThreshold to 5 for more tolerance
- Increase readiness probe timeouts
Fixes DEF-001: SQL Server was crashing with Exit Code 137 (OOMKilled)
due to insufficient memory allocation for SQL Server 2022 Express.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Docker:
- Multi-stage Dockerfile for API (.NET 10)
- Multi-stage Dockerfile for frontend (Angular + Nginx)
- docker-compose.yml with resource optimization
- Nginx reverse proxy configuration
- Health checks for all services
Kubernetes (k3s):
- Namespace and ConfigMap
- SQL Server StatefulSet with PVC
- API Deployment with HPA
- Frontend Deployment
- Services and Ingress
- Network policies for security
- Secrets management
Resource optimization:
- SQL Server Express with 1GB RAM limit
- API with 512MB limit
- Frontend with 128MB limit
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>