Simple application to demonstrate server sent events using Spring Boot.
DOCKER_USER DOCKER_PASSWORD
make local-setup
make local-app
- Github
- AWS Param Store
- AWS KMS - Encryption keys
- AWS Secret manager: Database keys
(Alternative centralized Spring Config Server (git branch support), Vault for secured keys]
- Github Action (format, build, sonarqube static code analysis, test, test coverage, create image, push image to registry)
- Jfrog artifact code repository (Dependency repository with vulnerability check) (exploring)
- AWS ECR - Image Repository
- Prisma Cloud - Image Scan (exploring)
- AWS Cloudformation (IaC)
- AWS Codepipeline (Env - DEV, QA, Pre-Prod, Prod (full auto on approval in pre prod )) (Stages - Source (AutoTrigger on commit), setup infra, test, deploy, approve for next env (Manual))
- Route 53
- AWS Cloudfront
- AWS S3
- AWS API Gateway (Routing, Rate Limiting)
- OAuth2 Google with Role in IAM service for eahc email. (RBAC Keycloak when allowing self registration)
- AWS Lambda Authorizer
- VPC with private Subnet
- VPC Link (connect AWS Api Gateway to ELB (on VPC with private subnet))
- AWS ELB (ALB) - Round Robin
- AWS ECS (Auto Scaling on CPU (AWS Cloudwatch Alarm on CPU Metric)) (Alternative Kubernetes with Horizontal Pod Autoscaling (not clear on metrics collection in kubernetes))
- Java
- Spring Boot
- Hystrix
- Eventuate (exploring)
- DynamoDB Stream
- Kinesis (Dynamo event stream persisted here for more than 24 hours)
- AWS Lambda (Consumer)
- SNS
- JaCoCo - Code Coverage
- Mockito
- Junit
- Docker Compose
- Sonarqube
- AWS Security group
- AWS Elasticache (Redis)
- Postgres (AWS RDS (Multi AZ with Read Replica), RDS Proxy(ConnectionPool)) - Driver, Driver Onboard, Document, Order, OrderProduct, IAM, UserProfile
- AWS DynamoDB - Blob, Background Verification, Shipment
- AWS SQS
- Rest API
- AWS SNS
- FlunetBit (Sidecar/Daemon Set in Kubernetes)
- AWS Cloudwatch Logs
- AWS Opensearch
- FlunetBit (Sidecar/Daemon Set in Kubernetes)
- AWS Cloudwatch Logs
- AWS Cloudwatch Metrics - Dashboard, Alarms
- Prometheus, InfluxDB (when needed)
- Sentry
- AWS Session Manager
- AWS Eventbridge
- eventbridge
- sns
- sqs
- Schema - AWS Glue
- job within service or aws emr
- S3
Istio (With kubernetes, exploring)