Skip to content
This repository has been archived by the owner on Oct 1, 2024. It is now read-only.

Update instructions and appVersion #150

Merged
merged 6 commits into from
Jul 21, 2021
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions tyk-headless/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
apiVersion: v1
appVersion: "1.0"
name: tyk-headless
version: 0.9.1
icon: https://tyk.io/wp-content/uploads/2021/07/tyk_logo_bg.jpg
Expand All @@ -17,7 +16,7 @@ keywords:
- open source gateway
- edge gateway
description: |-
This chart deploys the open source Tyk Gateway. It assumes Redis has already been installed.
Tyk is an open source Enterprise API Gateway, supporting REST, GraphQL, TCP and gRPC protocols.
Tyk Gateway is provided ‘Batteries-included’, with no feature lockout. Enabling your organization to control who accesses your APIs, when they access, and how they access it.
Tyk Technologies uses the same API Gateway for all it’s applications. Protecting, securing, and processing APIs for thousands of organizations and businesses around the world.
This chart deploys the open source Tyk Gateway.
Tyk Gateway is a fully open source Enterprise API Gateway, supporting REST, GraphQL, TCP and gRPC protocols.
Tyk Gateway is provided ‘Batteries-included’, with no feature lockout. It enables organisations and businesses around
the world to protect, secure, and process APIs and well as review and audit the consumed apis.
20 changes: 17 additions & 3 deletions tyk-headless/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,21 @@
## Tyk Community Edition
Provides a Tyk Installation for Community Edition Gateways
## Tyk OSS Gateway
gothka marked this conversation as resolved.
Show resolved Hide resolved
This chart deploys the open source Tyk Gateway.

---

[Installation](https://tyk.io/docs/apim/open-source/installation/) || [Documentation](https://tyk.io/docs) || [Community Forum](https://community.tyk.io/) || [Releases](https://hub.docker.com/r/tykio/tyk-gateway/tags?page=1&ordering=last_updated)

---

## Prerequisites
Redis should already be installed or accessible by the gateway.

Check [Tyk OSS Helm chart Installation](https://tyk.io/docs/tyk-oss/ce-helm-chart/) for the full details.

## Installation

helm repo add tyk-helm https://helm.tyk.io/public/helm/charts/
helm repo update
helm install tyk-ce tyk-helm/tyk-headless --version 0.9.1 -n tyk
kubectl create namespace tyk
helm install tyk-ce tyk-helm/tyk-headless --version 0.9.1 -n tyk --create-namespace

2 changes: 1 addition & 1 deletion tyk-headless/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Create chart name and version as used by the chart label.
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{- /* Create Sematic Version of gateway without prefix v */}}
{{- /* Create Semantic Version of gateway without prefix v */}}
{{- define "tyk-headless.gateway-version" -}}
{{- printf "%s" .Values.gateway.image.tag | replace "v" "" -}}
{{- end -}}
Expand Down
9 changes: 4 additions & 5 deletions tyk-hybrid/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
apiVersion: v1
appVersion: "1.0"
name: tyk-hybrid
version: 0.9.1
icon: https://tyk.io/wp-content/uploads/2021/07/tyk_logo_bg.jpg
Expand All @@ -17,7 +16,7 @@ keywords:
- open source gateway
- edge gateway
description: |-
This chart deploys the open source Tyk Gateway. It assumes Redis has already been installed.
Tyk is an open source Enterprise API Gateway, supporting REST, GraphQL, TCP and gRPC protocols.
Tyk Gateway is provided ‘Batteries-included’, with no feature lockout. Enabling your organization to control who accesses your APIs, when they access, and how they access it.
Tyk Technologies uses the same API Gateway for all it’s applications, protecting, securing, and processing APIs for thousands of organizations and businesses around the world.
This chart deploys the open source Tyk Gateway with an Hybrid setup that connects to a management control plane.
Tyk is a fully open source Enterprise API Gateway, supporting REST, GraphQL, TCP and gRPC protocols.
Tyk Gateway is provided ‘Batteries-included’, with no feature lockout. It enables organisations and businesses around
the world to protect, secure, and process APIs and well as review and audit the consumed apis.
29 changes: 19 additions & 10 deletions tyk-hybrid/README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,33 @@
## Tyk Hybrid
Provides a Tyk Installation for Hybrid Gateways connected to Tyk Cloud or MDCB Hybrid Gateways

[Installation](https://tyk.io/docs/apim/open-source/installation/) || [Documentation](https://tyk.io/docs) || [Community Forum](https://community.tyk.io/) || [Releases](https://hub.docker.com/r/tykio/tyk-gateway/tags?page=1&ordering=last_updated)

---

## Prerequisites
Redis should already be installed or accessible by the gateway.

Check [Tyk Hybrid Helm chart Installation](https://tyk.io/docs/tyk-cloud/environments-deployments/hybrid-gateways/#installing-hybrid-gateways-in-a-kubernetes-cluster) for the full details.

### Installation
```
helm repo add tyk-helm https://helm.tyk.io/public/helm/charts/
helm repo update
```

helm repo add tyk-helm https://helm.tyk.io/public/helm/charts/
helm repo update


Before we proceed with installation of the chart we need to set some custom values. To see what options are configurable on a chart and save that options to a custom values.yaml file run:
```
helm show values tyk-helm/tyk-hybrid > values.yaml
```

helm show values tyk-helm/tyk-hybrid > values.yaml


*For Tyk-hybrid chart we need to modify following values in your custom values.yaml file:*
1. Add your dashboard users organisation ID in `gateway.rpc.rpcKey` value
2. Add your dashboard users API key in `gateway.rpc.apiKey` value
3. Add your connection string to allow the Hybrid gateway to connect to your control plane in `gateway.rpc.connString`. On the Tyk Cloud Console find this value in the endpoints panel for your control plane deployment.

Then we can install the chart using our custom values file:
```
helm install tyk-hybrid tyk-helm/tyk-hybrid --version 0.9.1 -f values.yaml -n tyk
```

helm install tyk-hybrid tyk-helm/tyk-hybrid --version 0.9.1 -f values.yaml -n tyk --create-namespace

> If you are using hybrid gateway with the Tyk Classic Cloud use the rpc settings block commented out in the `values.yaml`
10 changes: 4 additions & 6 deletions tyk-pro/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
apiVersion: v1
appVersion: "1.0"
name: tyk-pro
version: 0.9.1
icon: https://tyk.io/wp-content/uploads/2021/07/tyk_logo_bg.jpg
Expand All @@ -17,8 +16,7 @@ keywords:
- open source gateway
- edge gateway
description: |-
This chart deploys Tyk platform including Tyk Manager (Tyk dashboard), Tyk Gateway, Tyk pump and MDCB (Multi Data-centre Bridge).
It assumes Mongo and Redis have already been installed.
Tyk platform includes an open source Enterprise API Gateway, supporting REST, GraphQL, TCP and gRPC protocols.
Tyk provides you with all the analytics you need - view your data through the Tyk Manager, then export it to any BI tool with Tyk Pump.
With the right data to hand, you have the power to make the right business and investment decisions.
This chart deploys full Tyk platform.
Tyk Gateway is a fully open source Enterprise API Gateway, supporting REST, GraphQL, TCP and gRPC protocols.
Tyk Gateway is provided ‘Batteries-included’, with no feature lockout. It enables organisations and businesses around
the world to protect, secure, and process APIs and well as review and audit the consumed apis.
74 changes: 33 additions & 41 deletions tyk-pro/README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,47 @@
## Tyk Pro
Provides a full Tyk Installation API Management Dashboard and API Gateways with Analytics)
## Tyk Self-managed
This chart provides a full Tyk API Management platform including Tyk Manager (Tyk dashboard), Tyk Gateway (OSS), Tyk pump
and MDCB (Multi Data-centre Bridge).

### Installation
```
helm repo add tyk-helm https://helm.tyk.io/public/helm/charts/
helm repo update
```
Before we proceed with installation of the chart we need to set some custom values. To see what options are configurable on a chart and save that options to a custom values.yaml file run:
```
helm show values tyk-helm/tyk-pro > values.yaml
```
*For Tyk-pro chart we need to modify following value in your custom values.yaml file:*
1. Add your dashboard license in `dash.license` value
---

Then we can install the chart using our custom values:
```
helm install tyk-pro tyk-helm/tyk-pro --version 0.9.1 -f values.yaml -n tyk --wait
```
> Please note the --wait argument is important for successful dashboard bootstrap.
[Installation](https://tyk.io/docs/apim/open-source/installation/) || [Documentation](https://tyk.io/docs) || [Community Forum](https://community.tyk.io/)

Follow the instructions in the Notes that follow the installation to find your Tyk login credentials.
---

### Tyk Developer Portal
You can disable the bootstrapping of the Developer Portal using the `portal.bootstrap` option in `values.yaml`.
## Prerequisites
Redis and MongoDB should already be installed or accessible by the gateway.

## Installing TIB
TIB is not necessary to install for this chart as it's functionality is included in the Tyk Dashboard API Manager. However, if you want to run it separately from the Dashboard you can do so.
Check [Tyk Self-managed Helm chart Installation](https://tyk.io/docs/tyk-self-managed/tyk-helm-chart/) for the full details.

The Tyk Identity Broker (TIB) is a micro-service portal that provides a bridge between various Identity Management Systems such as LDAP, Social OAuth (e.g. GPlus, Twitter, GitHub), legacy Basic Authentication providers, to your Tyk installation (https://tyk.io/docs/getting-started/tyk-components/identity-broker/).
### Installation

Once you have installed the `Gateway` and `Dashboard` components you can configure TIB by adding its configuration environment variables under the `tib.extraEnvs` section and updating the `profile.json` under the configs folder, you can read about how to configure them here /~https://github.com/TykTechnologies/tyk-identity-broker#how-to-configure-tib. Once you complete your modifications you can run the following command to update the helm chart if you had already installed it:
```
helm upgrade tyk-pro tyk-helm/tyk-pro -n tyk
```
This chart implies there's a ConfigMap with a `profiles.json` definition in it. Please use `tib.configMap.profiles` value to set the name of this ConfigMap (`tyk-tib-profiles-conf` by default).
helm repo add tyk-helm https://helm.tyk.io/public/helm/charts/
helm repo update

## Installing MDCB
If you are deploying the Master Data Centre in an MDCB deployment then you can set the `mdcb.enabled` option in the `values.yaml` to `true` to add of the MDCB component to your installation. For more details about the MDCB component see here https://tyk.io/docs/tyk-multi-data-centre/
Before we proceed with installation of the chart we need to set some custom values.
To see what options are configurable on a chart and save that options to a custom values.yaml file run:

This enables multi cluster, multi Data-Centre API management from a single Dashboard.
helm show values tyk-helm/tyk-pro > values.yaml

**Secrets**
The Tyk owned MDCB registry is private and requires adding users to our organisation which you then define as a secret when pulling the MDCB image. Please contact your account manager to arrange this.
For *Tyk Self-managed* chart we need to set the following in `values.yaml` or with `--set {field-name}={field-value}`with the helm install command:

## Caveat: Tyk license and the number of gateway nodes
Different Tyk Pro Licenses allow for different numbers of Gateway nodes to connect to a single Dashboard instance - ensure that your Gateway pods will not scale beyond this number by setting the gateway resource kind to `Deployment` and setting the replica count to the node limit. For example, use the following options for a single node license: `--set gateway.kind=Deployment --set gateway.replicaCount=1` or similar if modifying the `values.yaml`.
| | Description | Field name |
|--|-------------------------|---------------------|
|1.| License key | `dash.license` |
|2.| Mongodb root password | in `mongo.mongoURL` |
|3.| Redis password | `redis.pass` |

Note, however, there may be intermittent issues on the new pods during the rolling update process, when the total number of online gateway pods is more than the license limit with lower amounts of Licensed nodes.

## Sharding
Sharding is adding the ability for you to decide which of your APIs are loaded on which gateways. This option is turned off by default, however, you can turn it on by updating the `gateway.sharding.enabled` option. Once you do that you will need to also populate the `gateway.sharding.tags` value which the tags that you want that gateway to load. (ex. tags: "external,ingress".) You can then add those tags to your APIs in the API Designer, under the "Advanced Options" tab, and `Segment Tags (Node Segmentation)` section in the dashboard.
Then we can install the chart using our custom values:

helm install tyk-pro tyk-helm/tyk-pro --version 0.9.1 -f values.yaml -n tyk --create-namespace --wait

> Please note the --wait argument is important for successful dashboard bootstrap.

Follow the instructions in the Notes that follow the installation to find your Tyk login credentials.

## Istio Service Mesh Ingress gateway
To use Tyks gateways as the ingress to your Istio Service Mesh simply change `gateway.enableIstioIngress: true` in the values.yaml. Ensure you are using an Istio manifest which disables the default Istio Ingress gateway.
### Other component
Please refer to Tyk official docs for details about installation and setting [*TIB*](https://tyk.io/docs/tyk-self-managed/tyk-helm-chart/#tyk-identity-broker-tib),
[*Tyk Developer portal*](https://tyk.io/docs/tyk-self-managed/tyk-helm-chart/#tyk-developer-portal),
[*MDCB*](https://tyk.io/docs/tyk-self-managed/tyk-helm-chart/#installing-tyk-self-managed-control-plane) and
[*Istio*](https://tyk.io/docs/tyk-self-managed/istio/).
2 changes: 1 addition & 1 deletion tyk-pro/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ mongodb://mongo.{{ .Release.Namespace }}.svc.cluster.local:27017/tyk_analytics
{{- end -}}
{{- end -}}

{{- /* Create Sematic Version of gateway without prefix v */}}
{{- /* Create Semantic Version of gateway without prefix v */}}
{{- define "tyk-pro.gateway-version" -}}
{{- printf "%s" .Values.gateway.image.tag | replace "v" "" -}}
{{- end -}}
6 changes: 5 additions & 1 deletion tyk-pro/templates/bootstrap-post-install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ metadata:
labels:
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}

# Removed the use of appVersion since it's not accurate. We'll put it back in v1.0
# when every app will have its own a chart
# app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}

helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
annotations:
# This is what defines this resource as a hook. Without this line, the
Expand Down
4 changes: 2 additions & 2 deletions tyk-pro/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ redis:
storage:
database: 0

mongo: {}
mongo:
# The mongoURL value will allow you to set your MongoDB address.
# Default value: mongodb://mongo.{{ .Release.Namespace }}.svc.cluster.local:27017/tyk_analytics
# mongoURL: mongodb://mongo.tyk.svc.cluster.local:27017/tyk_analytics
Expand All @@ -66,7 +66,7 @@ mongo: {}

# Enables SSL for MongoDB connection. MongoDB instance will have to support that.
# Default value: false
# useSSL: true
useSSL: false

mdcb:
# Determines whither or not the mdcb component should be installed.
Expand Down