Skip to content

[LP-495] Runtime version updates and resource optimization for all templates#9

Merged
yessjun merged 4 commits intomainfrom
feat/LP-495-runtime-version-updates
Nov 15, 2025
Merged

[LP-495] Runtime version updates and resource optimization for all templates#9
yessjun merged 4 commits intomainfrom
feat/LP-495-runtime-version-updates

Conversation

@yessjun
Copy link
Contributor

@yessjun yessjun commented Nov 15, 2025

Summary

  • 모든 템플릿의 런타임 버전을 최신 LTS/Stable 버전으로 업데이트
  • 템플릿별 리소스 최소 요구량 최적화
  • MySQL/MongoDB 템플릿 안전성 및 UX 개선

Changes

런타임 버전 업데이트

데이터베이스 템플릿

  • MongoDB: 8.0 버전 추가, 기본값 7.0→8.0 변경
  • MySQL: 9.1 버전 추가
  • PostgreSQL: 18 버전 추가, 기본값 16→17 변경
  • Redis: 8.0, 8.2 버전 추가, 기본값 7.2→8.0 변경

Python 템플릿 (Django, Flask, FastAPI)

  • Python 3.13, 3.14 추가
  • Python 3.9 제거 (EOL)
  • 기본값 3.11→3.12 변경

Node.js 템플릿 (Express, NestJS, Next.js, React, Vue.js)

  • Node.js 24 LTS 추가
  • 기본값 20→24 변경

Java 템플릿 (Spring Boot, Kotlin Spring Boot)

  • Java 11, 25 추가
  • 기본값 17 유지 (가장 안정적인 LTS)
  • Kotlin 템플릿에 Java 버전 설명 추가

리소스 최적화

프론트엔드

  • Static HTML: CPU 500→256, 최소 메모리 128→64

백엔드

  • Express.js: 기본 메모리 512→256, 최소 512→256
  • Flask: 기본 메모리 512→256, 최소 512→256
  • FastAPI: 최소 메모리 512→384
  • NestJS: 최소 메모리 512→384
  • Django: 최소 메모리 512→384

데이터베이스

  • PostgreSQL: 최소 메모리 512→384
  • MySQL: 최소 메모리 256→512 (MySQL 8.0 요구사항)
  • MongoDB: 최소 메모리 256→512 (WiredTiger 캐시)
  • Redis: 최소 메모리 128→256 (프로덕션 최소값)

MySQL/MongoDB 템플릿 개선

  • MySQL charset 옵션을 required→advanced 카테고리로 변경
  • charset 옵션 설명 추가
  • 선택적 app_username/app_password 처리 개선 (안전한 템플릿 렌더링)

Optimize minimum recommended memory based on real-world usage:

Frontend:
- Static HTML: CPU 500→256, min 128→64 (Nginx only)

Backend:
- Express.js: default 512→256, min 512→256 (lightweight)
- Flask: default 512→256, min 512→256 (most lightweight)
- FastAPI: min 512→384 (async optimized)
- NestJS: min 512→384 (TypeScript overhead)
- Django: min 512→384 (ORM + middleware)

Database:
- PostgreSQL: min 512→384 (efficient engine)
- MySQL: min 256→512 (MySQL 8.0 requires more)
- MongoDB: min 256→512 (WiredTiger cache needs)
- Redis: min 128→256 (production minimum)

All changes validated against official documentation and
production deployment data. Expected 25-50% cost reduction
for development environments while maintaining stability.

LP-495
Clarify that Kotlin runs on JVM and requires Java runtime version.
Users should manage Kotlin version in build.gradle.kts.
Update runtime versions to latest stable/LTS releases:

Database Templates:
- MongoDB: Add 8.0, change default 7.0→8.0
- MySQL: Add 9.1
- PostgreSQL: Add 18, change default 16→17
- Redis: Add 8.0, 8.2, change default 7.2→8.0

Python Templates (Django, Flask, FastAPI):
- Add Python 3.13, 3.14
- Remove Python 3.9 (EOL)
- Change default 3.11→3.12

Node.js Templates (Express, NestJS, Next.js, React, Vue.js):
- Add Node.js 24 LTS
- Change default 20→24

Java Templates (Spring Boot, Kotlin Spring Boot):
- Add Java 11, 25
- Keep default at 17 (most stable LTS)

LP-495
- Change MySQL charset from required to advanced category
- Add description for charset option
- Fix template rendering for optional app_username/app_password
  Use safe 'with' syntax to handle missing keys gracefully

Fixes build error: "map has no entry for key app_username"
Improves UX: users don't need to select charset every time
@yessjun yessjun merged commit 20428a8 into main Nov 15, 2025
1 check passed
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