/helm-swagger-ui

Helm Chart for Swagger UI

Primary LanguageMustacheApache License 2.0Apache-2.0

Helm Chart for swagger-ui

Introduction

This Helm chart installs swagger-ui in a Kubernetes cluster.

Fork from https://github.com/cetic/helm-swagger-ui, the only changes are a updated ingress and support for JSON URLs.

Prerequisites

  • Kubernetes cluster 1.10+
  • Helm 3.0.0+
  • PV provisioner support in the underlying infrastructure.

Installation

Add Helm repository

helm repo add x
helm repo update

Configure the chart

The following items can be set via --set flag during installation or configured by editing the values.yaml directly (need to download the chart first).

Configure the way how to expose swagger-ui service:

  • Ingress: The ingress controller must be installed in the Kubernetes cluster.
  • ClusterIP: Exposes the service on a cluster-internal IP. Choosing this value makes the service only reachable from within the cluster.
  • NodePort: Exposes the service on each Node’s IP at a static port (the NodePort). You’ll be able to contact the NodePort service, from outside the cluster, by requesting NodeIP:NodePort.
  • LoadBalancer: Exposes the service externally using a cloud provider’s load balancer.

Install the chart

Install the swagger-ui helm chart with a release name my-release:

helm install --name my-release x

Uninstallation

To uninstall/delete the my-release deployment:

helm delete --purge my-release

Configuration

The following table lists the configurable parameters of the swagger-ui chart and the default values.

Parameter Description Default
Image
image.repository swagger-ui Image name swaggerapi/swagger-ui
image.tag swagger-ui Image tag v3.24.3
image.pullPolicy swagger-ui Image pull policy IfNotPresent
imagePullSecrets list of names of secrets containing docker registry credentials []
Swagger-UI
swaggerui.jsonPath location of the configuration json file file ""
swaggerui.jsonUrl location of the configuration json file file http://petstore.swagger.io/v2/swagger.json
swaggerui.server.url Url of a custom server "http://www.google.be"
swaggerui.server.description description of a custom server "helm-online"
Deployment
deployment.replicas Number of replicas 1
deployment.extraEnv Additional environment variable ``
deployment.jsonNoCheckCertificate Enable/Disable certificate check false
Service
service.type Type of service for swagger-ui frontend NodePort
service.port Port to expose service 8080
service.nodePort Port where the service is reachable 30245
service.clusterIP internal cluster service IP (set to "-" to pass an empty value) nil
service.loadBalancerIP LoadBalancerIP if service type is LoadBalancer nil
service.loadBalancerSourceRanges Address that are allowed when svc is LoadBalancer []
service.annotations Service annotations {}
Ingress
ingress.enabled Enables Ingress false
ingress.annotations Ingress annotations {}
ingress.path Path to access frontend /
ingress.hosts Ingress hosts []
ingress.tls Ingress TLS configuration []
ReadinessProbe
readinessProbe Rediness Probe settings nil
LivenessProbe
livenessProbe.httpGet.path Liveness Probe settings /
livenessProbe.httpGet.port Liveness Probe settings http
livenessProbe.initialDelaySeconds Liveness Probe settings 60
livenessProbe.periodSeconds Liveness Probe settings 30
livenessProbe.timeoutSeconds Liveness Probe settings 10
Resources
resources CPU/Memory resource requests/limits {}

Contributing

Feel free to contribute by making a pull request.

Please read the official Contribution Guide from Helm for more information on how you can contribute to this Chart.

License

Apache License 2.0