Skip to main content

Overview

Tyk is an open-source API management platform that controls, secures, and monitors API traffic. This template deploys a Tyk API Gateway workload on Control Plane alongside Redis and Redis Sentinel, which serve as the backing store for tokens, analytics, rate limits, and gateway state.
This template does not create a GVC. You must deploy it into an existing GVC.

What Gets Created

  • Standard Workload — Tyk API Gateway (RELEASE_NAME-tyk-api-gateway): the gateway process, autoscaling between minScale and maxScale replicas. API definitions and policies are mounted from Control Plane secrets at startup.
  • Secret — Gateway admin secret (RELEASE_NAME-tyk-gateway-secret): a dictionary secret containing the admin API key used for management operations.
  • Identity & Policy — An identity (RELEASE_NAME-tyk-identity) bound to the gateway workload with reveal access to the gateway secret, Redis auth secrets, and optionally the API definitions and policy secrets.
  • Redis and Redis Sentinel — The Redis template (v3.1.1) is deployed as a dependency, creating a Redis workload, a Sentinel workload, and their associated secrets, identities, and policies.

Prerequisites

Tyk loads API definitions and policies from files at startup. You must create the corresponding Control Plane secrets before deploying the template.

1. Create the API Definitions Secret

Each key in the dictionary is a filename (e.g. app1.json) containing a Tyk API definition object. Create the secret using cpln apply:
Set apiSecretName in your values to the name of this secret. To omit API definitions entirely, leave apiSecretName empty.

2. Create the Policies Secret

The policies secret is a single opaque secret containing a JSON object where each key is a policy ID:
Set policySecretName in your values to the name of this secret. To omit policies entirely, leave policySecretName empty.

Installation

To install, follow the instructions for your preferred method:

UI

Browse, install, and manage templates visually

CLI

Manage templates from your terminal

Terraform

Declare templates in your Terraform configurations

Pulumi

Declare templates in your Pulumi programs

Configuration

The default values.yaml for this template:

API Definitions & Policies

  • apiSecretName — Name of the pre-existing Control Plane secret containing API definitions. Each key in the dictionary is a JSON filename mounted at /opt/tyk-gateway/apps. Must be created before deploying.
  • policySecretName — Name of the pre-existing Control Plane opaque secret containing the policies JSON, mounted at /opt/tyk-gateway/policies/policies.json. Must be created before deploying.
Leave either value empty to omit that mount from the gateway workload.

Admin Secret

  • adminSecret — The admin API key used for gateway management operations (e.g. creating keys, reloading APIs). Change before deploying to production. Stored in a dictionary secret and injected into the gateway at startup.

Resources & Autoscaling

  • resources.cpu / resources.memory — CPU and memory allocated to the Tyk Gateway workload.
  • autoscaling.minScale / autoscaling.maxScale — Minimum and maximum number of gateway replicas.
  • autoscaling.metric — Scaling metric (cpu by default).
  • autoscaling.target — Target metric value that triggers a scale-up.
  • autoscaling.scaleToZeroDelay — Seconds of inactivity before scaling to zero (only applies when minScale is 0).
  • multiZone — When true, spreads replicas across availability zones within the location.

Access

  • externalAccess — Set to true to expose the gateway publicly. Set to false for internal-only access.
  • internalAccess.type — Controls which workloads can connect to the gateway internally:
  • internalAccess.workloads — List of specific workload links, used when type is workload-list.

Redis

The Redis subchart is configured under the redis key. See the Redis template for full configuration details. Key options:
  • redis.redis.replicas — Number of Redis replicas.
  • redis.redis.auth.password.enabled / redis.redis.auth.password.value — Redis password authentication. Change before deploying to production.
  • redis.redis.persistence.enabled — Persist Redis data to a volume set.
  • redis.sentinel.replicas — Number of Sentinel replicas (3 recommended for production).
  • redis.sentinel.auth.password.enabled / redis.sentinel.auth.password.value — Sentinel password authentication. Change before deploying to production.
  • redis.sentinel.persistence.enabled — Persist Sentinel state to a volume set.

Connecting to the Gateway

Access the gateway from within the same GVC at:
When externalAccess is true, the gateway is also reachable via its public Control Plane endpoint. The Tyk management API is available on the same port under the /tyk/ path. Requests require the x-tyk-authorization header set to the value of adminSecret.

Ports

External References

Tyk Documentation

Official Tyk API Gateway documentation

Tyk API Definition Objects

Reference for the API definition JSON structure

Tyk Policies Guide

Guide for configuring Tyk access policies

Tyk Template

View the source files, default values, and chart definition