3 Commits

Author SHA1 Message Date
zhenyi 7b8d0714e7 feat(config): integrate etcd-based configuration management
- Add etcd-client dependency with TLS support
- Implement EtcdConfig struct for reading config values with priority: etcd > env > default
- Add ServiceRegistry for service discovery registration in etcd
- Create from_etcd method in AppConfig for loading SMTP configuration
- Update main.rs to use etcd-based config loading with fallback mechanism
- Add etcd module with client connection and key-value operations
- Modify Dockerfile to use cargo-chef for faster builds
- Add docker-compose.yaml for emailks service deployment
- Include AGENTS.md with development guidelines and best practices
- Add build.sh script for podman-based container building
- Update dependencies in Cargo.toml and Cargo.lock
2026-06-12 16:21:04 +08:00
zhenyi c4824ef261 feat(k8s): add Kubernetes Helm chart for emailks service
- Create Helm chart structure with Chart.yaml and values.yaml
- Add deployment template with container configuration and environment variables
- Implement service template for gRPC port exposure
- Add service account template with security configuration
- Include horizontal pod autoscaler template for scaling capabilities
- Add helper templates for naming and label management
- Configure SMTP settings as configurable parameters in values.yaml
- Set up resource limits and requests for container performance
- Implement liveness and readiness probes for health checks
- Add support for existing secrets and custom configurations
2026-06-07 22:59:06 +08:00
zhenyi d0852ad131 feat(build): add Docker support for emailks service
- Create multi-stage Dockerfile with builder and runtime stages
- Add .dockerignore to exclude unnecessary files and directories
- Configure builder stage with Rust toolchain and dependencies
- Set up runtime stage with minimal Debian base image
- Copy compiled binary from builder to runtime stage
- Expose port 50051 for gRPC service
- Add proper dependency caching for faster builds
- Include SSL certificates and required libraries in runtime
2026-06-07 22:48:06 +08:00