Apigee

This component was created and is maintained by an Istio partner. Please address support questions to the partner directly.

PartnerApigee
Support Sitehttps://apigee.com/about/support/portal
Source Codehttps://github.com/apigee/istio-mixer-adapter
Latest Releasehttps://github.com/apigee/istio-mixer-adapter/releases
Tested by Apigee with these Istio Versions1.1.x, 1.2.x, 1.3.x
Supported TemplatesAnalytics,Authorization

The Apigee Mixer adapter provides Apigee’s distributed authentication and quota policy checksas well as the ingestion of Istio telemetry for analysis and reporting.

Important: The adapter is provided in an enhanced Mixer image. The default Mixer image must be replaced and theproper CRDs must be applied in order to use these features. Complete Apigee documentation on the concepts and usageof this adapter is available on the Apigee Adapter for Istiosite. For more information and product support, please contact Apigee support.

This adapter supports the authorization templateand Apigee’s analytics template.

Example config:

  1. apiVersion: config.istio.io/v1alpha2
  2. kind: apigee
  3. metadata:
  4. name: apigee-handler
  5. namespace: istio-system
  6. spec:
  7. apigee_base: https://istioservices.apigee.net/edgemicro
  8. customer_base: https://myorg-test.apigee.net/istio-auth
  9. org_name: myorg
  10. env_name: test
  11. key: mykey
  12. secret: mysecret
  13. temp_dir: "/tmp/apigee-istio"
  14. client_timeout: 30s
  15. allowUnverifiedSSLCert: false
  16. products:
  17. refresh_rate: 2m
  18. analytics:
  19. legacy_endpoint: false
  20. file_limit: 1024
  21. auth:
  22. api_key_claim:
  23. api_key_cache_duration: 30m

Params

The Configuration for the Apigee adapter provides information on how the adapter should contactthe Apigee proxies and how it should operate. Running the apigee-istio provision CLI commandwill ensure that all proxies are installed into your Apigee environment and generate this filewith all required settings for you.For additional information on this adapter or support please contact anchor-prega-support@google.com.

FieldTypeDescription
apigeeBasestringApigee Base is the URI for a shared proxy on Apigee.Required.
customerBasestringCustomer Base is the URI for an organization-specific proxy on Apigee.Required.
orgNamestringOrg Name is the name of the organization on Apigee.Required.
envNamestringEnv Name is the name of the environment on Apigee.Required.
keystringKey is used to authenticate to the Apigee proxy endpoints, generated during provisioning.Required.
secretstringSecret is used to authenticate to the Apigee proxy endpoints, generated during provisioning.Required.
tempDirstringThe local directory to be used by the adapter for temporary files.Optional. Default: “/tmp/apigee-istio”.
clientTimeoutgoogle.protobuf.DurationThe timeout to be used for adapter requests to Apigee servers.Optional. Default: “30s” (30 seconds).
allowUnverifiedSSLCertboolSet to true to allow an unknown server SSL Certificate (eg. self-signed)Optional. Default: false.
productsParams.product_optionsOptions specific to to products handling.
analyticsParams.analytics_optionsOptions specific to to analytics handling.
authParams.auth_optionsOptions specific to to products handling.

Params.analytics_options

Options specific to to analytics handling.

FieldTypeDescription
legacyEndpointboolIf true, use legacy direct communication analytics protocol instead of buffering. Must be true for OPDK.Optional. Default: false.
fileLimitint64The number of analytics files that can be buffered before oldest files are dropped.Optional. Default: 1024.
sendChannelSizeint64The size of the channel used to buffer record sends in memory.Optional. Default: 10.

Params.auth_options

Options specific to to auth handling.

FieldTypeDescription
apiKeyCacheDurationgoogle.protobuf.DurationThe length of time API Keys are valid in the cache.Optional. Default: “30m” (30 minutes).
apiKeyClaimstringThe name of a JWT claim from which to look for an api_key.Optional. Default: none.

Params.product_options

Options specific to to products handling.

FieldTypeDescription
refreshRategoogle.protobuf.DurationThe rate at which the list of products is refreshed from Apigee.Optional. Default: “2m” (2 minutes).