Skip to content
Merged
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 @@ -230,6 +230,39 @@ To customize your own backup or auto-upgrade strategy, read:

Share these docs with your AI agent and ask it to implement the scripts for your environment.

## Pod Scheduling

Use standard Kubernetes scheduling fields to control where the OpenClaw pod runs:

All three fields — `nodeSelector`, `tolerations`, and `affinity` — are independent. You can use any of them individually or combine them as needed.

```yaml
nodeSelector:
disktype: ssd

tolerations:
- key: "dedicated"
operator: "Equal"
value: "openclaw"
effect: "NoSchedule"

affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: topology.kubernetes.io/zone
operator: In
values:
- us-east-1a
```

Add the fields you need to your `values.yaml` and apply during install or upgrade:

```bash
helm upgrade openclaw oci://ghcr.io/thepagent/openclaw-helm -n openclaw -f values.yaml
```

## Example: Add more skills

```yaml
Expand Down
14 changes: 14 additions & 0 deletions charts/openclaw-helm/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ spec:
{{- include "openclaw-helm.selectorLabels" . | nindent 6 }}
template:
metadata:
annotations:
checksum/config: {{ .Values.config | toJson | sha256sum }}
labels:
{{- include "openclaw-helm.selectorLabels" . | nindent 8 }}
spec:
Expand Down Expand Up @@ -126,6 +128,18 @@ spec:
mountPath: /home/node/.bash_aliases
subPath: bash_aliases

{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
- name: config
configMap:
Expand Down
10 changes: 10 additions & 0 deletions charts/openclaw-helm/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,3 +89,13 @@ env: {}
# - configMapRef:
# name: openclaw-config
envFrom: []

# nodeSelector constrains the pod to nodes with matching labels
# Example: { disktype: ssd }
nodeSelector: {}

# tolerations allow scheduling onto tainted nodes
tolerations: []

# affinity defines advanced node/pod scheduling rules
affinity: {}