Kroki creates diagrams from textual descriptions.
DISCLAIMER: This is an unofficial chart not supported by Kroki authors.
$ helm repo add cowboysysop https://cowboysysop.github.io/charts/
$ helm install my-release cowboysysop/kroki
This chart bootstraps a Kroki deployment on a Kubernetes cluster using the Helm package manager.
- Kubernetes >= 1.24
- Helm >= 3.9
Install the chart using:
$ helm repo add cowboysysop https://cowboysysop.github.io/charts/
$ helm install my-release cowboysysop/kroki
These commands deploy Kroki 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.
Upgrade the chart deployment using:
$ helm upgrade my-release cowboysysop/kroki
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.
BlockDiag and WireViz are now available in the main Kroki container.
All parameters related to BlockDiag and WireViz have been removed.
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.
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
.
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
.
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.
Name | Description | Default |
---|---|---|
global.imageRegistry |
Global Docker image registry | "" |
global.imagePullSecrets |
Global Docker registry secret names as an array | [] |
Name | Description | Default |
---|---|---|
kubeVersion |
Override Kubernetes version | "" |
nameOverride |
Partially override kroki.fullname template with a string (will prepend the release name) |
"" |
fullnameOverride |
Fully override kroki.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 | [] |
Name | Description | Default |
---|---|---|
replicaCount |
Number of replicas | 1 |
image.registry |
Image registry | docker.io |
image.repository |
Image repository | yuzutech/kroki |
image.tag |
Image tag | 0.25.0 |
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 kroki.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 | 8000 |
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.sessionAffinity |
Control where client requests go, to the same pod or round-robin | None |
service.sessionAffinityConfig |
Additional settings for the sessionAffinity | {} |
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 | 8000 |
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 Kroki installation | kroki.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 |
autoscaling.hpa.enabled |
Enable HPA | false |
autoscaling.hpa.minReplicas |
Minimum number of replicas | "" |
autoscaling.hpa.maxReplicas |
Maximum number of replicas | "" |
autoscaling.hpa.targetCPU |
Target CPU utilization percentage | "" |
autoscaling.hpa.targetMemory |
Target Memory utilization percentage | "" |
Name | Description | Default |
---|---|---|
bpmn.enabled |
Enable BPMN | true |
bpmn.image.registry |
Image registry | docker.io |
bpmn.image.repository |
Image repository | yuzutech/kroki-bpmn |
bpmn.image.tag |
Image tag | 0.25.0 |
bpmn.image.digest |
Image digest | "" |
bpmn.image.pullPolicy |
Image pull policy | IfNotPresent |
bpmn.securityContext |
Container security context | {} |
bpmn.containerPorts.http |
Container port for HTTP | 8003 |
bpmn.resources |
CPU/Memory resource requests/limits | {} |
bpmn.extraArgs |
Additional container arguments | {} |
bpmn.extraEnvVars |
Additional container environment variables | [] |
bpmn.extraEnvVarsCM |
Name of existing ConfigMap containing additional container environment variables | nil |
bpmn.extraEnvVarsSecret |
Name of existing Secret containing additional container environment variables | nil |
Name | Description | Default |
---|---|---|
diagramsnet.enabled |
Enable Diagrams.net | true |
diagramsnet.image.registry |
Image registry | docker.io |
diagramsnet.image.repository |
Image repository | yuzutech/kroki-diagramsnet |
diagramsnet.image.tag |
Image tag | 0.25.0 |
diagramsnet.image.digest |
Image digest | "" |
diagramsnet.image.pullPolicy |
Image pull policy | IfNotPresent |
diagramsnet.securityContext |
Container security context | {} |
diagramsnet.containerPorts.http |
Container port for HTTP | 8005 |
diagramsnet.resources |
CPU/Memory resource requests/limits | {} |
diagramsnet.extraArgs |
Additional container arguments | {} |
diagramsnet.extraEnvVars |
Additional container environment variables | [] |
diagramsnet.extraEnvVarsCM |
Name of existing ConfigMap containing additional container environment variables | nil |
diagramsnet.extraEnvVarsSecret |
Name of existing Secret containing additional container environment variables | nil |
Name | Description | Default |
---|---|---|
excalidraw.enabled |
Enable Excalidraw | true |
excalidraw.image.registry |
Image registry | docker.io |
excalidraw.image.repository |
Image repository | yuzutech/kroki-excalidraw |
excalidraw.image.tag |
Image tag | 0.25.0 |
excalidraw.image.digest |
Image digest | "" |
excalidraw.image.pullPolicy |
Image pull policy | IfNotPresent |
excalidraw.securityContext |
Container security context | {} |
excalidraw.containerPorts.http |
Container port for HTTP | 8004 |
excalidraw.resources |
CPU/Memory resource requests/limits | {} |
excalidraw.extraArgs |
Additional container arguments | {} |
excalidraw.extraEnvVars |
Additional container environment variables | [] |
excalidraw.extraEnvVarsCM |
Name of existing ConfigMap containing additional container environment variables | nil |
excalidraw.extraEnvVarsSecret |
Name of existing Secret containing additional container environment variables | nil |
Name | Description | Default |
---|---|---|
mermaid.enabled |
Enable Mermaid | true |
mermaid.image.registry |
Image registry | docker.io |
mermaid.image.repository |
Image repository | yuzutech/kroki-mermaid |
mermaid.image.tag |
Image tag | 0.25.0 |
mermaid.image.digest |
Image digest | "" |
mermaid.image.pullPolicy |
Image pull policy | IfNotPresent |
mermaid.securityContext |
Container security context | {} |
mermaid.containerPorts.http |
Container port for HTTP | 8002 |
mermaid.resources |
CPU/Memory resource requests/limits | {} |
mermaid.extraArgs |
Additional container arguments | {} |
mermaid.extraEnvVars |
Additional container environment variables | [] |
mermaid.extraEnvVarsCM |
Name of existing ConfigMap containing additional container environment variables | nil |
mermaid.extraEnvVarsSecret |
Name of existing Secret containing additional container environment variables | nil |
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 |
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/kroki
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/kroki
TIP: You can use the default values.yaml.