8.7. 3scale ActiveDoc カスタムリソースのデプロイ


Red Hat 3scale API Management ActiveDocs は、OpenAPI Specification に準拠する RESTful Web サービスを定義する API 定義ドキュメントをベースとしています。ActiveDoc カスタムリソース (CR) は、開発者ポータルの ActiveDocs に使用できる OpenAPI Specification(OAS) ドキュメントをインポートする 1 つの方法です。OAS は、API に対して使用できるプログラミング言語が特定のものだけに限定されないようにする規格です。人間とコンピューターは、ソースコードのアクセス、ドキュメント、またはネットワークトラフィックの検査なしに API プロダクトの機能をより簡単に理解することができます。

前提条件

  • オンプレミス型 3scale 2.11 インスタンスの管理者権限を持つユーザーアカウント
  • API を定義する OAS ドキュメント
  • ActiveDoc CR がテナントにリンクする方法を理解している。

8.7.1. シークレットから OAS ドキュメントをインポートする 3scale ActiveDoc カスタムリソースのデプロイ

3scale バックエンド および プロダクト を作成できるように、ActiveDoc カスタムリソース (CR) をデプロイします。

注記

Operator はシークレットのコンテンツのみを読み取ります。Operator はシークレットのフィールド名を読み取りません。たとえば、データは key: value のペアで設定され、value はファイルの内容を表し、key はファイル名になります。ファイル名は、ActiveDoc CRD のこのコンテキストで Operator によって無視されます。Operator はファイルの内容のみを読み取ります。

前提条件

手順

  1. シークレットを作成します。以下に例を示します。

    $ oc create secret generic myoasdoc1 --from-file myoasdoc1.yaml
    
    secret/myoasdoc1 created
  2. ActiveDoc CR を定義します。OAS ドキュメントが含まれるシークレットへの参照を指定するようにしてください。たとえば、myactivedoccr1.yaml ファイルを作成できます。

    apiVersion: capabilities.3scale.net/v1beta1
    kind: ActiveDoc
    metadata:
      name: myactivedoccr1
    spec:
      name: "Operated ActiveDoc From secret"
      activeDocOpenAPIRef:
        secretRef:
          name: myoasdoc1
  3. 定義したばかりのリソースを作成します。以下に例を示します。

    $ oc create -f myactivedoccr1.yaml

    この例では、出力は以下のようになります。

    activedoc.capabilities.3scale.net/myactivedoccr1 created

検証

  1. Red Hat OpenShift Container Platform (OCP) 管理者アカウントにログインします。
  2. Operators > Installed Operators に移動します。
  3. Red Hat Integration - 3scale をクリックします。
  4. Active Doc タブをクリックします。
  5. OAS ドキュメントが存在することを確認します。上記の例では、myactivedoccr1 という名前の新しい OAS ドキュメントが表示されます。

8.7.2. 3scale ActiveDoc カスタムリソース定義の機能

ActiveDoc カスタムリソース定義 (CRD) は、開発者の OpenAPI ドキュメント形式の製品ドキュメントを考慮します。ActiveDoc CRD デプロイメント機能に関する知識は、デベロッパーポータルの ActiveDocs の作成に役立ちます。

  • ActiveDoc CR は、以下のいずれかから OpenAPI ドキュメントを読み取りできます・

    • Secret
    • http または https 形式の URL
  • オプションで、productSystemName フィールドを使用して、ActiveDoc CR を 3scale 製品にリンクできます。値は、3scale プ製品の CR の system_name である必要があります。
  • published フィールドを使用して、3scale の ActiveDoc ドキュメントを公開または非表示にすることができます。デフォルトでは、これは hidden に設定されています。
  • skipSwaggerValidations フィールドを使用して、OpenAPI 3.0 検証を省略できます。デフォルトでは、ActiveDoc CR は検証されます。

8.7.3. シークレットから OAS ドキュメントをインポートする 3scale OpenAPI カスタムリソースのデプロイ

指定した URL から OAS(OpenAPI Specification) ドキュメントをインポートする ActiveDoc カスタムリソース (CR) をデプロイできます。その後、この OAS ドキュメントを、デベロッパーポータルで API の ActiveDocs の基礎として使用できます。

手順

  1. OpenShift アカウントで、Operators > Installed operators に移動します。
  2. 3scale operator をクリックします。
  3. Active Doc タブをクリックします。
  4. ActiveDoc CR を作成します。以下に例を示します。

    apiVersion: capabilities.3scale.net/v1beta1
    kind: ActiveDoc
    metadata:
      name: myactivedoccr1
    spec:
      openapiRef:
        url: "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml"
      providerAccountRef:
        name: mytenant
  5. オプション。Self-managed APIcast の場合、ActiveDoc CR で productionPublicBaseURL および stagingPublicBaseURL フィールドをデプロイメントの URL に設定します。以下に例を示します。

    apiVersion: capabilities.3scale.net/v1beta1
    kind: ActiveDoc
    metadata:
      name: myactivedoccr1
    spec:
      openapiRef:
        url: "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml"
      productionPublicBaseURL: "https://production.my-gateway.example.com"
      stagingPublicBaseURL: "https://staging.my-gateway.example.com"
  6. Save をクリックします。3scale operator が ActiveDoc CR を作成するまでに数秒かかります。

検証

  1. Red Hat OpenShift Container Platform (OCP) 管理者アカウントにログインします。
  2. Operators > Installed Operators に移動します。
  3. Red Hat Integration 3scale をクリックします。
  4. Active Doc タブをクリックします。
  5. OAS ドキュメントが存在することを確認します。上記の例では、myactivedoccr1 という名前の新しい OAS ドキュメントが表示されます。

8.7.4. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.