Инициализация данных
Если вы развертываете Casdoor вместе с другими сервисами как полноценное приложение, вы можете предоставить пользователям функцию «из коробки». Это означает, что пользователи могут напрямую использовать приложение без какой-либо настройки.
В такой ситуации вы можете использовать инициализацию данных для регистрации вашего сервиса в Casdoor через файл конфигурации. Этот файл может быть предопределенным или динамически сгенерированным вашим собственным сервисом.
Здесь мы предоставляем учебник по импорту или экспорту конфигурационных данных.
Импорт конфигурационных данных
Если в корневом каталоге Casdoor есть файл конфигурации с именем init_data.json
, он будет использоваться для инициализации данных в Casdoor. Все, что вам нужно сделать, это поместить этот файл в корневой каталог, где будет работать Casdoor.
Если вы используете официальный образ Docker для Casdoor, вот некоторые скрипты, которые могут помочь вам смонтировать init_data.json
в контейнер.
Шаблон для init_data.json
предоставлен по адресу: init_data.json.template. Переименуйте его в init_data.json
перед использованием.
Для Docker
Если вы развертываете Casdoor с помощью Docker, вы можете использовать команду volume
для монтирования init_data.json
в контейнер.
docker run ... -v /path/to/init_data.json:/init_data.json
Для Kubernetes
Если вы развертываете Casdoor с помощью Kubernetes, вы можете использовать configmap
для хранения init_data.json
.
apiVersion: v1
kind: ConfigMap
metadata:
name: casdoor-init-data
data:
init_data.json:
Вы можете смонтировать данные в pods
Casdoor, смонтировав configmap
. Вы можете изменить ваш 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 в файл для миграции данных. Go тест с именем TestDumpToFile()
предоставлен по адресу: 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 |
ldap | struct | doc |
модели | struct | |
разрешения | struct | документация |
платежи | struct | документация |
продукты | struct | документация |
ресурсы | struct | документация |
роли | struct | документация |
синхронизаторы | struct | документация |
токены | struct | документация |
вебхуки | struct | документация |
группы | struct | документация |
адаптеры | struct | документация |
принудители | struct | |
планы | struct | документация |
ценообразование | struct | документация |
приглашения | struct | документация |
записи | struct | |
сессии | struct | |
подписки | struct | документация |
транзакции | struct |
Если вы все еще чувствуете себя сбитым с толку при заполнении этого шаблона, вы можете вызвать RESTful API или использовать режим отладки вашего браузера, чтобы увидеть ответ GetXXX
на эти объекты. Ответы представлены в том же формате, что и init_data.json
.