codecentric/single-page-application-server-chart

By codecentric

Updated almost 2 years ago

Helm chart for images based on codecentric/single-page-application-server

Helm
1

1.2K

codecentric/single-page-application-server-chart repository overview

Helm chart for images based on codecentric/single-page-application-server

Overview

This Helm chart can deploy application container images which are based on codecentric/single-page-application-server. It provides a scalable and secure way to serve your SPA with customizable configuration options.

Installation

You can install the chart using the Docker Hub repository.

Using the version Tag

To install the chart using the version from Docker Hub. Replace {MAJOR}.{MINOR}.{PATCH} with the desired version number of this chart or image.

helm install my-release oci://docker.io/codecentric/single-page-application-server-chart \
  --version {MAJOR}.{MINOR}.{PATCH} \
  --set pod.container.image.repository=my-docker-repository/my-app-image \
  --set pod.container.image.tag=latest

For example, to install version 1.2.3, you would use:

helm install my-release oci://docker.io/codecentric/single-page-application-server-chart \
  --version 1.2.3 \
  --set pod.container.image.repository=my-docker-repository/my-app-image \
  --set pod.container.image.tag=latest

Values

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

ParameterDescriptionDefault
nameOverrideExplicit name of the application (not the application instance)""
fullnameOverrideExplicit fully qualified name of the application (not the application instance)""
config.default.base_hrefBase href for the SPA"/"
config.default.spa_config.endpointsSPA endpoints configuration{}
config.default.http.enabledEnable HTTPtrue
config.default.http.portHTTP port8080
config.default.https.enabledEnable HTTPSfalse
config.default.https.portHTTPS port8443
config.default.https.ssl_certificatePath to SSL certificate/var/run/secrets/tls/tls.crt
config.default.https.ssl_certificate_keyPath to SSL certificate key/var/run/secrets/tls/tls.key
labelsLabels added to all resource types{"app.kubernetes.io/component": "frontend"}
pod.labelsLabels for the pod{}
pod.annotationsAnnotations for the pod{}
pod.replicaCountNumber of replicas2
pod.securityContext.runAsNonRootRun containers as non-roottrue
pod.volumesAdditional volumes for the pod[]
pod.chartVolumes.configOut.mediumMedium for config output volume"Memory"
pod.chartVolumes.configOut.sizeLimitSize limit for config output volume"256Mi"
pod.chartVolumes.tmp.mediumMedium for tmp volume"Memory"
pod.chartVolumes.tmp.sizeLimitSize limit for tmp volume"2Gi"
pod.container.image.repositoryContainer image repository""
pod.container.image.pullPolicyContainer image pull policyAlways
pod.container.image.tagContainer image tag""
pod.container.image.pullSecretsImage pull secrets[]
pod.container.securityContext.capabilities.dropCapabilities to drop["ALL"]
pod.container.securityContext.capabilities.addCapabilities to add["NET_BIND_SERVICE"]
pod.container.securityContext.readOnlyRootFilesystemUse read-only root filesystemtrue
pod.container.securityContext.allowPrivilegeEscalationAllow privilege escalationfalse
pod.container.securityContext.runAsNonRootRun container as non-roottrue
pod.container.livenessProbe.httpGet.pathPath for liveness probe/health/liveness
pod.container.livenessProbe.httpGet.portPort for liveness probehttp
pod.container.readinessProbe.httpGet.pathPath for readiness probe/health/readiness
pod.container.readinessProbe.httpGet.portPort for readiness probehttp
pod.container.volumeMountsVolume mounts for the container[]
pod.container.resources.limits.cpuCPU limit for the container2
pod.container.resources.limits.memoryMemory limit for the container4Gi
pod.container.resources.requests.cpuCPU request for the container100m
pod.container.resources.requests.memoryMemory request for the container512Mi
pod.nodeSelectorNode selector for the pod{}
pod.tolerationsTolerations for the pod[]
pod.affinityAffinity for the pod{}
pod.disruptionBudget.enabledEnable Pod Disruption Budgettrue
pod.disruptionBudget.maxUnavailableMaximum unavailable pods1
pod.disruptionBudget.minAvailableMinimum available pods0
pod.autoscaling.enabledEnable autoscalingfalse
pod.autoscaling.minReplicasMinimum replicas for autoscaling1
pod.autoscaling.maxReplicasMaximum replicas for autoscaling4
pod.autoscaling.targetCPUUtilizationPercentageTarget CPU utilization percentage for autoscaling50
pod.autoscaling.customMetricsCustom metrics for autoscaling[]
service.typeType of the serviceClusterIP
service.httpPortHTTP port for the service80
service.httpNodePortHTTP NodePort for the service""
service.httpsPortHTTPS port for the service443
service.httpsNodePortHTTPS NodePort for the service""
service.annotationsAnnotations for the service{}
networkPolicy.enabledEnable NetworkPolicytrue
networkPolicy.policyTypesTypes of network policies["Egress"]
networkPolicy.egressEgress rules for the NetworkPolicy[]
networkPolicy.ingressIngress rules for the NetworkPolicy[]
http.hostsHTTP hosts configuration{}
ingress.enabledEnable Ingressfalse
ingress.classNameIngress class name""
ingress.targetServicePortNameTarget service port name for Ingresshttp
ingress.annotationsAnnotations for Ingress{}
openshift.route.enabledEnable OpenShift Routefalse
openshift.route.annotationsAnnotations for OpenShift Route{}
openshift.route.tls.terminationTLS termination for OpenShift Routereencrypt
openshift.route.tls.insecureEdgeTerminationPolicyInsecure edge termination policy for OpenShift RouteRedirect

Usage

Runtime Configuration

The application is configured using runtime configurations specified in config. Default values can be overridden by specifying custom values.

Labels and Annotations

Labels and annotations can be added to various resource types such as pods and services. These can be specified under the labels and annotations sections.

Pod Configuration

The pod configuration allows setting various parameters such as the number of replicas, security context, resource requests, and limits. Additional volumes and volume mounts can also be specified.

Service Configuration

Service configuration includes setting the type of service (e.g., ClusterIP), ports, and annotations.

Network Policies

Network policies can be configured to control the ingress and egress traffic to the application.

Ingress and OpenShift Route

Ingress and OpenShift Route configurations are provided to expose the application externally.

Autoscaling

Autoscaling can be enabled to automatically adjust the number of replicas based on CPU utilization or custom metrics.

License

MIT

Tag summary

Content type

Helm

Digest

sha256:51c7591b0

Size

6.2 kB

Last updated

almost 2 years ago

helm pull oci://registry-1.docker.io/codecentric/single-page-application-server-chart --version 1.10.0