helm
and bash magic
to get you started.
Purpose
Minimize the amount of effort needed to start up the Tyk infrastructure and
show examples of how Tyk can be set up in k8s using different deployment
architectures as well as different integrations.
--cloud
flag).env
file using the example provided and update it with your licenses as follows:
LICENSE
, MDCB_LICENSE
, and PORTAL_LICENSE
inside the .env
file.
tyk-stack
: A comprehensive Tyk Self Managed setup for a single region
tyk-cp
: Tyk control plane in a multi-region Tyk deployment
tyk-dp
: Data plane of hybrid gateways that connect to either Tyk Cloud or a Tyk Control Plane, facilitating scalable deployments
tyk-gateway
: Open Source Software (OSS) version of Tyk, self-managed and suitable for single-region deployments
redis
: Bitnami Redis deploymentredis-cluster
: Bitnami Redis Cluster deploymentredis-sentinel
: Bitnami Redis Sentinel deploymentmongo
: Bitnami Mongo database deployment as a Tyk backendpostgres
: Bitnami Postgres database deployment as a Tyk backend--cloud
flag
and requires the respective cloud CLI to be installed and authorized on your system. You will also need to specify the
CLUSTER_LOCATION
, CLUSTER_MACHINE_TYPE
, CLUSTER_NODE_COUNT
, and GCP_PROJECT
(for GCP only) parameters in the .env file.
You can find examples of .env files here:
For more information about cloud CLIs:
GOOGLE_APPLICATION_CREDENTIALS
environment variable per documentation from Google--dry-run
and --verbose
flags. This will output all the commands that
the repository will run to stand up any installation. This can help debug as well as figure out what
configuration options are required to set these tools up.
Furthermore, you can also add any Tyk environment variables to your .env
file and those variables will be mapped to
their respective Tyk deployments.
Example:
.env
file,
and they will be mapped to the respective extraEnvs
section in the helm charts.
Variable | Default | Comments |
---|---|---|
DASHBOARD_VERSION | v5.5 | Dashboard version |
GATEWAY_VERSION | v5.5 | Gateway version |
MDCB_VERSION | v2.7 | MDCB version |
PUMP_VERSION | v1.11 | Pump version |
PORTAL_VERSION | v1.10 | Portal version |
TYK_HELM_CHART_PATH | tyk-helm | Path to charts, can be a local directory or a helm repo |
TYK_USERNAME | default@example.com | Default password for all the services deployed |
TYK_PASSWORD | topsecretpassword | Default password for all the services deployed |
LICENSE | Dashboard license | |
MDCB_LICENSE | MDCB license | |
PORTAL_LICENSE | Portal license | |
TYK_WORKER_CONNECTIONSTRING | MDCB URL for worker connection | |
TYK_WORKER_ORGID | Org ID of dashboard user | |
TYK_WORKER_AUTHTOKEN | Auth token of dashboard user | |
TYK_WORKER_USESSL | true | Set to true when the MDCB is serving on a TLS connection |
TYK_WORKER_SHARDING_ENABLED | false | Set to true to enable API Sharding |
TYK_WORKER_SHARDING_TAGS | API Gateway segmentation tags | |
TYK_WORKER_GW_PORT | 8081 | Set the gateway service port to use |
TYK_WORKER_OPERATOR_CONNECTIONSTRING | Set the dashboard URL for the operator to be able to manage APIs and Policies | |
DATADOG_APIKEY | Datadog API key | |
DATADOG_APPKEY | Datadog Application key. This is used to create a dashboard and create a pipeline for the Tyk logs | |
DATADOG_SITE | datadoghq.com | Datadog site. Change to datadoghq.eu if using the European site |
GCP_PROJECT | The GCP project for terraform authentication on GCP | |
CLUSTER_LOCATION | Cluster location that will be created on AKS, EKS, or GKE | |
CLUSTER_MACHINE_TYPE | Machine type for the cluster that will be created on AKS, EKS, or GKE | |
CLUSTER_NODE_COUNT | Number of nodes for the cluster that will be created on AKS, EKS, or GKE | |
INGRESS_CLASSNAME | nginx | The ingress classname to be used to associate the k8s ingress objects with the ingress controller/load balancer |
.env
file - cp .env.example .env.
Then add your license string to TYK_DB_LICENSEKEY
.
127.0.0.1:3000
, using the username and password created in the Dashboard
Setup screen.
\confs\tyk_analytics.conf
file:
127.0.0.1:3000
, using the username and password created in the Dashboard Setup screen.
Step 7 - Set up a Portal Catalog
This creates a portal catalog for your developer portal. For the Authorization
Header, the Value you need to enter is the access_key
value from the create user request. In the body add the org_id
value created in Step One.
127.0.0.1:3000/api/portal/catalogue
Authorzation
Value SECRET_VALUE
Authorization
Header, the Value you need to enter is the access_key
value from the create user request.
127.0.0.1:3000/api/portal/catalogue
Authorzation
Value SECRET_VALUE
Authorization
Header, the Value you need to enter is the secret
value from your /confs/tyk_analytics.conf
.
127.0.0.1:3000/api/portal/configuration
Authorzation
Value SECRET_VALUE
\confs\tyk_analytics.conf
file:
docker-compose.yml
file, and change configs paths from related to absolute, and from linux format to windows format, like this:
127.0.0.1:3000
, using the username and password created in the Dashboard Setup screen.
Configure your Developer Portal
To set up your Developer Portal follow our Self-Managed tutorial on publishing an API to the Portal Catalog.