> ## Documentation Index
> Fetch the complete documentation index at: https://docs.casebender.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenShift에 배포

> restricted-v2 오버레이로 Red Hat OpenShift 4.x에 CaseBender를 배포합니다

<Warning>
  이 설치 프로필은 Red Hat 인증이 아니며 모든 OpenShift 마이너 버전의 인증
  절차도 아닙니다. OpenShift가 아니면
  [온프레미스 Compose 가이드](/ko/quickstart)를 사용하세요.
</Warning>

<Info>
  ODF/Ceph 스토리지:
  [OpenShift ODF 및 Ceph RGW 스토리지](/ko/deployment/storage-openshift-odf-rgw).
  전체 절차(영어): [Deploy to OpenShift](/en/deployment/openshift).
</Info>

## 개요

**OpenShift 4.x**에서는 `k8s/overlays/openshift`(Kustomize)를 사용합니다.
**`restricted-v2` SCC**용입니다(임의 비-root UID, 권한 상승 없음,
`RuntimeDefault` seccomp, 읽기 전용 루트). `k8s/base`를 직접 apply하지
마세요. Ingress는 **Route**로 바뀌고 플레이스홀더 Secret은 렌더되지 않습니다.

워크로드: `webapp`, `api`, `ingestion`, `worker`, `workflow-processor`,
`connector-worker`, `misp-processor`, `search-sync`. PostgreSQL과 Redis는
**외부**입니다.

## 사전 요구 사항

OpenShift 4.x, `oc`/`kubectl`, TLS PostgreSQL 14+ 및 Redis, Route DNS,
**digest**로 고정한 CaseBender 이미지, 시크릿 메커니즘. 렌더 결과에는 Secret
객체가 없습니다.

## 단계

1. `oc login` 및 `restricted-v2` 확인.
2. 스토리지: RWX PVC(`k8s/overlays/openshift`) 또는 ODF
   (`k8s/overlays/openshift-odf-rgw`). CaseBender는 버킷을 만들지 않습니다.
   프로덕션에는 **clamd**가 필요합니다.
3. 오버레이 복사: 이미지 digest, Route 호스트, StorageClass, NetworkPolicy
   CIDR(프로덕션에서 `0.0.0.0/0` 사용 금지).
4. 첫 롤아웃 **전에** `casebender-secrets` 생성
   (`external-resources.example.yaml`). `AUDIT_INTEGRITY_SECRET` 유지.
5. 렌더, 검증, 적용:

```bash theme={null}
kubectl kustomize k8s/overlays/openshift \
  > /tmp/casebender-openshift.yaml
./scripts/openshift/validate.sh /tmp/casebender-openshift.yaml
oc apply --server-side --dry-run=server -f /tmp/casebender-openshift.yaml
oc apply --server-side -f /tmp/casebender-openshift.yaml
oc -n casebender rollout status deployment --timeout=10m
```

6. Pod, HTTPS Route, SCC, 헬스(`/api/health/live`, `/api/health/ready`) 확인.

연결 끊긴 레지스트리, 프록시, CA: [Deploy to OpenShift](/en/deployment/openshift).
