データ初期化
Casdoorを他のサービスと一緒に完全なアプリケーションとしてデプロイする場合、ユーザーにすぐに使える機能を提供したいかもしれません。 これは、ユーザーが何の設定もせずにアプリケーションを直接使用できることを意味します。
このような状況では、設定ファイルを通じてCasdoorにサービスを登録するためにデータ初期化を使用できます。 このファイルは事前に定義されているか、または独自のサービスによって動的に生成されることがあります。
ここでは、設定データのインポートまたはエクスポートのチュートリアルを提供します。
設定データのインポート
Casdoorのルートディレクトリにinit_data.json
という名前の設定ファイルがある場合、それはCasdoorでのデータ初期化に使用されます。 あなたがする必要があるのは、このファイルをCasdoorが実行されるルートディレクトリに配置することです。
Casdoorの公式Dockerイメージを使用している場合、init_data.json
をコンテナにマウントするのに役立つスクリプトがいくつかあります。
init_data.json
のテンプレートはこちらで提供されています:init_data.json.template。 使用する前にinit_data.json
に名前を変更してください。
Docker用
Dockerを使ってCasdoorをデプロイする場合、volume
コマンドを使用してinit_data.json
をコンテナにマウントできます。
docker run ... -v /path/to/init_data.json:/init_data.json
Kubernetes用
Kubernetesを使ってCasdoorをデプロイする場合、configmap
を使用してinit_data.json
を保存できます。
apiVersion: v1
kind: ConfigMap
metadata:
name: casdoor-init-data
data:
init_data.json:
Casdoorのpods
にデータをマウントするには、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の設定データをすべてファイルにエクスポートして、データ移行を行うこともできます。 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 |
LDAP | struct | doc |
モデル | ストラクト | |
権限 | ストラクト | ドキュメント |
支払い | ストラクト | ドキュメント |
製品 | ストラクト | ドキュメント |
リソース | ストラクト | ドキュメント |
ロール | ストラクト | ドキュメント |
同期器 | ストラクト | ドキュメント |
トークン | ストラクト | ドキュメント |
ウェブフック | ストラクト | ドキュメント |
グループ | ストラクト | ドキュメント |
アダプター | ストラクト | ドキュメント |
エンフォーサー | ストラクト | |
プラン | ストラクト | ドキュメント |
価格設定 | ストラクト | ドキュメント |
招待状 | ストラクト | ドキュメント |
記録 | ストラクト | |
セッション | ストラクト | |
サブスクリプション | ストラクト | ドキュメント |
トランザクション | ストラクト |
このテンプレートの記入にまだ混乱している場合は、RESTful APIを呼び出すか、ブラウザのデバッグモードを使用してこれらのオブジェクトに対するGetXXX
のレスポンスを確認できます。 レスポンスはinit_data.json
と同じフォーマットです。