데이터 초기화
Casdoor을 완전한 응용 프로그램으로 다른 서비스와 함께 배포하는 경우, 사용자에게 박스 밖 기능을 제공하려고 할 수 있습니다. 이는 사용자가 어떤 설정 없이 직접 응용 프로그램을 사용할 수 있다는 것을 의미합니다.
이런 상황에서는 데이터 초기화를 사용하여 설정 파일을 통해 Casdoor에 서비스를 등록할 수 있습니다. 이 파일은 미리 정의되거나 귀하의 서비스에 의해 동적으로 생성될 수 있습니다.
여기에서는 구성 데이터를 가져오거나 내보내는 방법에 대한 튜토리얼을 제공합니다.
구성 데이터 가져오기
Casdoor의 루트 디렉토리에 init_data.json
이라는 이름의 설정 파일이 있으면 Casdoor에서 데이터를 초기화하는 데 사용됩니다. Casdoor가 실행될 루트 디렉토리에 이 파일을 놓는 것이 전부입니다.
Casdoor의 공식 Docker 이미지를 사용하는 경우, 컨테이너에 init_data.json
을 마운트하는 데 도움이 될 수 있는 스크립트가 있습니다.
init_data.json
에 대한 템플릿이 다음 위치에서 제공됩니다: init_data.json.template. 사용하기 전에 init_data.json
으로 이름을 바꾸십시오.
도커를 위해
Docker로 Casdoor를 배포하는 경우, volume
명령을 사용하여 컨테이너에 init_data.json
을 마운트할 수 있습니다.
docker run ... -v /path/to/init_data.json:/init_data.json
쿠버네티스를 위해
Kubernetes로 Casdoor를 배포하는 경우, configmap
을 사용하여 init_data.json
을 저장할 수 있습니다.
apiVersion: v1
kind: ConfigMap
metadata:
name: casdoor-init-data
data:
init_data.json:
configmap
을 마운트하여 Casdoor pods
에 데이터를 마운트할 수 있습니다. deployment
를 다음과 같이 수정할 수 있습니다:
apiVersion: apps/v1
kind: Deployment
...
spec:
template:
...
spec:
containers:
...
volumeMounts:
- mountPath: /init_data.json
name: casdoor-init-data-volume
subPath: init_data.json
volumes:
- configMap:
name: casdoor-init-data
name: casdoor-init-data-volume
구성 데이터 내보내기
또한 Casdoor 구성 데이터 전체를 파일로 내보내 데이터 마이그레이션을 할 수 있습니다. TestDumpToFile()
라는 Go 테스트가 다음 위치에서 제공됩니다: init_data_dump_test.go
go test ./object -v -run TestDumpToFile
이 Go 테스트를 실행한 후, init_data_dump.json
이라는 파일이 같은 디렉토리에 생성됩니다. 이 파일에는 Casdoor 구성 데이터 전체가 포함되어 있습니다. 다른 Casdoor 인스턴스로 데이터를 마이그레이션하려면, init_data_dump.json
을 init_data.json
으로 이름을 바꾸고 대상 Casdoor 폴더의 루트 디렉토리로 이동시키면 됩니다.
참조
데이터 초기화에 의해 지원되는 모든 Casdoor 객체는 다음과 같습니다:
객체 | Go 구조체 | 문서화 |
---|---|---|
조직 | struct | doc |
응용 프로그램 | struct | doc |
사용자 | struct | doc |
인증서 | struct | |
제공자 | struct | doc |
ldaps | struct | doc |
models | struct | |
permissions | struct | doc |
payments | struct | doc |
products | struct | doc |
resources | struct | doc |
roles | struct | doc |
syncers | struct | doc |
tokens | struct | doc |
webhooks | struct | doc |
groups | struct | doc |
adapters | struct | doc |
집행자들 | struct | |
계획들 | struct | doc |
가격 책정 | struct | doc |
초대장들 | struct | doc |
기록들 | struct | |
세션들 | struct | |
구독들 | struct | doc |
거래들 | struct |
이 템플릿을 작성하는 데 혼란스러움을 느낀다면, RESTful API를 호출하거나 브라우저의 디버그 모드를 사용하여 이러한 객체에 대한 GetXXX
의 응답을 확인할 수 있습니다. 응답은 init_data.json
과 동일한 형식입니다.