Inicialização de Dados
Se você está implantando o Casdoor com outros serviços como uma aplicação completa, você pode querer fornecer um recurso pronto para uso para os usuários. Isto significa que os usuários podem usar a aplicação diretamente sem qualquer configuração.
Nessa situação, você pode usar a inicialização de dados para registrar seu serviço no Casdoor por meio de um arquivo de configuração. Este arquivo pode ser pré-definido ou gerado dinamicamente pelo seu próprio serviço.
Aqui nós damos um tutorial para importar ou exportar dados de configuração.
Importar Dados de Configuração
Se houver um arquivo de configuração chamado init_data.json
no diretório raiz do Casdoor, ele será usado para inicializar os dados no Casdoor. Tudo o que você precisa fazer é colocar este arquivo no diretório raiz onde o Casdoor será executado.
Se você está usando a imagem oficial do Docker do Casdoor, aqui estão alguns scripts que podem ajudá-lo a montar init_data.json
no contêiner.
Um modelo para init_data.json
é fornecido em: init_data.json.template. Renomeie para init_data.json
antes de usá-lo.
Para Docker
Se você implantar o Casdoor com o Docker, você pode usar o comando volume
para montar init_data.json
no contêiner.
docker run ... -v /path/to/init_data.json:/init_data.json
Para Kubernetes
Se você implantar o Casdoor com o Kubernetes, você pode usar o configmap
para armazenar init_data.json
.
apiVersion: v1
kind: ConfigMap
metadata:
name: casdoor-init-data
data:
init_data.json:
Você pode montar os dados nos pods
do Casdoor montando o configmap
. Você pode modificar sua implantação
da seguinte forma:
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 Dados de Configuração
Você também pode exportar todos os dados de configuração do Casdoor para um arquivo para migração de dados. Um teste Go chamado TestDumpToFile()
é fornecido em: init_data_dump_test.go
go test ./object -v -run TestDumpToFile
Após executar este teste Go, um arquivo chamado init_data_dump.json
será gerado no mesmo diretório. Este arquivo contém todos os seus dados de configuração do Casdoor. Se você quiser migrar os dados para outra instância do Casdoor, basta renomear init_data_dump.json
para init_data.json
e movê-lo para o diretório raiz da pasta do Casdoor de destino.
Referências
Todos os objetos do Casdoor suportados pela inicialização de dados são os seguintes:
Objeto | Estrutura Go | Documentação |
---|---|---|
organizações | struct | doc |
aplicações | struct | doc |
usuários | struct | doc |
certificados | struct | |
fornecedores | struct | doc |
ldaps | struct | doc |
modelos | estrutura | |
permissões | estrutura | doc |
pagamentos | estrutura | doc |
produtos | estrutura | doc |
recursos | estrutura | doc |
papéis | estrutura | doc |
sincronizadores | estrutura | doc |
tokens | estrutura | doc |
webhooks | estrutura | doc |
grupos | estrutura | doc |
adaptadores | estrutura | doc |
executores | estrutura | |
planos | estrutura | doc |
preços | estrutura | doc |
convites | estrutura | doc |
registros | estrutura | |
sessões | estrutura | |
assinaturas | estrutura | doc |
transações | estrutura |
Se você ainda se sente confuso sobre como preencher este modelo, você pode chamar a API RESTful ou usar o modo de depuração do seu navegador para ver a resposta de GetXXX
para esses objetos. As respostas estão no mesmo formato que init_data.json
.