.. | ||
charts | ||
ci | ||
templates | ||
.helmignore | ||
Chart.lock | ||
Chart.yaml | ||
LICENSE | ||
README.md | ||
values.yaml |
Mongo Express
Mongo Express is a web-based MongoDB admin interface, written with Node.js and express.
DISCLAIMER: This is an unofficial chart not supported by Mongo Express authors.
TL;DR;
$ helm repo add cowboysysop https://cowboysysop.github.io/charts/
$ helm install my-release cowboysysop/mongo-express
Introduction
This chart bootstraps a Mongo Express deployment on a Kubernetes cluster using the Helm package manager.
Prerequisites
- Kubernetes >= 1.24
- Helm >= 3.9
Installing
Install the chart using:
$ helm repo add cowboysysop https://cowboysysop.github.io/charts/
$ helm install my-release cowboysysop/mongo-express
These commands deploy Mongo Express on the Kubernetes cluster in the default configuration and with the release name my-release
. The deployment configuration can be customized by specifying the customization parameters with the helm install
command using the --values
or --set
arguments. Find more information in the configuration section of this document.
Upgrading
Upgrade the chart deployment using:
$ helm upgrade my-release cowboysysop/mongo-express
The command upgrades the existing my-release
deployment with the most latest release of the chart.
TIP: Use helm repo update
to update information on available charts in the chart repositories.
Upgrading to version 5.0.0
The chart is now tested with Kubernetes >= 1.24 and Helm >= 3.9.
Future upgrades may introduce undetected breaking changes if you continue to use older versions.
Upgrading to version 4.0.0
Some parameters related to port management have been modified:
- Parameter
service.port
has been renamedservice.ports.http
. - Parameter
service.nodePort
has been renamedservice.nodePorts.http
.
Upgrading to version 3.0.0
Some parameters related to image management have been modified:
- Registry prefix in
image.repository
parameters is now configured inimage.registry
. - Parameter
imagePullSecrets
has been renamedglobal.imagePullSecrets
.
Upgrading to version 2.0.0
The chart is no more compatible with Helm 2.
Refer to the Helm documentation for more information.
Uninstalling
Uninstall the my-release
deployment using:
$ helm uninstall my-release
The command deletes the release named my-release
and frees all the kubernetes resources associated with the release.
TIP: Specify the --purge
argument to the above command to remove the release from the store and make its name free for later use.
Configuration
Global parameters
Name | Description | Default |
---|---|---|
global.imageRegistry |
Global Docker image registry | "" |
global.imagePullSecrets |
Global Docker registry secret names as an array | [] |
Common parameters
Name | Description | Default |
---|---|---|
kubeVersion |
Override Kubernetes version | "" |
nameOverride |
Partially override mongo-express.fullname template with a string (will prepend the release name) |
"" |
fullnameOverride |
Fully override mongo-express.fullname template with a string |
"" |
commonAnnotations |
Annotations to add to all deployed objects | {} |
commonLabels |
Labels to add to all deployed objects | {} |
extraDeploy |
Array of extra objects to deploy with the release | [] |
Parameters
Name | Description | Default |
---|---|---|
replicaCount |
Number of replicas | 1 |
image.registry |
Image registry | docker.io |
image.repository |
Image repository | mongo-express |
image.tag |
Image tag | 1.0.2 |
image.digest |
Image digest | "" |
image.pullPolicy |
Image pull policy | IfNotPresent |
pdb.create |
Specifies whether a pod disruption budget should be created | false |
pdb.minAvailable |
Minimum number/percentage of pods that should remain scheduled | 1 |
pdb.maxUnavailable |
Maximum number/percentage of pods that may be made unavailable | nil |
serviceAccount.create |
Specifies whether a service account should be created | true |
serviceAccount.annotations |
Service account annotations | {} |
serviceAccount.name |
The name of the service account to use (Generated using the mongo-express.fullname template if not set) |
nil |
deploymentAnnotations |
Additional deployment annotations | {} |
podAnnotations |
Additional pod annotations | {} |
podLabels |
Additional pod labels | {} |
podSecurityContext |
Pod security context | {} |
priorityClassName |
Priority class name | nil |
runtimeClassName |
Runtime class name | "" |
topologySpreadConstraints |
Topology Spread Constraints for pod assignment | [] |
securityContext |
Container security context | {} |
containerPorts.http |
Container port for HTTP | 8081 |
livenessProbe.enabled |
Enable liveness probe | true |
livenessProbe.initialDelaySeconds |
Delay before the liveness probe is initiated | 0 |
livenessProbe.periodSeconds |
How often to perform the liveness probe | 10 |
livenessProbe.timeoutSeconds |
When the liveness probe times out | 1 |
livenessProbe.failureThreshold |
Minimum consecutive failures for the liveness probe to be considered failed after having succeeded | 3 |
livenessProbe.successThreshold |
Minimum consecutive successes for the liveness probe to be considered successful after having failed | 1 |
readinessProbe.enabled |
Enable readiness probe | true |
readinessProbe.initialDelaySeconds |
Delay before the readiness probe is initiated | 0 |
readinessProbe.periodSeconds |
How often to perform the readiness probe | 10 |
readinessProbe.timeoutSeconds |
When the readiness probe times out | 1 |
readinessProbe.failureThreshold |
Minimum consecutive failures for the readiness probe to be considered failed after having succeeded | 3 |
readinessProbe.successThreshold |
Minimum consecutive successes for the readiness probe to be considered successful after having failed | 1 |
startupProbe.enabled |
Enable startup probe | false |
startupProbe.initialDelaySeconds |
Delay before the startup probe is initiated | 0 |
startupProbe.periodSeconds |
How often to perform the startup probe | 10 |
startupProbe.timeoutSeconds |
When the startup probe times out | 1 |
startupProbe.failureThreshold |
Minimum consecutive failures for the startup probe to be considered failed after having succeeded | 3 |
startupProbe.successThreshold |
Minimum consecutive successes for the startup probe to be considered successful after having failed | 1 |
service.annotations |
Service annotations | {} |
service.type |
Service type | ClusterIP |
service.clusterIP |
Static cluster IP address or None for headless service when service type is ClusterIP | nil |
service.loadBalancerIP |
Static load balancer IP address when service type is LoadBalancer | nil |
service.loadBalancerSourceRanges |
Source IP address ranges when service type is LoadBalancer | nil |
service.externalTrafficPolicy |
External traffic routing policy when service type is LoadBalancer or NodePort | Cluster |
service.ports.http |
Service port for HTTP | 8081 |
service.nodePorts.http |
Service node port for HTTP when service type is LoadBalancer or NodePort | nil |
ingress.enabled |
Enable ingress controller resource | false |
ingress.ingressClassName |
IngressClass that will be be used to implement the Ingress | "" |
ingress.pathType |
Ingress path type | ImplementationSpecific |
ingress.annotations |
Ingress annotations | {} |
ingress.hosts[0].host |
Hostname to your Mongo Express installation | mongo-express.local |
ingress.hosts[0].paths |
Paths within the url structure | ["/"] |
ingress.tls |
TLS configuration | [] |
resources |
CPU/Memory resource requests/limits | {} |
nodeSelector |
Node labels for pod assignment | {} |
tolerations |
Tolerations for pod assignment | [] |
affinity |
Map of node/pod affinities | {} |
extraArgs |
Additional container arguments | {} |
extraEnvVars |
Additional container environment variables | [] |
extraEnvVarsCM |
Name of existing ConfigMap containing additional container environment variables | nil |
extraEnvVarsSecret |
Name of existing Secret containing additional container environment variables | nil |
Config parameters
Name | Description | Default |
---|---|---|
mongodbServer |
MongoDB host name or IP address | mongodb |
mongodbPort |
MongoDB port | 27017 |
mongodbEnableAdmin |
Enable administrator access | false |
mongodbAdminUsername |
Administrator username | root |
mongodbAdminPassword |
Administrator password | "" |
mongodbAuthUsername |
Database username (only needed if mongodbEnableAdmin is false ) |
"" |
mongodbAuthPassword |
Database password (only needed if mongodbEnableAdmin is false ) |
"" |
mongodbAuthDatabase |
Database name (only needed if mongodbEnableAdmin is false ) |
"" |
siteBaseUrl |
Set the express baseUrl to ease mounting at a subdirectory | / |
siteCookieSecret |
String used by cookie-parser middleware to sign cookies (Random 32 character long alphanumeric string if not set) | "" |
siteSessionSecret |
String used to sign the session ID cookie by express-session middleware (Random 32 character long alphanumeric string if not set) | "" |
basicAuthUsername |
Mongo Express web login name | "" |
basicAuthPassword |
Mongo Express web login password | "" |
existingSecret |
Name of existing Secret to use | "" |
existingSecretKeyMongodbAdminPassword |
Key in existing Secret that contains administrator password | mongodb-admin-password |
existingSecretKeyMongodbAuthPassword |
Key in existing Secret that contains database password | mongodb-auth-password |
existingSecretKeySiteCookieSecret |
Key in existing Secret that contains string used by cookie-parser middleware to sign cookies | site-cookie-secret |
existingSecretKeySiteSessionSecret |
Key in existing Secret that contains string used to sign the session ID cookie by express-session middleware | site-session-secret |
existingSecretKeyBasicAuthPassword |
Key in existing Secret that contains Mongo Express web login password | basic-auth-password |
MongoDB parameters
Name | Description | Default |
---|---|---|
mongodb.enabled |
Whether to use the MongoDB chart (for testing purposes only) | false |
Tests parameters
Name | Description | Default |
---|---|---|
tests.image.registry |
Image registry | ghcr.io |
tests.image.repository |
Image repository | cowboysysop/pytest |
tests.image.tag |
Image tag | 1.0.41 |
tests.image.digest |
Image digest | "" |
tests.image.pullPolicy |
Image pull policy | IfNotPresent |
Setting parameters
Specify the parameters you which to customize using the --set
argument to the helm install
command. For instance,
$ helm install my-release \
--set nameOverride=my-name cowboysysop/mongo-express
The above command sets the nameOverride
to my-name
.
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
$ helm install my-release \
--values values.yaml cowboysysop/mongo-express
TIP: You can use the default values.yaml.