Helm/Kroki
|
Helm |
|---|
helm repo add cowboysysop https://cowboysysop.github.io/charts
helm repo update && helm repo list
kubectl config get-contexts
|
Helm » Context
|
Helm » Context | |
|---|---|
export KUBECONFIG="${HOME}/.kube/aws-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/dev-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/gcp-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/config"
|
cat <<'EXE'| sudo bash
mkdir -p /var/minikube/pvc/kroki/data-kroki-0/
chown -R 1001:1001 /var/minikube/pvc/kroki/
EXE
|
Helm » Install
|
Helm » Install | |
|---|---|
helm show values cowboysysop/kroki --version=5.7.0|less
helm show values cowboysysop/kroki --version=6.0.0|less
| |
export KUBECONFIG="${HOME}/.kube/shahed-ab-kubeconfig.yaml"
kubectl create ns kroki || true
|
kubectl get ns|grep kroki
kubectl delete ns kroki || true
|
|
| |
cat <<'YML'| \
kubectl apply -f -
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: kroki-data-kroki-0
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: hostpath
hostPath:
path: /var/hostpath_pv/kroki/data-kroki-0
type: DirectoryOrCreate
YML
|
cat << YML | \
kubectl apply -f -
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app.kubernetes.io/name: kroki
name: data-kroki-0
namespace: kroki
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: hostpath
volumeName: kroki-data-kroki-0
YML
|
cat <<'YML' | \
helm -n=kroki upgrade -i kroki cowboysysop/kroki --version=6.0.0 -f -
---
replicaCount: 1
nameOverride: ops
fullnameOverride: kroki
revisionHistoryLimit: 5
image:
tag: 0.28.0
registry: docker.io
repository: yuzutech/kroki
service:
type: ClusterIP
ports:
http: 8000
ingress:
enabled: true
ingressClassName: nginx
pathType: ImplementationSpecific
annotations:
kubernetes.io/tls-acme: "false"
kubernetes.io/ingress.class: nginx
hosts:
- host: kroki.shahed.biz.ops
paths:
- /
resources:
requests:
cpu: 25m
memory: 64Mi
limits:
cpu: 100m
memory: 128Mi
mermaid:
enabled: true
image:
tag: 0.28.0
registry: docker.io
repository: yuzutech/kroki-mermaid
containerPorts:
http: 8002
resources:
requests:
cpu: 25m
memory: 64Mi
limits:
cpu: 200m
memory: 256Mi
bpmn:
enabled: true
image:
tag: 0.28.0
registry: docker.io
repository: yuzutech/kroki-bpmn
containerPorts:
http: 8003
resources:
requests:
cpu: 25m
memory: 64Mi
limits:
cpu: 150m
memory: 256Mi
extraEnvVars:
- name: JAVA_TOOL_OPTIONS
value: "-XX:MaxRAMPercentage=75 -XX:InitialRAMPercentage=50"
excalidraw:
enabled: false
image:
tag: 0.28.0
registry: docker.io
repository: yuzutech/kroki-excalidraw
containerPorts:
http: 8004
resources:
requests:
cpu: 25m
memory: 64Mi
limits:
cpu: 150m
memory: 256Mi
extraEnvVars:
- name: CHROME_FLAGS
value: "--disable-gpu --disable-vulkan --disable-software-rasterizer --headless=new"
- name: LIBGL_ALWAYS_SOFTWARE
value: "1"
diagramsnet:
enabled: false
image:
tag: 0.28.0
registry: docker.io
repository: yuzutech/kroki-diagramsnet
containerPorts:
http: 8005
resources:
requests:
cpu: 75m
memory: 256Mi
limits:
cpu: 400m
memory: 768Mi
YML
|
|
telnet kroki.shahed.biz.ops 443
setsid open https://kroki.shahed.biz.ops >/dev/null 2>&1 &
| |
Helm » Ingress
|
Kroki » Ingress | |
|---|---|
cat <<'YML' | \
kubectl -n kroki apply -f -
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: kroki-cert
namespace: kroki
spec:
secretName: kroki-cert
commonName: kroki.shahed.biz.ops
dnsNames:
- kroki.shahed.biz.ops
duration: 8760h
renewBefore: 720h
privateKey:
size: 256
encoding: PKCS8
algorithm: ECDSA
rotationPolicy: Always
usages:
- digital signature
- key encipherment
- server auth
- client auth
subject:
countries: ["BD"]
provinces: ["Dhaka"]
postalCodes: ["1500"]
localities: ["Munshiganj"]
organizations: ["Shahed, Inc."]
organizationalUnits: ["kroki.shahed.biz.ops"]
streetAddresses: ["256 Khal East, Passport Office"]
issuerRef:
name: shahed-ecc-sub-ca-2025-k8s
kind: ClusterIssuer
YML
|
Shahed_ECC_Root_CA_2025 » Firefox » Settings » Certificates » View Certificates » Import |
cat <<'YML' | \
kubectl -n kroki patch ingress/kroki --patch-file=/dev/stdin
---
metadata:
annotations:
cert-manager.io/cluster-issuer: shahed-ecc-sub-ca-2025-k8s
spec:
tls:
- hosts:
- kroki.shahed.biz.ops
secretName: kroki-cert
YML
|
cat <<'YML' | \
kubectl -n kroki patch ingress/kroki --patch-file=/dev/stdin
---
metadata:
annotations:
cert-manager.io/cluster-issuer: null
spec:
tls: null
YML
|
setsid open http://kroki.shahed.biz.ops >/dev/null 2>&1 &
setsid open https://kroki.shahed.biz.ops >/dev/null 2>&1 &
|
|
Helm » Config
|
Kroki » Config |
Kroki » Revert |
|---|---|
cat <<'YML' | \
kubectl -n kroki patch deploy/kroki --patch-file=/dev/stdin
---
spec:
replicas: 0
YML
|
cat <<'YML' | \
kubectl -n kroki patch deploy/kroki --patch-file=/dev/stdin
---
spec:
replicas: 1
YML
|
Helm » Debug
|
Helm » Debug |
|---|
kubectl -n kroki exec -it svc/kroki -c kroki -- cat /etc/resolv.conf
kubectl -n kroki exec -it svc/kroki -c kroki -- cat /etc/hosts
kubectl -n kroki exec -it svc/kroki -c diagramsnet -- bash
kubectl -n kroki exec -it svc/kroki -c excalidraw -- bash
kubectl -n kroki exec -it svc/kroki -c mermaid -- bash
kubectl -n kroki exec -it svc/kroki -c kroki -- bash
kubectl -n kroki exec -it svc/kroki -c bpmn -- bash
kubectl -n kroki logs -f svc/kroki -c diagramsnet
kubectl -n kroki logs -f svc/kroki -c excalidraw
kubectl -n kroki logs -f svc/kroki -c mermaid
kubectl -n kroki logs -f svc/kroki -c kroki
kubectl -n kroki logs -f svc/kroki -c bpmn
kubectl -n kroki logs -f svc/kroki
|
Helm » Rollout
|
Kroki » Rollout | |
|---|---|
kubectl -n kroki annotate deploy/kroki --overwrite \
kubernetes.io/change-cause="CKI-1| Initial Deployment"
|
kubectl -n kroki rollout history deploy/kroki
kubectl -n kroki rollout pause deploy/kroki
|
|
Kroki » Rollout |
Kroki » Revert |
cat <<'YML' | \
kubectl -n kroki patch deploy/kroki --patch-file=/dev/stdin
---
spec:
template:
spec:
containers:
- name: kroki
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 200m
memory: 256Mi
YML
|
cat <<'YML' | \
kubectl -n kroki patch deploy/kroki --patch-file=/dev/stdin
---
spec:
template:
spec:
containers:
- name: kroki
resources:
requests:
cpu: 25m
memory: 64Mi
limits:
cpu: 100m
memory: 128Mi
YML
|
kubectl -n kroki annotate deploy/kroki --overwrite \
kubernetes.io/change-cause="CKI-2| Resources Updated"
|
kubectl -n kroki rollout resume deploy/kroki
kubectl -n kroki rollout history deploy/kroki
|
kubectl -n kroki rollout undo deploy/kroki --to-revision=1
kubectl -n kroki rollout history deploy/kroki
|
kubectl -n kroki annotate deploy/kroki --overwrite \
kubernetes.io/change-cause="CKI-3| Revert Back to CKI-1"
|
kubectl -n kroki get deploy kroki -o yaml \
| yq -P '.spec.template.spec.containers[]|select(.name == "kroki")|.resources'
|
kubectl -n kroki get deploy kroki \
-o jsonpath='{.spec.template.spec.containers[?(@.name=="kroki")].resources}' | yq -P
|
Helm » Uninstall
|
Helm » Uninstall |
|---|
kubectl delete ns kroki
helm -n kroki status kroki
helm -n kroki get all kroki
helm -n kroki uninstall kroki
kubectl -n kroki delete pvc --all
kubectl delete pv kroki-data-kroki-0
|
Kroki » Install
|
Kroki » Install |
|---|
cat <<'EXE' | sudo bash
KROKI_ARCH="$(echo "$(uname -s)_$(dpkg --print-architecture)"|tr '[:upper:]' '[:lower:]')"
KROKI_HOME="/opt/cli/$(echo "restic-$(uname -s)-$(dpkg --print-architecture)"|tr '[:upper:]' '[:lower:]')"
KROKI_VERSION=$(curl -s https://api.github.com/repos/yuzutech/kroki-cli/releases/latest | grep -Po '"tag_name": "v\K[^"]*')
curl -fsSLo kroki.tar.gz https://github.com/yuzutech/kroki-cli/releases/download/v${KROKI_VERSION}/kroki-cli_${KROKI_VERSION}_${KROKI_ARCH}.tar.gz
tar xf kroki.tar.gz kroki && install kroki /usr/local/bin
rm -rf kroki.tar.gz kroki
EXE
|
Playground
|
Playground | |
|---|---|
helm -n kroki install kroki cowboysysop/kroki --version=5.7.0
helm -n kroki upgrade -i kroki cowboysysop/kroki --version=6.0.0
helm show values cowboysysop/kroki --version=6.0.0|less
| |
kubectl -n kroki exec -it svc/kroki -c kroki -- bash
kubectl -n kroki logs -f svc/kroki -c kroki
kubectl -n kroki logs -f svc/kroki
| |
kubectl config --kubeconfig=${HOME}/.kube/aws-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/dev-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/gcp-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/config view --flatten
| |
kubectl -n kroki delete all --all
kubectl -n kroki delete ing --all
kubectl -n kroki delete sts --all
|
kubectl delete pv kroki-data-kroki-0
kubectl -n kroki delete svc --all
kubectl -n kroki delete pvc --all
|
kubectl -n kroki rollout history deploy kroki
kubectl -n kroki rollout restart deploy kroki
kubectl -n kroki rollout status deploy kroki
|
kubectl -n kroki exec -it svc/kroki -c kroki -- ash
kubectl -n kroki logs -f svc/kroki -c kroki
kubectl -n kroki logs -f svc/kroki
|
References
|
References | ||
|---|---|---|