このページは、まだ日本語ではご利用いただけません。翻訳中です。
古いプラグインバージョンのドキュメントを閲覧しています。
基本構成例
以下の例では、response-transformerプラグインをで有効にするための一般的な設定をご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/services/{serviceName|Id}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --data '
    {
  "name": "response-transformer",
  "config": {
    "remove": {
      "headers": [
        "x-toremove",
        "x-another-one"
      ],
      "json": [
        "json-key-toremove",
        "another-json-key"
      ]
    },
    "add": {
      "headers": [
        "x-new-header:value",
        "x-another-header:something"
      ],
      "json": [
        "new-json-key:some_value",
        "another-json-key:some_value"
      ],
      "json_types": [
        "string",
        "boolean",
        "number"
      ]
    },
    "append": {
      "headers": [
        "x-existing-header:some_value",
        "x-another-header:some_value"
      ]
    }
  }
}
    '
| SERVICE_NAME | IDを、このプラグイン構成の対象となるサービスの idまたはnameに置き換えてください。 | 
独自のアクセストークン、リージョン、コントロールプレーンID、サービスIDを代入して、次のリクエストを行ってください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/services/{serviceId}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN" \
    --data '{"name":"response-transformer","config":{"remove":{"headers":["x-toremove","x-another-one"],"json":["json-key-toremove","another-json-key"]},"add":{"headers":["x-new-header:value","x-another-header:something"],"json":["new-json-key:some_value","another-json-key:some_value"],"json_types":["string","boolean","number"]},"append":{"headers":["x-existing-header:some_value","x-another-header:some_value"]}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: response-transformer-example
plugin: response-transformer
config:
  remove:
    headers:
    - x-toremove
    - x-another-one
    json:
    - json-key-toremove
    - another-json-key
  add:
    headers:
    - x-new-header:value
    - x-another-header:something
    json:
    - new-json-key:some_value
    - another-json-key:some_value
    json_types:
    - string
    - boolean
    - number
  append:
    headers:
    - x-existing-header:some_value
    - x-another-header:some_value
" | kubectl apply -f -
次に、次のようにserviceに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate service SERVICE_NAME konghq.com/plugins=response-transformer-example
SERVICE_NAMEを、このプラグイン構成が対象とするサービスの名前に置き換えます。 kubectl get serviceを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPluginの代わりにKongClusterPluginとしてリソースを作成してください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: response-transformer
  service: SERVICE_NAME|ID
  config:
    remove:
      headers:
      - x-toremove
      - x-another-one
      json:
      - json-key-toremove
      - another-json-key
    add:
      headers:
      - x-new-header:value
      - x-another-header:something
      json:
      - new-json-key:some_value
      - another-json-key:some_value
      json_types:
      - string
      - boolean
      - number
    append:
      headers:
      - x-existing-header:some_value
      - x-another-header:some_value
| SERVICE_NAME | IDを、このプラグイン構成の対象となるサービスの idまたはnameに置き換えてください。 | 
前提条件: パーソナルアクセストークンの設定
terraform {
  required_providers {
    konnect = {
      source  = "kong/konnect"
    }
  }
}
provider "konnect" {
  personal_access_token = "kpat_YOUR_TOKEN"
  server_url            = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_response_transformer" "my_response_transformer" {
  enabled = true
  config = {
    remove = {
      headers = ["x-toremove", "x-another-one"]
      json = ["json-key-toremove", "another-json-key"]
    }
    add = {
      headers = ["x-new-header:value", "x-another-header:something"]
      json = ["new-json-key:some_value", "another-json-key:some_value"]
      json_types = ["string", "boolean", "number"]
    }
    append = {
      headers = ["x-existing-header:some_value", "x-another-header:some_value"]
    }
  }
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
  service = {
    id = konnect_gateway_service.my_service.id
  }
}
以下の例では、response-transformerプラグインをで有効にするための一般的な設定をご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/routes/{routeName|Id}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --data '
    {
  "name": "response-transformer",
  "config": {
    "remove": {
      "headers": [
        "x-toremove",
        "x-another-one"
      ],
      "json": [
        "json-key-toremove",
        "another-json-key"
      ]
    },
    "add": {
      "headers": [
        "x-new-header:value",
        "x-another-header:something"
      ],
      "json": [
        "new-json-key:some_value",
        "another-json-key:some_value"
      ],
      "json_types": [
        "string",
        "boolean",
        "number"
      ]
    },
    "append": {
      "headers": [
        "x-existing-header:some_value",
        "x-another-header:some_value"
      ]
    }
  }
}
    '
| ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 | 
独自のアクセストークン、リージョン、コントロールプレーン(CP)ID、ルートIDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/routes/{routeId}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN" \
    --data '{"name":"response-transformer","config":{"remove":{"headers":["x-toremove","x-another-one"],"json":["json-key-toremove","another-json-key"]},"add":{"headers":["x-new-header:value","x-another-header:something"],"json":["new-json-key:some_value","another-json-key:some_value"],"json_types":["string","boolean","number"]},"append":{"headers":["x-existing-header:some_value","x-another-header:some_value"]}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: response-transformer-example
plugin: response-transformer
config:
  remove:
    headers:
    - x-toremove
    - x-another-one
    json:
    - json-key-toremove
    - another-json-key
  add:
    headers:
    - x-new-header:value
    - x-another-header:something
    json:
    - new-json-key:some_value
    - another-json-key:some_value
    json_types:
    - string
    - boolean
    - number
  append:
    headers:
    - x-existing-header:some_value
    - x-another-header:some_value
" | kubectl apply -f -
次に、次のようにingressに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate ingress INGRESS_NAME konghq.com/plugins=response-transformer-example
INGRESS_NAMEを、このプラグイン構成がターゲットとするイングレス名に置き換えます。 kubectl get ingressを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPluginの代わりにKongClusterPluginとしてリソースを作成してください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: response-transformer
  route: ROUTE_NAME|ID
  config:
    remove:
      headers:
      - x-toremove
      - x-another-one
      json:
      - json-key-toremove
      - another-json-key
    add:
      headers:
      - x-new-header:value
      - x-another-header:something
      json:
      - new-json-key:some_value
      - another-json-key:some_value
      json_types:
      - string
      - boolean
      - number
    append:
      headers:
      - x-existing-header:some_value
      - x-another-header:some_value
| ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 | 
前提条件: パーソナルアクセストークンの設定
terraform {
  required_providers {
    konnect = {
      source  = "kong/konnect"
    }
  }
}
provider "konnect" {
  personal_access_token = "kpat_YOUR_TOKEN"
  server_url            = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_response_transformer" "my_response_transformer" {
  enabled = true
  config = {
    remove = {
      headers = ["x-toremove", "x-another-one"]
      json = ["json-key-toremove", "another-json-key"]
    }
    add = {
      headers = ["x-new-header:value", "x-another-header:something"]
      json = ["new-json-key:some_value", "another-json-key:some_value"]
      json_types = ["string", "boolean", "number"]
    }
    append = {
      headers = ["x-existing-header:some_value", "x-another-header:some_value"]
    }
  }
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
  route = {
    id = konnect_gateway_route.my_route.id
  }
}
以下の例では、response-transformerプラグインをで有効にするための一般的な設定をご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/consumers/{consumerName|Id}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --data '
    {
  "name": "response-transformer",
  "config": {
    "remove": {
      "headers": [
        "x-toremove",
        "x-another-one"
      ],
      "json": [
        "json-key-toremove",
        "another-json-key"
      ]
    },
    "add": {
      "headers": [
        "x-new-header:value",
        "x-another-header:something"
      ],
      "json": [
        "new-json-key:some_value",
        "another-json-key:some_value"
      ],
      "json_types": [
        "string",
        "boolean",
        "number"
      ]
    },
    "append": {
      "headers": [
        "x-existing-header:some_value",
        "x-another-header:some_value"
      ]
    }
  }
}
    '
| CONSUMER_NAME | IDを、このプラグイン構成の対象となるコンシューマのidまたはnameに置き換えてください。 | 
独自のアクセストークン、リージョン、コントロールプレーンID、コンシューマーIDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumers/{consumerId}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN" \
    --data '{"name":"response-transformer","config":{"remove":{"headers":["x-toremove","x-another-one"],"json":["json-key-toremove","another-json-key"]},"add":{"headers":["x-new-header:value","x-another-header:something"],"json":["new-json-key:some_value","another-json-key:some_value"],"json_types":["string","boolean","number"]},"append":{"headers":["x-existing-header:some_value","x-another-header:some_value"]}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: response-transformer-example
plugin: response-transformer
config:
  remove:
    headers:
    - x-toremove
    - x-another-one
    json:
    - json-key-toremove
    - another-json-key
  add:
    headers:
    - x-new-header:value
    - x-another-header:something
    json:
    - new-json-key:some_value
    - another-json-key:some_value
    json_types:
    - string
    - boolean
    - number
  append:
    headers:
    - x-existing-header:some_value
    - x-another-header:some_value
" | kubectl apply -f -
次に、次のようにKongConsumerオブジェクトに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate KongConsumer CONSUMER_NAME konghq.com/plugins=response-transformer-example
CONSUMER_NAMEを、このプラグイン構成が対象とするコンシューマーの名前に置き換えます。 kubectl get KongConsumerを実行すると、利用可能なコンシューマを確認できます。
KongConsumerオブジェクトの詳細については、 コンシューマと認証情報のプロビジョニングをご参照ください。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPluginの代わりにKongClusterPluginとしてリソースを作成してください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: response-transformer
  consumer: CONSUMER_NAME|ID
  config:
    remove:
      headers:
      - x-toremove
      - x-another-one
      json:
      - json-key-toremove
      - another-json-key
    add:
      headers:
      - x-new-header:value
      - x-another-header:something
      json:
      - new-json-key:some_value
      - another-json-key:some_value
      json_types:
      - string
      - boolean
      - number
    append:
      headers:
      - x-existing-header:some_value
      - x-another-header:some_value
| CONSUMER_NAME | IDを、このプラグイン構成の対象となるコンシューマのidまたはnameに置き換えてください。 | 
前提条件: パーソナルアクセストークンの設定
terraform {
  required_providers {
    konnect = {
      source  = "kong/konnect"
    }
  }
}
provider "konnect" {
  personal_access_token = "kpat_YOUR_TOKEN"
  server_url            = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_response_transformer" "my_response_transformer" {
  enabled = true
  config = {
    remove = {
      headers = ["x-toremove", "x-another-one"]
      json = ["json-key-toremove", "another-json-key"]
    }
    add = {
      headers = ["x-new-header:value", "x-another-header:something"]
      json = ["new-json-key:some_value", "another-json-key:some_value"]
      json_types = ["string", "boolean", "number"]
    }
    append = {
      headers = ["x-existing-header:some_value", "x-another-header:some_value"]
    }
  }
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
  consumer = {
    id = konnect_gateway_consumer.my_consumer.id
  }
}
以下の例では、response-transformerプラグインをで有効にするための一般的な設定をご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/consumer_groups/{consumerGroupName|Id}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --data '
    {
  "name": "response-transformer",
  "config": {
    "remove": {
      "headers": [
        "x-toremove",
        "x-another-one"
      ],
      "json": [
        "json-key-toremove",
        "another-json-key"
      ]
    },
    "add": {
      "headers": [
        "x-new-header:value",
        "x-another-header:something"
      ],
      "json": [
        "new-json-key:some_value",
        "another-json-key:some_value"
      ],
      "json_types": [
        "string",
        "boolean",
        "number"
      ]
    },
    "append": {
      "headers": [
        "x-existing-header:some_value",
        "x-another-header:some_value"
      ]
    }
  }
}
    '
| CONSUMER_GROUP_NAME | IDを、このプラグイン構成の対象となるコンシューマグループのidまたはnameに置き換えてください。 | 
独自のアクセストークン、リージョン、コントロールプレーンID、コンシューマーグループIDを代入して、次のリクエストをします:
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{consumerGroupId}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN" \
    --data '{"name":"response-transformer","config":{"remove":{"headers":["x-toremove","x-another-one"],"json":["json-key-toremove","another-json-key"]},"add":{"headers":["x-new-header:value","x-another-header:something"],"json":["new-json-key:some_value","another-json-key:some_value"],"json_types":["string","boolean","number"]},"append":{"headers":["x-existing-header:some_value","x-another-header:some_value"]}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: response-transformer-example
plugin: response-transformer
config:
  remove:
    headers:
    - x-toremove
    - x-another-one
    json:
    - json-key-toremove
    - another-json-key
  add:
    headers:
    - x-new-header:value
    - x-another-header:something
    json:
    - new-json-key:some_value
    - another-json-key:some_value
    json_types:
    - string
    - boolean
    - number
  append:
    headers:
    - x-existing-header:some_value
    - x-another-header:some_value
" | kubectl apply -f -
次に、次のようにKongConsumerGroupオブジェクトに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate KongConsumerGroup CONSUMER_GROUP_NAME konghq.com/plugins=response-transformer-example
CONSUMER_GROUP_NAMEを、このプラグイン構成が対象とするコンシューマグループの名前に置き換えます。 kubectl get KongConsumerGroupを実行すると、利用可能なコンシューマグループを確認できます。
注: KongPluginリソースは一度だけ定義する必要があり、 名前空間内の任意のサービス、コンシューマ、コンシューマグループ、またはルートに適用できます。プラグインをクラスタ全体で利用できるようにする場合は、KongPluginの代わりにKongClusterPluginリソースを作成します。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: response-transformer
  consumer_group: CONSUMER_GROUP_NAME|ID
  config:
    remove:
      headers:
      - x-toremove
      - x-another-one
      json:
      - json-key-toremove
      - another-json-key
    add:
      headers:
      - x-new-header:value
      - x-another-header:something
      json:
      - new-json-key:some_value
      - another-json-key:some_value
      json_types:
      - string
      - boolean
      - number
    append:
      headers:
      - x-existing-header:some_value
      - x-another-header:some_value
| CONSUMER_GROUP_NAME | IDを、このプラグイン構成の対象となるコンシューマグループのidまたはnameに置き換えてください。 | 
前提条件: パーソナルアクセストークンの設定
terraform {
  required_providers {
    konnect = {
      source  = "kong/konnect"
    }
  }
}
provider "konnect" {
  personal_access_token = "kpat_YOUR_TOKEN"
  server_url            = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_response_transformer" "my_response_transformer" {
  enabled = true
  config = {
    remove = {
      headers = ["x-toremove", "x-another-one"]
      json = ["json-key-toremove", "another-json-key"]
    }
    add = {
      headers = ["x-new-header:value", "x-another-header:something"]
      json = ["new-json-key:some_value", "another-json-key:some_value"]
      json_types = ["string", "boolean", "number"]
    }
    append = {
      headers = ["x-existing-header:some_value", "x-another-header:some_value"]
    }
  }
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
  consumer_group = {
    id = konnect_gateway_consumer_group.my_consumer_group.id
  }
}
どのサービス、ルート、コンシューマー、コンシューマーグループにも関連しないプラグインは_global_とみなされ、 すべてのリクエストで実行されます。
- 自己管理型のKong Gateway Enterpriseでは、プラグインは特定のワークスペース内のすべてのエンティティに適用されます。
- セルフマネージドKong Gateway (OSS)では、プラグインは環境全体に適用されます。
- Konnectでは、プラグインは特定のコントロールプレーン(CP)内のすべてのエンティティに適用されます。
詳しくはとプラグインの優先順位の セクションをご覧ください。
以下の例では、Response Transformerプラグインをグローバルに有効にするための典型的な設定をいくつかご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/plugins/ \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --data '
    {
  "name": "response-transformer",
  "config": {
    "remove": {
      "headers": [
        "x-toremove",
        "x-another-one"
      ],
      "json": [
        "json-key-toremove",
        "another-json-key"
      ]
    },
    "add": {
      "headers": [
        "x-new-header:value",
        "x-another-header:something"
      ],
      "json": [
        "new-json-key:some_value",
        "another-json-key:some_value"
      ],
      "json_types": [
        "string",
        "boolean",
        "number"
      ]
    },
    "append": {
      "headers": [
        "x-existing-header:some_value",
        "x-another-header:some_value"
      ]
    }
  }
}
    '
独自のアクセストークン、リージョン、コントロールプレーン(CP)IDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/plugins/ \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN" \
    --data '{"name":"response-transformer","config":{"remove":{"headers":["x-toremove","x-another-one"],"json":["json-key-toremove","another-json-key"]},"add":{"headers":["x-new-header:value","x-another-header:something"],"json":["new-json-key:some_value","another-json-key:some_value"],"json_types":["string","boolean","number"]},"append":{"headers":["x-existing-header:some_value","x-another-header:some_value"]}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
KongClusterPlugin作成する リソースを作成し、グローバルとしてラベル付けします。
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
  name: <global-response-transformer>
  annotations:
    kubernetes.io/ingress.class: kong
  labels:
    global: "true"
config:
  remove:
    headers:
    - x-toremove
    - x-another-one
    json:
    - json-key-toremove
    - another-json-key
  add:
    headers:
    - x-new-header:value
    - x-another-header:something
    json:
    - new-json-key:some_value
    - another-json-key:some_value
    json_types:
    - string
    - boolean
    - number
  append:
    headers:
    - x-existing-header:some_value
    - x-another-header:some_value
plugin: response-transformer
宣言型構成ファイルにpluginsエントリを追加します。
plugins:
- name: response-transformer
  config:
    remove:
      headers:
      - x-toremove
      - x-another-one
      json:
      - json-key-toremove
      - another-json-key
    add:
      headers:
      - x-new-header:value
      - x-another-header:something
      json:
      - new-json-key:some_value
      - another-json-key:some_value
      json_types:
      - string
      - boolean
      - number
    append:
      headers:
      - x-existing-header:some_value
      - x-another-header:some_value
前提条件: パーソナルアクセストークンの設定
terraform {
  required_providers {
    konnect = {
      source  = "kong/konnect"
    }
  }
}
provider "konnect" {
  personal_access_token = "kpat_YOUR_TOKEN"
  server_url            = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_response_transformer" "my_response_transformer" {
  enabled = true
  config = {
    remove = {
      headers = ["x-toremove", "x-another-one"]
      json = ["json-key-toremove", "another-json-key"]
    }
    add = {
      headers = ["x-new-header:value", "x-another-header:something"]
      json = ["new-json-key:some_value", "another-json-key:some_value"]
      json_types = ["string", "boolean", "number"]
    }
    append = {
      headers = ["x-existing-header:some_value", "x-another-header:some_value"]
    }
  }
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}
 
                      