Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,37 @@ helm install inngest . -f values-ingress.yaml --create-namespace

**Note**: Replace `inngest.example.com` with your actual domain and ensure DNS points to your ingress controller.

### 6. Using Sidecar Containers (e.g., GCP Cloud SQL Auth Proxy)

You can add sidecar containers, init containers, and extra volumes to the Inngest pod using templated strings. This is useful for database proxies, log collectors, or other sidecar services.

```yaml
# values-gcp-sql.yaml
inngest:
eventKey: "your_event_key_here"
signingKey: "your_signing_key_here"
postgres:
uri: "postgres://inngest:password@localhost:5432/inngest" # Connects via sidecar proxy

extraContainers:
- name: cloud-sql-proxy
image: gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.1.0
args:
- "--structured-logs"
- "my-project:us-central1:my-instance"
securityContext:
runAsNonRoot: true

postgresql:
enabled: false
```

Deploy:

```bash
helm install inngest . -f values-gcp-sql.yaml --create-namespace
```

## Setting Up HTTPS with Let's Encrypt

For automatic SSL certificate provisioning using Let's Encrypt, you need to install and configure cert-manager.
Expand Down Expand Up @@ -690,6 +721,8 @@ kubectl delete pvc -l app.kubernetes.io/name=inngest -n inngest
| `inngest.signingKey` | Signing key for validation | `""` | **Yes** |
| `postgresql.enabled` | Enable bundled PostgreSQL | `true` | No |
| `redis.enabled` | Enable bundled Redis | `true` | No |
| `inngest.extraContainers` | Extra sidecar containers (template string) | `""` | No |
| `inngest.extraInitContainers` | Extra init containers (template string) | `""` | No |
| `ingress.enabled` | Enable ingress | `false` | No |
| `keda.enabled` | Enable KEDA autoscaling | `false` | No |

Expand Down
7 changes: 7 additions & 0 deletions templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ spec:
# Pod-level security context - runs as non-root user for security
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.inngest.extraInitContainers }}
initContainers:
{{- toYaml .Values.inngest.extraInitContainers | nindent 8 }}
{{- end }}
containers:
# Main Inngest application container
- name: {{ .Chart.Name }}
Expand Down Expand Up @@ -104,6 +108,9 @@ spec:
mountPath: /tmp
- name: inngest-data
mountPath: /data
{{- if .Values.inngest.extraContainers }}
{{- toYaml .Values.inngest.extraContainers | nindent 8 }}
{{- end }}
{{- if .Values.keda.enabled }}
# Prometheus sidecar container - scrapes Inngest metrics for KEDA autoscaling
# This container runs alongside the main Inngest container and provides
Expand Down
13 changes: 13 additions & 0 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,19 @@ inngest:
sqlite:
dir: "" # SQLite directory path (INNGEST_SQLITE_DIR)

# Extra containers to add to the Inngest pod as sidecars
# Useful for database proxies, log collectors, or other sidecar services
# Example:
# extraContainers:
# - name: cloud-sql-proxy
# image: gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.1.0
# args: ["--structured-logs", "my-project:us-central1:my-instance"]
extraContainers: []

# Extra init containers to add to the Inngest pod
extraInitContainers: []


# Internal PostgreSQL database configuration
# Set enabled: false to use external PostgreSQL (configure inngest.postgres.uri)
postgresql:
Expand Down