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_PORT | 18080 | – | 接続を受け付けるポート番号 |
| 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 | 任意 | 512 | RabbitMQ 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"