# Lakekeeper 버전 갱신 가이드

## 1. git 작업 환경 구성

- DIP 카탈로그 git 다운로드
```
$ git clone https://github.com/paasup/dip-catalog.git
```

- 작업 브랜치로 체크아웃
```
$ git checkout -b update-lakekeeper/0.11.0
```

## 2. helm chart 업데이트

### 1) 차트 버전 변경

- BUILD-README.md, CUSTOM-README.md, custom-values.yaml을 제외한 파일 삭제
  ``` sh
  # chart 디렉토리로 이동
  cd ~/dip-catalog/charts/lakekeeper
  
  # 파일 삭제 전 삭제할 파일 목록 확인
  find . -mindepth 1 \( -name "CUSTOM-README.md" -o -name "BUILD-README.md" -o -name "custom-values.yaml" \) -prune -o -print
  
  # 파일 삭제
  find . -mindepth 1 \( -name "CUSTOM-README.md" -o -name "BUILD-README.md" -o -name "custom-values.yaml" \) -prune -o -exec rm -rf {} +
  ```

- lakekeeper 차트 다운로드
  ``` sh
  # charts 디렉토리로 이동
  cd ~/dip-catalog/charts
  
  # helm repo 추가
  helm repo add lakekeeper https://lakekeeper.github.io/lakekeeper-charts/
  helm repo update
  
  # helm 차트 다운로드
  helm pull lakekeeper/lakekeeper --version="0.11.0"
  
  # 차트 변경
  tar xzvf lakekeeper-*.tgz
  
  # 필요 없는 파일 삭제
  rm lakekeeper-*.tgz
  ```

### 2) 차트 수정 사항 반영

- Lakekeeper 차트는 기본적으로 별도의 수정 사항 없이 사용 가능합니다.

## 3. git push 및 tag 추가

- 갱신작업 진행후 commit
```
$ git add .
$ git commit -m "update lakekeeper/0.11.0"
```

- main 브랜치에 체크아웃 후 merge
```
$ git checkout main
$ git merge update-lakekeeper/0.11.0
```

- git에 push 후 작업 브랜치 삭제
```
$ git push -u origin main
$ git branch -d update-lakekeeper/0.11.0
```

- git tag 추가 후 push
```
$ git tag lakekeeper/0.11.0
$ git push origin lakekeeper/0.11.0
```

## 4. 차트 버전 정보

- lakekeeper/0.11.0
  - Lakekeeper v0.12.2 기반
  - Rust 네이티브 Apache Iceberg REST Catalog
  - OpenFGA 기반 세밀한 권한 제어 지원
  - OIDC 인증 지원 (Keycloak 등)
  - Kubernetes 서비스 계정 인증 지원
  - 다중 데이터베이스 백엔드 지원 (PostgreSQL)
  - 내장 PostgreSQL 및 OpenFGA 서브차트 포함
  - Prometheus 메트릭 지원
  - 고가용성 및 수평 확장 지원
  - 서비스 배포를 위하여 custom-values.yaml에 정의
  - 차트의 빌드 방법과 배포 방법을 BUILD-README.md, CUSTOM-README.md 문서에 작성


### 의존성
- PostgreSQL (groundhog2k/postgres v1.5.13)
- OpenFGA (openfga/openfga v0.2.62)