Update CUSTOM-README.md for deploying Gitea with the PostgreSQL subchart enabled.

This commit is contained in:
wbsong111
2024-12-12 16:54:27 +09:00
parent 179a45c88c
commit e10598dd7f
+52 -10
View File
@@ -2,12 +2,15 @@
# Gitea 배포
## 1. 배포 전 사전 필요 사항
- ingress 배포를 위해서는 인증서가 secret으로 배포되어있어야 한다.
- gitea가 배포될 **네임스페이스**에 postgresql이 배포되어 있어야 한다.
1. 클러스터 배포 시
- gitea가 배포될 **네임스페이스**에 postgresql이 배포되어 있어야 한다.
- SSO 연동을 위해서는gitea가 배포될 **네임스페이스**에 keycloak 인증서가 secret으로 존재해야 한다.
2. 테넌트 배포시
- SSO 연동을 위해서는 gitea가 배포될 **네임스페이스**에 keycloak 인증서가 secret으로 존재해야 한다.
## 2.custom-values.yaml 설명
## 2. custom-values.yaml 설명
- custom-values.yaml에 정의된 값에 대한 설명이다.
@@ -59,6 +62,8 @@
## 3. Ingress 설정
@@ -124,9 +129,12 @@ ingress:
secretName: gitea-tls-secret
```
## 4. lifecycleHook을 이용한 Keycloak SSO 연동
- keycloak 대상의 SSO 연동 설정 시 아래 설정을 `custom-values.yaml`에 작성한다.
## 4. Keycloak SSO 연동
- keycloak 대상의 SSO 연동 설정 시 아래 설정을 `custom-values.yaml` 또는 `argo-values.yaml`에 추가한다.
- keycloak이 사설 인증서를 사용할 시 keycloak의 ca.crt를 secret으로 배포하고 아래와 같이 pod에 마운트한다.
- `KEYCLOAK_URL`에 있는 정보를 keyclok에서 사용하는 도메인으로 수정이 필요하다.
- `REALM`에 있는 정보를 keycloak에서 사용할 realm으로 수정이 필요하다..
- `KEYCLOAK_CLIENT_ID`에 있는 정보를 kecloak의 client id로 수정이 필요하다.
@@ -137,14 +145,15 @@ ingress:
extraVolumes:
- name: gitea-tls
secret:
## 직접 생성
## 직접 생성하거니 같은 인증서를 사용할 때
secretName: platform
## cert-manganager 사용시
# secretName: gitea-tls-secret
# secretName: keycloak-tls-secret
extraContainerVolumeMounts:
- name: gitea-tls
mountPath: /data/gitea/https
mountPath: /etc/ssl/certs/ca.crt
subPath: ca.crt
lifecycleHooks:
postStart:
@@ -154,8 +163,6 @@ lifecycleHooks:
- "-c"
- |
/bin/bash <<'EOF' > /tmp/post_start.log
cp /data/gitea/https/tls.crt /usr/local/share/ca-certificates/ # 사설 인증서 사용시에만 추가
update-ca-certificates # 사설 인증서 사용시에만 추가
su git
OAUTH_NAME='keycloak'
AUTH_ID=$(gitea admin auth list --vertical-bars | grep -E "\|${OAUTH_NAME}\s+\|" | grep -iE '\|OAuth2\s+\|' | awk -F " " "{print \$1}")
@@ -174,3 +181,38 @@ lifecycleHooks:
fi
EOF
```
## 5. 테넌트 배포
- 테넌트 배포를 위하여 차트에 포함된 postgresql를 포함하여 배포하기 위한 설정이다.
- 전체 내용은 argo-values.yaml 참조한다.
``` yaml
gitea:
admin:
username: sudouser
password: password
email: "sudouser@cro.com"
config:
APP_NAME: paasup git
RUN_MODE: prod
server:
ROOT_URL: https://gitea.example.org
service:
DEFAULT_ALLOW_CREATE_ORGANIZATION: true
repository:
DEFAULT_BRANCH: master
postgresql:
enabled: true
global:
postgresql:
postgresqlDatabase: gitea # 데이터베이스 이름 설정
postgresqlUsername: gitea # 데이터베이스 사용자 이름 설정
postgresqlPassword: gitea # 데이터베이스 사용자 비밀번호 설정
persistence:
size: 5Gi
# storageClass: "" # 생성할 볼륨의 storageClass를 설정한다.
```