# Kubeflow 배포

## 배포 절차
### 1) 변수 수정
- 대상 파일
``` 
- common/oauth2-proxy/overlays/m2m-keycloak/m2m.env
- common/oauth2-proxy/overlays/m2m-keycloak/patch-oauth2-proxy-config.yaml
- common/oauth2-proxy/overlays/m2m-keycloak/secrets.env
- dip/kubeflow-core/ingress.yaml
- dip/applicationset/kubeflow-applicationset.yaml
```
- 변수 예시
``` yaml
HOST='kubeflow.example.org'
DOMAIN='example.org'
OIDC_ISSUER_URL='https://keycloak.example.org/realms/paasup'
OIDC_JWKS_URL='http://kubeflow.platform.svc.cluster.local/realms/paasup/protocol/openid-connect/certs' 
REDIRECT_URL='https://kubeflow.example.org/oauth2/callback'
CLIENT_ID='kubeflow'
CLIENT_SECRET='NOARm1WehZbWIHt9Aheau9kDrefBrZy8'
COOKIE_SECRET='094f9651100c4ee4a3a7337e405d8650'
GIT_REPO_URL=https://gitea.example.org/dip/tenant-catalog
TAG=kubeflow/1.10.0
```

- 수정 위치
```
# 변수 처리된 파일에 값 수정
## 1. dip/kubeflow-core/ingress.yaml
## 파일 내 $HOST 수정 

## 2. dip/kubeflow-dependencies/knative-serving/patches/config-domain.yaml
## $DOMAIN 수정

## 3. common/oauth2-proxy/overlays/m2m-keycloak/m2m.env
## $OIDC_ISSUER_URL와 $OIDC_JWKS_URL 수정

## 4. common/oauth2-proxy/overlays/m2m-keycloak/patch-oauth2-proxy-config.yaml
## $OIDC_ISSUER_URL와 $REDIRECT_URL 수정

## 5. common/oauth2-proxy/overlays/m2m-keycloak/secrets.env
## $CLIENT_ID / $CLIENT-SECRET / $COOKIE-SECRET 수정

## 6. dip/applicationset/kubeflow-applicationset.yaml
## $GIT_REPO_URL / $TAG 수정
```


### 2. 배포 방법
- 배포 전 검토 사항
  - keycloak 내 oicd 설정 확인
  - gitea repogitory 구성 확인
  - argocd 배포 확인
  - argocd 내 repository 등록 확인
- 배포 
``` sh
kubectl apply -f dip/applicationset/kubeflow-applicationset.yaml
```