# flink-sql-gateway 버전 갱신 가이드 ## 1. git 작업 환경 구성 - DIP 카탈로그 git 다운로드 ``` $ git clone https://github.com/paasup/dip-catalog.git ``` - 작업 브랜치로 체크아웃 ``` $ git checkout -b update-flink-sql-gateway/0.1.0 ``` ## 2. helm 차트 개발 및 업데이트 - 현재 flink-sql-gateway 차트는 직접 작성하여 업데이트 중입니다. - 기존 오픈소스 차트를 기반으로 하지 않고, 프로젝트 요구사항에 맞게 커스텀 개발하고 있습니다. ### 2.1 차트 구조 ``` flink-sql-gateway/0.1.0/ ├── Chart.yaml # 차트 메타데이터 ├── values.yaml # 기본 설정값 ├── custom-values.yaml # 커스텀 설정값 ├── BUILD-README.md # 빌드 가이드 (본 파일) ├── CUSTOM-README.md # 배포 가이드 ├── deployment.md # 상세 배포 문서 └── templates/ ├── _helpers.tpl # 헬퍼 템플릿 ├── configmaps.yaml # 설정 맵 ├── flink-session-cluster.yaml # Flink 클러스터 ├── flink-sql-gateway.yaml # SQL Gateway ├── rbac.yaml # 권한 설정 ├── services.yaml # 서비스 정의 └── sql-client.yaml # SQL 클라이언트 ``` ### 2.2 개발 중인 주요 기능 - Apache Flink SQL Gateway 배포 - Flink Session Cluster 통합 - 외부 Python 클라이언트 접근 최적화 - SSL/TLS 인증서 지원 - Kafka 연동 설정 - MinIO/S3 스토리지 연동 ## 3. git push 및 tag 추가 - 갱신작업 진행후 commit ```sh $ git add . $ git commit -m "update flink-sql-gateway/0.1.0" ``` - main 브랜치에 체크아웃 후 merge ```sh $ git checkout main $ git merge update-flink-sql-gateway/0.1.0 ``` - git에 push 후 작업 브랜치 삭제 ```sh $ git push -u origin main $ git branch -d update-flink-sql-gateway/0.1.0 ``` - git tag 추가 후 push ```sh $ git tag flink-sql-gateway/0.1.0 $ git push origin flink-sql-gateway/0.1.0 ``` ## 4. 차트 버전 정보 - flink-sql-gateway/0.1.0 - Apache Flink SQL Gateway 2.0.1 기반 - 외부 Python 클라이언트 접근에 최적화된 구성 - SSL/TLS 인증서 및 Truststore 지원 - Kafka, MinIO 연동 설정 포함 - 서비스 배포를 위하여 custom-values.yaml에 정의하였다. - 차트의 빌드 방법과 배포 방법을 BUILD-README.md, CUSTOM-README.md 문서에 작성하였다. ## 5. 개발 참고사항 ### 5.1 커스텀 이미지 - 기본 이미지: `paasup/flink-sql:2.0.1` - Kafka 커넥터 및 SSL 인증서 지원 포함 ### 5.2 주요 의존성 - Flink Kubernetes Operator 필요 - Kubernetes 1.20+ 권장 - Helm 3.x 필요 ### 5.3 보안 설정 - Truststore 기반 SSL/TLS 인증서 관리 - Kubernetes Secret을 통한 인증서 배포 - 환경 변수를 통한 보안 정보 주입 ## 참고) 관련 문서 - [Flink SQL Gateway 공식 문서](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/dev/table/sql-gateway/)