Menu Close

8.5. 3scale OpenAPI カスタムリソースのデプロイ

OpenAPI カスタムリソース(CR)は、開発者ポータルの ActiveDocs に使用できる OpenAPI Specification(OAS)ドキュメントをインポートする1つの方法です。OAS は、API に特定のプログラミング言語を使用することに縛られない標準です。人間とコンピューターは、ソースコードのアクセス、ドキュメント、またはネットワークトラフィックの検査なしに API プロダクトの機能をより簡単に理解することができます。

前提条件

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

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

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

注記

Operator はシークレットのコンテンツのみを読み取ります。Operator はシークレットのフィールド名を読み取りません。

手順

  1. OAS ドキュメントが含まれるシークレットを定義します。たとえば、以下の内容で myoasdoc1.yaml を作成することができます。

    openapi: "3.0.2"
    info:
      title: "some title"
      description: "some description"
      version: "1.0.0"
    paths:
      /pet:
        get:
          operationId: "getPet"
          responses:
            405:
              description: "invalid input"
  2. シークレットを作成します。以下は例になります。

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

    apiVersion: capabilities.3scale.net/v1beta1
    kind: OpenAPI
    metadata:
      name: myopenapicr1
    spec:
      openapiRef:
        secretRef:
          name: myoasdoc1
  4. 前のステップで定義したリソースを作成します。以下は例になります。

    $ oc create -f myopenapicr1.yaml

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

    openapi.capabilities.3scale.net/myopenapicr1 created