外部連携モジュールのバージョン情報の連携

管理画面のフッターで管理画面、API サーバー、外部連携モジュールのバージョンを確認できます。

API サーバーと外部連携モジュールは別コンテナーで管理されており、外部連携モジュールから API サーバーへバージョン情報を連携するために 名前付きパイプ (named pipe) を使います。名前付きパイプを使うことで、それぞれのコンテナはローカルから参照できるパイプに対して読み書きするので特別な権限や仕組みを必要としないことがメリットになります。

名前付きパイプを介したコンテナ間のデータ通信

Docker Compose で各種コンテナを起動した後であれば /opt/osstech/var/lib/ucidm のディレクトリ配下に volumes ディレクトリがあります。存在しないときは手動で作成してください。

volumes ディレクトリ配下に名前付きパイプを作成します。

# mkfifo volumes/id-federation-client-pipe

もし作成前に Docker Compose を起動してディレクトリが作成されてしまっていれば削除してから再作成してください。

# rm -rf volumes/id-federation-client-pipe

次のようにバージョン情報を返すだけのコンテナを稼働させます。このとき、ホスト OS で作成した名前付きパイプのパスを環境変数で指定した場所へマウントします。

  consumer-version:
    container_name: consumer-version
    image: cr.gitlab.osstech.co.jp/product/unicorncidm/id-federation-client/consumer:latest
    logging: *default-logging
    volumes:
      - ./volumes/id-federation-client-pipe:${ID_FEDERATION_CLIENT_PIPE}
    entrypoint:
      - /bin/version.sh
      - "/bin/consumer -version > ${ID_FEDERATION_CLIENT_PIPE}"
    restart: "always"

環境変数の設定

環境変数規定値説明
ID_FEDERATION_CLIENT_PIPE任意/mnt/id-federation-client-pipe名前付きパイプをマウントさせるパスを指定