UCIDM API

UCIDM は ID 連携のための Web API を提供します。

さまざまな機能を提供します。

  • ユーザ・グループ操作
  • 外部連携先設定操作
  • 履歴情報一覧
  • ID 連携ジョブ管理
  • LDAP サーバー管理
  • アカウント管理
  • システム設定

UCIDM API はコンテナとして稼働させます。次のように compose.yml に設定します。

  api:
    depends_on:
      mongo:
        condition: service_healthy
      rabbitmq:
        condition: service_healthy
    container_name: api
    hostname: api
    image: docker.io/osstech/ucidm-api:latest
    logging: *default-logging
    volumes:
      - type: bind
        source: ./server-data
        target: /ucidm
        bind:
          create_host_path: false
      - type: bind
        source: ./server-data/files
        target: /files
        bind:
          create_host_path: true
      #- type: bind
      #  source: ./certs/chainCA.crt
      #  target: ${SSL_CERT_FILE}
      #  read_only: true
      #  bind:
      #    create_host_path: false
    entrypoint:
      - ./bin/entrypoint.sh
      - -port
      - ${API_PORT}
      - -jsonl
    environment:
      TZ: "${TZ}"
      # SSL_CERT_FILE: "${SSL_CERT_FILE}"
      MONGO_USER: "${MONGO_USER}"
      MONGO_PASSWORD: "${MONGO_PASSWORD}"
      MONGO_HOSTS: "${MONGO_HOSTS}"
      MONGO_REPLICA_SET: "${MONGO_REPLICA_SET}"
      RABBITMQ_USER: "${RABBITMQ_USER}"
      RABBITMQ_PASSWORD: "${RABBITMQ_PASSWORD}"
      RABBITMQ_HOST: "${RABBITMQ_HOST}"
    ports:
      - 127.0.0.1:${API_PORT}:${API_PORT}
    restart: "always"

ここで参照する環境変数は .env に設定します。

環境変数の設定

API サーバー

環境変数既定値説明
TZ任意タイムゾーン情報
API_PORT18080接続を受け付けるポート番号
SSL_CERT_FILE任意LDAP サーバーとの接続において
信頼する CA 証明書を指定

ミドルウェア

環境変数既定値説明
MONGO_USER任意接続する MongoDB のユーザ名
MONGO_PASSWORD任意接続する MongoDB のパスワード
MONGO_HOSTS任意接続する MongoDB のホスト
MONGO_REPLICA_SET任意接続する MongoDB のレプリカセットの名前
RABBITMQ_USER任意接続する RabbitMQ のユーザ名
RABBITMQ_PASSWORD任意接続する RabbitMQ のパスワード
RABBITMQ_HOST任意接続する RabbitMQ のホスト
MAX_PRODUCER_SESSIONS任意512RabbitMQ Procuder の最大セッション数

ホスト名を名前解決できないとき

コンテナ内からホスト OS の /etc/hosts を参照することはできません。コンテナ内からアクセスするホスト名を DNS で解決できない場合、コンテナ内に /etc/hosts を配置するのに相当する設定が extra_hosts になります。

  api:
    ...
    ports:
      - 127.0.0.1:${API_PORT}:${API_PORT}
    extra_hosts:
      - "host1.example.com:10.0.100.1"
      - "host2.example.com:10.0.100.2"
      - "host3.example.com:10.0.100.3"