Skip to content

Conversation

@guymoyo
Copy link
Collaborator

@guymoyo guymoyo commented Oct 26, 2025

No description provided.

guymoyo and others added 3 commits October 26, 2025 16:36
Implements complete Docker containerization and CI/CD automation for all 4 frontend applications.

Dockerfiles Created (Multi-stage builds):
- Dockerfile.admin - Admin dashboard app
- Dockerfile.account-manager - Account management app
- Dockerfile.branch-manager - Branch operations app
- Dockerfile.cashier - Cashier transactions app

Build Strategy:
- Stage 1: Node 22 Alpine - Build React apps with pnpm
- Stage 2: Nginx Alpine - Serve static files
- Multi-architecture support (AMD64 + ARM64)
- Health check endpoints included
- Optimized layer caching

GitHub Actions Workflows:
1. ci-frontend-apps.yml:
   - Linting (Biome)
   - Testing (Jest with coverage)
   - Build all 4 apps
   - Matrix strategy for parallel builds
   - Artifact uploads

2. publish-frontend-images.yml:
   - Build Docker images for all apps
   - Push to GitHub Container Registry (GHCR)
   - Tag strategy: develop, main, commit SHA
   - Matrix build for 4 apps in parallel
   - Automatic on develop/main pushes
   - Manual trigger support

Image Registry:
- ghcr.io/adorsys-gis/fineract-admin-app
- ghcr.io/adorsys-gis/fineract-account-manager-app
- ghcr.io/adorsys-gis/fineract-branch-manager-app
- ghcr.io/adorsys-gis/fineract-cashier-app

Integration:
- Works with fineract-gitops repository
- Images deployed via ArgoCD
- OIDC authentication via Apache Gateway
- Runtime environment injection via ConfigMaps

Next Steps:
- Configure GITOPS_PAT secret (if GitOps automation needed)
- Push to trigger CI/CD pipeline
- Monitor image builds in GitHub Actions
- Deploy via ArgoCD from GitOps repo

Technical Stack:
- React 19 + Vite + TypeScript
- TanStack Router
- Tailwind CSS
- pnpm workspace monorepo
- Nginx for production serving

🤖 Generated with Claude Code
This commit adds the frontend UI components for password reset and user
status management that integrates with the User Sync Service.

Frontend Changes (Admin App):
- Created PasswordResetModal component with professional UI design
  * Confirmation dialog with user info display
  * Loading states and error handling
  * 24-hour expiry notice for reset links

- Created User Sync API client (services/userSyncApi.ts)
  * resetUserPassword() - Triggers password reset email
  * updateUserStatus() - Enable/disable user in Keycloak
  * forcePasswordChange() - Force password change on next login
  * getUserKeycloakStatus() - Get user's Keycloak sync status
  * All functions use fetch API with credentials: 'include' for OIDC

- Updated user detail page (routes/users/$userId/index.tsx)
  * Added "Reset Password" button in header
  * Integrated PasswordResetModal component
  * Enhanced activate/deactivate to sync with Keycloak
  * Added handlePasswordReset() function
  * Professional error handling and toast notifications

User Experience:
- Admins can trigger password reset with one click
- User receives secure email with 24-hour expiry link
- Status changes (activate/deactivate) sync automatically to Keycloak
- Clear success/error feedback via toast notifications

Security:
- All API calls use OIDC session cookies (credentials: include)
- Backend enforces Super user role requirement
- Frontend gracefully handles Keycloak sync failures

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Add complete documentation for CI/CD pipeline setup, configuration, and usage.

Documentation Added:
- docs/CI-CD-SETUP.md - Complete CI/CD setup guide with troubleshooting
  * Overview of all workflows and their triggers
  * Required secrets and variables configuration
  * Step-by-step setup instructions
  * Detailed workflow explanations
  * Docker image management
  * GitOps integration guide
  * Common troubleshooting scenarios

- docs/QUICK-START-CI-CD.md - Quick reference guide
  * 5-minute setup checklist
  * Required secrets summary
  * Quick test commands
  * Image tagging reference
  * Common commands

- docs/README.md - Documentation index
  * Architecture overview
  * Technology stack
  * Project structure
  * Getting started guides

- README.md - Updated main README
  * Added links to CI/CD documentation
  * Improved project description
  * Added applications table with roles
  * Updated tech stack section
  * Added Docker and deployment sections

Features Documented:
✅ GitHub Actions workflows (CI and Docker publish)
✅ Required secrets and variables (GITHUB_TOKEN auto-provided)
✅ Docker image building and publishing to GHCR
✅ Image tagging strategy (branch, SHA)
✅ GitOps integration (manual process documented)
✅ Troubleshooting common issues
✅ Best practices for developers and DevOps

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@guymoyo guymoyo requested a review from NkwaTambe October 27, 2025 09:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant