Back to Charts

⚠️ Repo Archive Notice

stable/express-gateway/README.md

latest6.8 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

⚠️ Chart Deprecated

Express Gateway

Express Gateway is an API Gateway that sits at the heart of any microservices architecture.

TL;DR;

bash
$ helm install stable/express-gateway

Introduction

This chart bootstraps all the components needed to run Express Gateway on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.9+
  • PV provisioner support in the underlying infrastructure if persistence is needed for Express Gateway datastore (backed by Redis)

Installing the Chart

To install the chart with the release name my-release:

bash
$ helm install --name my-release stable/express-gateway

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

bash
$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

General Deployment Configuration Parameters

The following table lists the configurable parameters of the Express Gateway chart and their default values.

ParameterDescriptionDefault
image.repositoryExpress Gateway imageexpressgateway/express-gateway
image.tagExpress Gateway image versionv1.16.9
image.pullPolicyImage pull policyIfNotPresent
replicaCountExpress Gateway instance count1
admin.servicePortTCP port on which the Express Gateway admin service is exposed9876
admin.containerPortTCP port on which Express Gateway app listens for admin traffic9876
admin.nodePortNode port when service type is NodePort. Randomly chonsen by Kubernetes if not provided
admin.typek8s service type, Options: NodePort, ClusterIP, LoadBalancerNodePort
admin.loadBalancerIPWill reuse an existing ingress static IP for the admin servicenull
proxy.httpsSecure Proxy traffictrue
proxy.tlsWhen proxy.https is true, an array of key{}
proxy.servicePortTCP port on which the Express Gateway Proxy Service is exposed8080
proxy.containerPortTCP port on which the Express Gateway app listens for Proxy traffic8080
proxy.nodePortNode port when service type is NodePort. Randomly chonsen by Kubernetes if not provided
proxy.typek8s service type. Options: NodePort, ClusterIP, LoadBalancerNodePort
proxy.loadBalancerIPTo reuse an existing ingress static IP for the admin service
readinessProbeExpress Gateway readiness probe
livenessProbeExpress Gateway liveness probe
affinityNode/pod affinities
nodeSelectorNode labels for pod assignment{}
podAnnotationsAnnotations to add to each pod{}
resourcesPod resource requests & limits{}
tolerationsList of node taints to tolerate[]

Express Gateway configuration parameters

Express Gateway is configured through the Admin API interface. Its complete configuration is stored in a config map. However there are some parameters that need to beset up before the container can start.

yml

storage:
  emulate: true
  namespace: EG

crypto:
  cipherKey: sensitiveKey
  algorithm: aes256
  saltRounds: 10
session:
  secret: keyboard cat
  resave: false
  saveUninitialized: false
accessTokens:
  timeToExpiry: 7200000
refreshTokens:
  timeToExpiry: 7200000
authorizationCodes:
  timeToExpiry: 300000

For a complete list of Express Gateway cnfiguration parameters please check https://www.express-gateway.io/docs/configuration/system.config.yml

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

console
$ helm install stable/express-gateway --name my-release \
  --set=image.tag=v1.11.0,redis.enabled=false

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,

console
$ helm install stable/express-gateway --name my-release -f values.yaml

Tip: You can use the default values.yaml