Back to Charts

⚠️ Repo Archive Notice

stable/mercure/README.md

latest21.4 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.

Mercure

Mercure is a protocol allowing to push data updates to web browsers and other HTTP clients in a convenient, fast, reliable and battery-efficient way.

DEPRECATION NOTICE

This chart is deprecated and no longer supported.

TL;DR;

console
$ helm install stable/mercure

Introduction

This chart bootstraps a Mercure Hub deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.4+ with Beta APIs enabled
  • PV provisioner support in the underlying infrastructure

Installing the Chart

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

console
$ helm install --name my-release stable/mercure

The command deploys the Mercure Hub on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

console
$ helm delete my-release

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

Configuration

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

ParameterDescriptionDefault
transportUrlURL representation of the history database, see the dedicated documentationbolt://updates.db?size=0&cleanup_frequency=0.3
allowAnonymousset to true to allow subscribers with no valid JWT to connectfalse
subscriptionsset to true to expose the subscription web API and dispatch private updates when a subscription between the Hub and a subscriber is established or closedfalse
metricsset to true to enable the /metrics HTTP endpoint. Provide metrics for Hub monitoring in the OpenMetrics (Prometheus) formatmercure
metricsLoginif metrics are enabled, the login of the allowed user to access the /metrics endpointmercure
metricsPasswordif metrics are enabled, the password of the allowed user to access the /metrics endpointrandom string
corsAllowedOriginsa list of allowed CORS origins, can contain * for all[]
debugset to true to enable the debug mode (prints recovery stack traces)false
demoset to true to enable the demo mode (automatically enabled when debug is true)false
jwtAlgorithmthe JWT verification algorithm to use for both publishers and subscribers, e.g. HS256 (default) or RS512HS256
jwtKeythe JWT key to use for both publishers and subscribersrandom string
logFormatthe log formatFLUENTD
publishAllowedOriginsa list of origins allowed to publish (only applicable when using cookie-based auth)[]
publisherJwtKeymust contain the secret key to valid publishers' JWT, can be omitted in favor of jwtKeyempty
subscriberJwtKeymust contain the secret key to valid subscribers' JWT, can be omitted in favor of jwtKeyempty
heartbeatIntervalinterval between heartbeats (useful with some proxies, and old browsers)0s
readTimeoutmaximum duration for reading the entire request, including the body, set to 0s to disable5s
writeTimeoutmaximum duration before timing out writes of the response, set to 0s to disable60s
dispatchTimeoutmaximum duration of the dispatch of a single update, set to 0s to disable response5s
useForwardedHeadersuse the X-Forwarded-For, and X-Real-IP for the remote (client) IP address, X-Forwarded-Proto or X-Forwarded-Scheme for the scheme (http or https), X-Forwarded-Host for the host and the RFC 7239 Forwarded header, which may include both client IPs and schemes. If this option is enabled, the reverse proxy must override or remove these headers or you will be at risk.false
compressset to false to disable HTTP compression supporttrue
licensethe license to use (only useful for HA versions)empty
image.repositorycontroller container image repositorydunglas/mercure
image.tagcontroller container image tagv0.3.2
image.pullPolicycontroller container image pull policyIfNotPresent
nameOverrideName overrideempty
fullnameOverridefullname override`empty
service.typeService typeNodePort
service.portService port80
ingress.enabledEnables Ingressfalse
ingress.annotationsIngress annotations{}
ingress.hostsIngress accepted hostnames[{ host: chart-example.local, paths: [] }]
ingress.tlsIngress TLS configuration[]
serviceAccount.createWhether or not to create dedicated serviceAccount for ignitetrue
serviceAccount.nameIf serviceAccount.create is enabled, what should the serviceAccount name be - otherwise randomly generatednil
podSecurityContextPod Security Context{}
securityContextContainer Security Context{}
resourcescontroller pod resource requests & limits{}
nodeSelectornode labels for controller pod assignment{}
tolerationscontroller pod toleration for taints{}

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

console
$ helm install --name my-release --set jwtKey=FooBar,corsAllowedOrigins=example.com stable/mercure

The above command sets the JWT key to FooBar. Additionally it allows pages served from example.com to connect to the hub.

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

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

Tip: You can use the default values.yaml