接続情報ファイルの検索順

対象ホストに対する接続を行うオペレーションが実行されると、接続対象の IP アドレスをもとに適切な接続情報ファイルが検索されます。

この検索は、以下のルールに基づき行われます。

  1. Ksocket インストール先の ./etc/ksocket/credentials/<接続方式名> 内のファイル・フォルダを辞書順に検索
  2. ファイル名・フォルダ名が _ から始まる場合は除外
  3. ディレクトリの場合
    • ディレクトリ内のファイルに対して同様の検索(幅優先)
  4. ファイルの場合は以下の適合テストに移行
    1. ファイル名が .toml または .yml で終わっていない場合は除外
    2. includes の値を読み取り、対象の IP アドレスが含まれていない場合は除外
    3. excludes の値を読み取り、対象の IP アドレスが含まれている場合は除外
    4. 上記にて除外されなかった場合は適合と判定

上記の検索にて適合した接続情報ファイルは INFO レベルでログに記載されます。

また、適合する接続情報ファイルが見つからなかった場合は WARNING レベルでログに記載され、リモートへの接続を試みる前にオペレーションが終了します。

検索例

上記の検索順に基づいた例を記載します。

以下のような構成により接続情報ファイルが保存されていると仮定します。

なお $KSOCKET_HOME は Ksocket インストール先を示すものとします。

+- $KSOCKET_HOME/etc/ksocket/credentials/ssh
  +- 00_common.toml
  +- 01_specific/
  |  +- 00_common.toml
  |  +- 02_final.toml
  |  +- _special.toml
  +- 02_final.toml
  +- 99-example.toml.skeleton
  +- _projectA/
  |  +- 00_common.toml
  |  +- 02_final.toml
  |  +- _special.toml
  +- _projectB/
     +- 00_common.toml
     +- 02_final.toml
     +- _special.toml

この場合以下の順で適合テストが行われ、適合した順に対象ホストへの接続試行を行います。

  1. ./00_common.toml
  2. ./01_specific/00_common.toml
  3. ./01_specific/02_final.toml
  4. ./02_final.toml