2.2. 3scale で API の検出を無効化する Fuse Online の設定
API の 3scale 検出を有効化する Fuse Online の設定 で説明されている手順に従っている場合、各 API プロバイダーインテグレーションの作成者は、そのインテグレーションの API が検出可能かどうかを選択できます。場合によっては、インテグレーション API が 3scale で検出できないというデフォルトの動作を再設定する必要になることもあります。これを実行するには、Fuse Online の syndesis
カスタムリソースを更新し、3scale の管理 URL を空白にリセットします。その後、検出可能な API でパブリッシュされた API プロバイダーインテグレーションを再パブリッシュします。
前提条件
- オンサイトで OCP に Fuse Online がインストールされている必要があります。
- 検出を無効にするプロジェクトで Fuse Online をインストールするパーミッションが必要です。
-
oc
クライアントツールがインストール済みであり、Fuse Online がインストールされている OCP クラスターに接続されている必要があります。 - 3scale 検出は、API の 3scale 検出を有効化する Fuse Online の設定 で説明されているように OpenShift プロジェクトで有効にされている必要があります
手順
Fuse Online をインストールする権限を持つアカウントで OpenShift にログインします。以下に例を示します。
$ oc login -u developer -p developer
3scale の検出が有効になっている OpenShift プロジェクトに切り替えます。以下に例を示します。
$ oc project my-fuse-online-project
syndesis
カスタムリソースでoc patch
コマンドを実行し、3scale ユーザーインターフェイスの URL を空の値に設定します。oc patch syndesis app --type='merge' -p '{"spec":{"components":{"server":{"features":{"managementUrlFor3scale":""}}}}}'
このコマンドによって、
syndesis
カスタムリソースが更新されます。更新により、OPENSHIFT_MANAGEMENT_URL_FOR3SCALE
環境変数が無効になります。syndesis
カスタムリソースに対するこの変更により、Fuse Online のインストールを担うsyndesis-operator
がsyndesis-server
を再デプロイするようトリガーされます。新しいデフォルト動作では、API が 3scale で検出の対象ではなくなります。syndesis-server DeploymentConfig
オブジェクトを編集してOPENSHIFT_MANAGEMENT_URL_FOR3SCALE
環境変数を設定しないでください。syndesis-operator
により変更が元に戻るため、これは動作しません。syndesis-operator
は、常にsyndesis
カスタムリソースのみに従って Fuse Online がデプロイされるようにします。先ほど検出を無効化したプロジェクトで作成された API プロバイダーインテグレーションで、検出が有効化されていたものがあれば、そのインテグレーションを再パブリッシュします。
言い換えると、API プロバイダーインテグレーションが作成されたプロジェクトの検出が有効であるときに、そのインテグレーションの API の検出を無効にした場合は、この API プロバイダーインテグレーションを再パブリッシュする必要はありません。
結果
関連する OpenShift プロジェクトで作成された API プロバイダーインテグレーションの API が 3scale で検出できなくなります。
Fuse Online が関連するプロジェクトにある API プロバイダーインテグレーションをパブリッシュ (または再パブリッシュ) する場合、Fuse Online は API プロバイダーインテグレーションの操作を呼び出すための外部 URL を提供します。