コミュニティプラグインレジストリとバンドル
レジストリは2つの部分から成り、どちらも個々のDataCoreデプロイメント自身のデータベースとは意図的に 分離されています。これにより、独立したインストール間で共有できます:
registry/— バックエンドAPI、ユーザーアカウント、SQLiteバックエンドの掲載データストア。community-site/— 独立したウェブサイト (独自のReactアプリ、独自のDockerサービス、ポート5273) で、DataCoreの他の部分を一切実行せずにコンテンツを閲覧・投稿できます。これがレジストリに 独立した到達先としてアクセスする主要な方法です — メインアプリのリソース/プラグイン画面にも利便性の ためのパネルがありますが、すべて同じregistryAPIと同じデータを参照します。
2種類の公開掲載をホストします:
- プラグイン — 名前、説明、作者、バージョン、プラグインのリポジトリへのリンク、(任意で) Docker イメージ参照とタグ。
- DataCoreバンドル — 共有可能なリソースの「レシピ」: リソース定義 (名前、タイプ、ソースURL) の 一覧と、それらを処理したパイプライン (ステップの順序とどのプラグインか、名前とリポジトリリンクで 相互参照)。完全な流れはバンドルの共有とインポートを参照してください。
投稿によって実際に保存されるもの
どちらの掲載タイプもメタデータとリンクのみを保存します — 実行可能なコードは決して保存されず、 (バンドルの場合) 処理済みの生の成果物データも決して保存されません。これは意図的なスコープ判断です:
- 見知らぬ人が投稿したコードを他人のインフラが自動的に実行することを許可するのは、サプライチェーン /RCEリスクです。そのためプラグイン掲載は、あなたが自分でクローン・レビュー・デプロイするリポジトリ へのポインタです。
- バンドルは元のソース (URL) とパイプライン定義へのポインタです — インポートするとそれらのソース を再取得し、インポート者自身のパイプラインで再処理します。エクスポート元の実際のSummary/Vector/ 分析出力が送信されることは一切ありません。
アカウント
どちらの種類の掲載を投稿するにも、確認済みメールアドレスを持つ無料アカウントが必要です (閲覧には 不要です)。登録、メール確認、パスワードリセット、GitHubサインインについては ユーザーアカウント を参照してください。
使い方
独立したサイトに直接アクセスするか (http://localhost:5273)、メインWeb UIのパネルを使用してください: プラグイン → コミュニティを見る、および リソース → バンドルとして共有 / コミュニティからインポート。これらはすべて (コアウェアハウスAPIではなく) レジストリサービスを 直接呼び出します — レジストリAPIリファレンス を参照してください。
自分自身のレジストリインスタンスを運用する
docker-compose.yml に同梱されている registry サービスは、ローカルデモや信頼できる社内デプロイ 向けの単一ノードインスタンスです。複数の無関係なチームが投稿する、本当に公開されたインターネット 向けのレジストリが必要な場合、公開前に以下を追加する必要があります:
- モデレーション — アカウントとメール確認は存在しますが、管理者によるレビューキューはなく、 掲載を削除できるのはその所有者のみです (モデレーターによる上書きはありません)。
- 実際のメール配信 —
SMTP_HOSTが設定されていない場合、確認/リセットメールは送信される 代わりにregistry/data/outbox/に書き込まれます。SMTP_HOST/SMTP_PORT/SMTP_USER/SMTP_PASS/MAIL_FROMを設定してください。 - 固定の
JWT_SECRET— 設定しない場合、コンテナ起動のたびにランダムなシークレットが生成され、 再起動のたびにすべてのセッションがログアウトされます。 - より強力な不正利用対策 — 基本的なIPごとのレート制限 (20件/時間の投稿、15分あたり20回の認証 試行) はありますが、実際の公開デプロイではCAPTCHAなどを追加すべきです。
- TLS + 実際のドメイン — 証明書を持つリバースプロキシの背後にデプロイし、各DataCoreデプロイメント のフロントエンドを、同居する
registryコンテナではなく、その共有URLに向けてください。
これらは現時点では実装されていません — 信頼されたネットワークを超えて公開する予定がある場合に、 サプライズではなく情報に基づいた判断ができるよう、ここに明記しています。