Inicialización de Datos
Si estás desplegando Casdoor con otros servicios como una aplicación completa, es posible que quieras proporcionar una característica listo para usar para los usuarios. Esto significa que los usuarios pueden usar directamente la aplicación sin ninguna configuración.
En tal situación, puedes usar la inicialización de datos para registrar tu servicio en Casdoor a través de un archivo de configuración. Este archivo puede ser predefinido o generado dinámicamente por tu propio servicio.
Aquí damos un tutorial para importar o exportar datos de configuración.
Importar Datos de Configuración
Si hay un archivo de configuración llamado init_data.json
en el directorio raíz de Casdoor, se utilizará para inicializar los datos en Casdoor. Todo lo que tienes que hacer es colocar este archivo en el directorio raíz donde Casdoor se ejecutará.
Si estás utilizando la imagen oficial de Docker de Casdoor, aquí hay algunos scripts que pueden ayudarte a montar init_data.json
en el contenedor.
Una plantilla para init_data.json
se proporciona en: init_data.json.template. Renómbralo a init_data.json
antes de usarlo.
Para Docker
Si despliegas Casdoor con Docker, puedes usar el comando volume
para montar init_data.json
en el contenedor.
docker run ... -v /path/to/init_data.json:/init_data.json
Para Kubernetes
Si despliegas Casdoor con Kubernetes, puedes usar el configmap
para almacenar init_data.json
.
apiVersion: v1
kind: ConfigMap
metadata:
name: casdoor-init-data
data:
init_data.json:
Puedes montar los datos en los pods
de Casdoor montando el configmap
. Puedes modificar tu deployment
de la siguiente manera:
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
Exportar Datos de Configuración
También puedes exportar todos los datos de configuración de Casdoor a un archivo para la migración de datos. Una prueba de Go llamada TestDumpToFile()
se proporciona en: init_data_dump_test.go
go test ./object -v -run TestDumpToFile
Después de ejecutar esta prueba de Go, se generará un archivo llamado init_data_dump.json
en el mismo directorio. Este archivo contiene todos tus datos de configuración de Casdoor. Si quieres migrar los datos a otra instancia de Casdoor, simplemente renombra init_data_dump.json
a init_data.json
y muévelo al directorio raíz de la carpeta de Casdoor objetivo.
Referencias
Todos los objetos de Casdoor soportados por la inicialización de datos son los siguientes:
Objeto | Estructura de Go | Documentación |
---|---|---|
organizaciones | struct | doc |
aplicaciones | struct | doc |
usuarios | struct | doc |
certificados | struct | |
proveedores | struct | doc |
ldaps | struct | doc |
modelos | estructura | |
permisos | estructura | doc |
pagos | estructura | doc |
productos | estructura | doc |
recursos | estructura | doc |
roles | estructura | doc |
sincronizadores | estructura | doc |
tokens | estructura | doc |
webhooks | estructura | doc |
grupos | estructura | doc |
adaptadores | estructura | doc |
aplicadores | estructura | |
planes | estructura | doc |
precios | estructura | doc |
invitaciones | estructura | doc |
registros | estructura | |
sesiones | estructura | |
suscripciones | estructura | doc |
transacciones | estructura |
Si todavía te sientes confundido sobre cómo llenar esta plantilla, puedes llamar a la API RESTful o usar el modo de depuración de tu navegador para ver la respuesta de GetXXX
a estos objetos. Las respuestas están en el mismo formato que init_data.json
.