2026-01-14 21:45:05 +00:00
|
|
|
# BentoPDF Helm Chart
|
|
|
|
|
|
|
|
|
|
Deploys **BentoPDF** as a **single NGINX container** serving the static frontend.
|
|
|
|
|
|
2026-02-02 21:22:21 +00:00
|
|
|
## Quickstart
|
2026-01-14 21:45:05 +00:00
|
|
|
|
2026-02-02 21:22:21 +00:00
|
|
|
### Option 1: Port-forward (testing)
|
2026-01-14 21:45:05 +00:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
helm install bentopdf ./chart
|
|
|
|
|
kubectl port-forward deploy/bentopdf 8080:8080
|
|
|
|
|
# open http://127.0.0.1:8080
|
|
|
|
|
```
|
|
|
|
|
|
2026-02-02 21:22:21 +00:00
|
|
|
### Option 2: Ingress
|
2026-01-14 21:45:05 +00:00
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
ingress:
|
|
|
|
|
enabled: true
|
|
|
|
|
className: nginx
|
|
|
|
|
hosts:
|
|
|
|
|
- host: bentopdf.example.com
|
|
|
|
|
paths:
|
|
|
|
|
- path: /
|
|
|
|
|
pathType: Prefix
|
|
|
|
|
```
|
|
|
|
|
|
2026-02-02 21:22:21 +00:00
|
|
|
### Option 3: Gateway API (Gateway + HTTPRoute)
|
2026-01-14 21:45:05 +00:00
|
|
|
|
2026-02-02 21:22:21 +00:00
|
|
|
```yaml
|
|
|
|
|
gateway:
|
|
|
|
|
enabled: true
|
|
|
|
|
gatewayClassName: "cloudflare" # or your gateway class
|
2026-01-14 21:45:05 +00:00
|
|
|
|
2026-02-02 21:22:21 +00:00
|
|
|
httpRoute:
|
|
|
|
|
enabled: true
|
|
|
|
|
hostnames:
|
|
|
|
|
- pdfs.example.com
|
|
|
|
|
```
|
2026-01-14 21:45:05 +00:00
|
|
|
|
2026-02-02 21:22:21 +00:00
|
|
|
**Note:** Both Gateway and HTTPRoute default to the release namespace. Omit `namespace` fields to use the release namespace automatically.
|
2026-01-14 21:45:05 +00:00
|
|
|
|
2026-02-02 21:22:21 +00:00
|
|
|
If you have an existing Gateway, set `gateway.enabled=false` and configure `httpRoute.parentRefs`:
|
2026-01-14 21:45:05 +00:00
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
gateway:
|
2026-02-02 21:22:21 +00:00
|
|
|
enabled: false
|
2026-01-14 21:45:05 +00:00
|
|
|
|
|
|
|
|
httpRoute:
|
|
|
|
|
enabled: true
|
|
|
|
|
parentRefs:
|
2026-02-02 21:22:21 +00:00
|
|
|
- name: existing-gateway
|
|
|
|
|
namespace: gateway-namespace
|
2026-01-14 21:45:05 +00:00
|
|
|
sectionName: http
|
2026-02-02 21:22:21 +00:00
|
|
|
hostnames:
|
|
|
|
|
- pdfs.example.com
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
|
|
### Image
|
|
|
|
|
|
|
|
|
|
- **`image.repository`**: container image repo (default: `ghcr.io/alam00000/bentopdf-simple`)
|
|
|
|
|
- **`image.tag`**: image tag (default: `Chart.appVersion`)
|
|
|
|
|
- **`image.pullPolicy`**: default `IfNotPresent`
|
|
|
|
|
|
|
|
|
|
### Ports
|
|
|
|
|
|
|
|
|
|
- **`containerPort`**: container listen port (**8080** for the BentoPDF nginx image)
|
|
|
|
|
- **`service.port`**: Service port exposed in-cluster (default **80**)
|
|
|
|
|
|
|
|
|
|
### Environment Variables
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
env:
|
|
|
|
|
- name: DISABLE_IPV6
|
|
|
|
|
value: "true"
|
2026-01-14 21:45:05 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Publish this chart to GHCR (OCI) for testing/deploying
|
|
|
|
|
|
|
|
|
|
### Build And Push OCI
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
echo "$GHCR_TOKEN" | helm registry login ghcr.io -u "$GHCR_USERNAME" --password-stdin
|
|
|
|
|
|
|
|
|
|
cd chart
|
|
|
|
|
helm package .
|
|
|
|
|
|
|
|
|
|
# produces bentopdf-<version>.tgz
|
|
|
|
|
helm push bentopdf-*.tgz oci://ghcr.io/$GHCR_USERNAME/charts
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
This could be automated as part of a Github workflow.
|
|
|
|
|
|
|
|
|
|
### Deploy
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-02-02 21:22:21 +00:00
|
|
|
helm upgrade --install bentopdf oci://ghcr.io/$GHCR_USERNAME/charts/bentopdf --version 1.0.0
|
2026-01-14 21:45:05 +00:00
|
|
|
```
|