コンテンツにスキップ

承継と離脱

組織は統合し、分割し、去る。識別子はそれに気づいてはならない。

ark:/99999/x9abc は既に配ってしまった。NR の下では振り直せないので、新しい組織で 新しい名前に置き換えることはできない——元の識別子を殺すことになる。変えられるのは 今後誰が採番するかどこへ転送するかだけである。

承継 — 組織が別の組織に統合される

arkhe succeed 1 2          # 組織 1 を組織 2 が承継する

shoulder が承継先に移る。Ark の行には触れないので、既存の識別子は以前とまったく 同じに解決する。旧組織は無効化され、資格情報は止まる(行は残すので誰の鍵だったかは 辿れる)。succeeded_by に系譜が記録される。

--retire(既定)は、移した名前空間の新規採番も止める。承継先は自分の名前空間で採番し、 旧名前空間は読み取り専用になる。

承継は NAAN を跨げない。 跨ぐと識別子の形が変わる——つまり別の名前になってしまう。

離脱 — 組織は存続するが、この基盤を離れる

arkhe depart 1 --resolver 'https://repo.univ.ac.jp/ark/${blade}' \
               --keep-update self-managed

新規採番は止め、解決は永久に続ける。 ark:/<こちらの NAAN>/… という形で配って しまった以上その名前は振り直せないので、NAAN の保有者が 302 を返し続けるしかない。

要点は --resolver である。既存の転送先を組織自身のリゾルバへ一括で向け直し、 同時に shoulder にも同じ委譲を設定するので、この台帳が見たことのない名前まで そちらへ流れる。これで離脱した組織に、以後こちらへの作業を求めずに済む。

これは見た目より重要である。移転のたびに更新を送ってもらう設計は、いつか誰も送らなく なって死んだリンクが残る

--keep-updateark:update だけの資格情報を残す。scope を分けた設計がここで効く—— 転送先の付け替えは自分でできるが、新規採番はできない。

何が残るか

Ark の行 触らない。 識別子もその履歴も残る
shoulder retired にする。消さない——名前が振り直されてはならない
資格情報 無効化するが行は残す。誰の鍵だったかの記録が残る
Manager 無効化し、succeeded_by を設定して系譜を辿れるようにする

以上はすべて監査ログに残る。