chore(deps): update helm release openclaw to v1.5.21#1278
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update helm release openclaw to v1.5.21#1278renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
|
Helm Diff
@@ -1,13 +1,13 @@
annotations:
artifacthub.io/category: ai-machine-learning
artifacthub.io/changes: |
- - kind: fixed
- description: "Use query-string shields.io badge for app version"
+ - kind: changed
+ description: "Bump OpenClaw to 2026.4.15"
artifacthub.io/images: |
- name: openclaw
- image: ghcr.io/openclaw/openclaw:2026.3.13-1
+ image: ghcr.io/openclaw/openclaw:2026.4.15
- name: chromium
- image: chromedp/headless-shell:146.0.7680.76
+ image: chromedp/headless-shell:147.0.7727.102
artifacthub.io/license: MIT
artifacthub.io/links: |
- name: Documentation
@@ -18,7 +18,7 @@
fingerprint: 663862EB60C50E04AD73F198CA0FB121610B01FF
url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x663862EB60C50E04AD73F198CA0FB121610B01FF
apiVersion: v2
-appVersion: 2026.3.13-1
+appVersion: 2026.4.15
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
@@ -42,4 +42,4 @@
- https://github.com/serhanekicii/openclaw-helm
- https://serhanekici.com/openclaw-helm.html
type: application
-version: 1.5.3
+version: 1.5.21
@@ -8,13 +8,18 @@
app-template:
# @schema type:string;required:true
# -- OpenClaw image version (used by all OpenClaw containers)
- openclawVersion: "2026.3.13-1"
+ openclawVersion: "2026.4.15"
# @schema type:string
# -- Chromium sidecar image version
- chromiumVersion: "146.0.7680.76"
+ chromiumVersion: "147.0.7727.102"
# @schema type:string;enum:[merge, overwrite];default:merge
# -- Config mode: `merge` preserves runtime changes, `overwrite` for strict GitOps
configMode: merge
+ # @schema type:array
+ # -- ClawHub skills to install on startup. Set to [] to skip skill installation.
+ skills:
+ - weather
+ - gog
defaultPodOptions:
# -- Pod security context
@@ -43,73 +48,9 @@
# @schema type:string
tag: "{{ .Values.openclawVersion }}"
# -- Init-config startup script
- # @default -- See values.yaml
command:
- sh
- - -c
- - |
- log() { echo "[$(date -Iseconds)] [init-config] $*"; }
-
- log "Starting config initialization"
- mkdir -p /home/node/.openclaw
- CONFIG_MODE="${CONFIG_MODE:-merge}"
-
- if [ "$CONFIG_MODE" = "merge" ] && [ -f /home/node/.openclaw/openclaw.json ]; then
- log "Mode: merge - merging Helm config with existing config"
- if node -e "
- const fs = require('fs');
- // Strip JSON5 single-line comments while preserving // inside strings (e.g. URLs)
- const stripComments = (s) => {
- let r = '', q = false, i = 0;
- while (i < s.length) {
- if (q) {
- if (s[i] === '\\\\') { r += s[i] + s[i+1]; i += 2; continue; }
- if (s[i] === '\"') q = false;
- r += s[i++];
- } else if (s[i] === '\"') {
- q = true; r += s[i++];
- } else if (s[i] === '/' && s[i+1] === '/') {
- while (i < s.length && s[i] !== '\n') i++;
- } else { r += s[i++]; }
- }
- return r;
- };
- let existing;
- try {
- existing = JSON.parse(stripComments(fs.readFileSync('/home/node/.openclaw/openclaw.json', 'utf8')));
- } catch (e) {
- console.error('[init-config] Warning: existing config is not valid JSON, will overwrite');
- process.exit(1);
- }
- const helm = JSON.parse(stripComments(fs.readFileSync('/config/openclaw.json', 'utf8')));
- const deepMerge = (target, source) => {
- for (const key of Object.keys(source)) {
- if (source[key] && typeof source[key] === 'object' && !Array.isArray(source[key])) {
- target[key] = target[key] || {};
- deepMerge(target[key], source[key]);
- } else {
- target[key] = source[key];
- }
- }
- return target;
- };
- const merged = deepMerge(existing, helm);
- fs.writeFileSync('/home/node/.openclaw/openclaw.json', JSON.stringify(merged, null, 2));
- "; then
- log "Config merged successfully"
- else
- log "WARNING: Merge failed (existing config may not be valid JSON), falling back to overwrite"
- cp /config/openclaw.json /home/node/.openclaw/openclaw.json
- fi
- else
- if [ ! -f /home/node/.openclaw/openclaw.json ]; then
- log "Fresh install - writing initial config"
- else
- log "Mode: overwrite - replacing config with Helm values"
- fi
- cp /config/openclaw.json /home/node/.openclaw/openclaw.json
- fi
- log "Config initialization complete"
+ - /scripts/init-config.sh
env:
CONFIG_MODE: "{{ .Values.configMode | default \"merge\" }}"
securityContext:
@@ -131,87 +72,12 @@
# @schema type:string
tag: "{{ .Values.openclawVersion }}"
# -- Init-skills startup script
- # @default -- See values.yaml
command:
- sh
- - -c
- - |
- log() { echo "[$(date -Iseconds)] [init-skills] $*"; }
-
- log "Starting skills initialization"
-
- # ============================================================
- # Runtime Dependencies
- # ============================================================
- # Some skills require additional runtimes (Python, Go, etc.)
- # Install them here so they persist across pod restarts.
- #
- # Example: Install uv (Python package manager) for Python skills
- # mkdir -p /home/node/.openclaw/bin
- # if [ ! -f /home/node/.openclaw/bin/uv ]; then
- # log "Installing uv..."
- # curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/home/node/.openclaw/bin sh
- # fi
- #
- # Example: Install pnpm and packages for interfaces (e.g., MS Teams)
- # The read-only filesystem and non-root UID prevent writing to default
- # pnpm paths (/usr/local/lib/node_modules, ~/.local/share/pnpm, etc.).
- # Redirect PNPM_HOME to the PVC so the binary persists across restarts.
- # The init container's HOME=/tmp ensures pnpm's cache, state, and config
- # writes land on /tmp (writable emptyDir). The store goes on the PVC so
- # hardlinks work (same filesystem as node_modules) and persist.
- # PNPM_HOME=/home/node/.openclaw/pnpm
- # mkdir -p "$PNPM_HOME"
- # if [ ! -f "$PNPM_HOME/pnpm" ]; then
- # log "Installing pnpm..."
- # curl -fsSL https://get.pnpm.io/install.sh | env PNPM_HOME="$PNPM_HOME" SHELL=/bin/sh sh -
- # fi
- # export PATH="$PNPM_HOME:$PATH"
- # log "Installing interface dependencies..."
- # cd /home/node/.openclaw
- # pnpm install <your-package> --store-dir /home/node/.openclaw/.pnpm-store
-
- # ============================================================
- # Skill Installation
- # ============================================================
- # Install skills from ClawHub (https://clawhub.com)
- # Add skill slugs to the list below to install them declaratively.
- mkdir -p /home/node/.openclaw/workspace/skills
- cd /home/node/.openclaw/workspace
- install_skill() {
- skill="$1"
- SKILL_NAME="$(basename "$skill")"
- if [ -z "$skill" ]; then
- return 0
- fi
- if [ -d "skills/$SKILL_NAME" ]; then
- log "Skill already installed: $skill"
- return 0
- fi
- log "Installing skill: $skill"
- attempts=6
- delay=5
- for i in $(seq 1 "$attempts"); do
- if npx -y clawhub install "$skill" --no-input; then
- log "Installed skill: $skill"
- return 0
- fi
- # Add a little jitter so concurrent pods don't retry in lockstep.
- jitter=$((RANDOM % 5))
- if [ "$i" -lt "$attempts" ]; then
- log "WARNING: Failed to install skill: $skill (attempt $i/$attempts). Retrying in $((delay + jitter))s..."
- sleep $((delay + jitter))
- delay=$((delay * 2))
- fi
- done
- log "WARNING: Failed to install skill after $attempts attempts: $skill"
- return 1
- }
- for skill in weather gog; do
- install_skill "$skill" || true
- done
- log "Skills initialization complete"
+ - /scripts/init-skills.sh
env:
+ # @schema type:string
+ SKILLS_TO_INSTALL: '{{ .Values.skills | join " " }}'
HOME: /tmp
NPM_CONFIG_CACHE: /tmp/.npm
securityContext:
@@ -425,6 +291,150 @@
failureThreshold: 12
configMaps:
+ scripts:
+ enabled: true
+ data:
+ init-config.sh: |
+ log() { echo "[$(date -Iseconds)] [init-config] $*"; }
+
+ log "Starting config initialization"
+ mkdir -p /home/node/.openclaw
+ CONFIG_MODE="${CONFIG_MODE:-merge}"
+
+ if [ "$CONFIG_MODE" = "merge" ] && [ -f /home/node/.openclaw/openclaw.json ]; then
+ log "Mode: merge - merging Helm config with existing config"
+ if node -e "
+ const fs = require('fs');
+ // Strip JSON5 single-line comments while preserving // inside strings (e.g. URLs)
+ const stripComments = (s) => {
+ let r = '', q = false, i = 0;
+ while (i < s.length) {
+ if (q) {
+ if (s[i] === '\\\\') { r += s[i] + s[i+1]; i += 2; continue; }
+ if (s[i] === '\"') q = false;
+ r += s[i++];
+ } else if (s[i] === '\"') {
+ q = true; r += s[i++];
+ } else if (s[i] === '/' && s[i+1] === '/') {
+ while (i < s.length && s[i] !== '\n') i++;
+ } else { r += s[i++]; }
+ }
+ return r;
+ };
+ let existing;
+ try {
+ existing = JSON.parse(stripComments(fs.readFileSync('/home/node/.openclaw/openclaw.json', 'utf8')));
+ } catch (e) {
+ console.error('[init-config] Warning: existing config is not valid JSON, will overwrite');
+ process.exit(1);
+ }
+ const helm = JSON.parse(stripComments(fs.readFileSync('/config/openclaw.json', 'utf8')));
+ const deepMerge = (target, source) => {
+ for (const key of Object.keys(source)) {
+ if (source[key] && typeof source[key] === 'object' && !Array.isArray(source[key])) {
+ target[key] = target[key] || {};
+ deepMerge(target[key], source[key]);
+ } else {
+ target[key] = source[key];
+ }
+ }
+ return target;
+ };
+ const merged = deepMerge(existing, helm);
+ fs.writeFileSync('/home/node/.openclaw/openclaw.json', JSON.stringify(merged, null, 2));
+ "; then
+ log "Config merged successfully"
+ else
+ log "WARNING: Merge failed (existing config may not be valid JSON), falling back to overwrite"
+ cp /config/openclaw.json /home/node/.openclaw/openclaw.json
+ fi
+ else
+ if [ ! -f /home/node/.openclaw/openclaw.json ]; then
+ log "Fresh install - writing initial config"
+ else
+ log "Mode: overwrite - replacing config with Helm values"
+ fi
+ cp /config/openclaw.json /home/node/.openclaw/openclaw.json
+ fi
+ log "Config initialization complete"
+
+ init-skills.sh: |
+ log() { echo "[$(date -Iseconds)] [init-skills] $*"; }
+
+ log "Starting skills initialization"
+
+ # ============================================================
+ # Runtime Dependencies
+ # ============================================================
+ # Some skills require additional runtimes (Python, Go, etc.)
+ # Install them here so they persist across pod restarts.
+ #
+ # Example: Install uv (Python package manager) for Python skills
+ # mkdir -p /home/node/.openclaw/bin
+ # if [ ! -f /home/node/.openclaw/bin/uv ]; then
+ # log "Installing uv..."
+ # curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/home/node/.openclaw/bin sh
+ # fi
+ #
+ # Example: Install pnpm and packages for interfaces (e.g., MS Teams)
+ # The read-only filesystem and non-root UID prevent writing to default
+ # pnpm paths (/usr/local/lib/node_modules, ~/.local/share/pnpm, etc.).
+ # Redirect PNPM_HOME to the PVC so the binary persists across restarts.
+ # The init container's HOME=/tmp ensures pnpm's cache, state, and config
+ # writes land on /tmp (writable emptyDir). The store goes on the PVC so
+ # hardlinks work (same filesystem as node_modules) and persist.
+ # PNPM_HOME=/home/node/.openclaw/pnpm
+ # mkdir -p "$PNPM_HOME"
+ # if [ ! -f "$PNPM_HOME/pnpm" ]; then
+ # log "Installing pnpm..."
+ # curl -fsSL https://get.pnpm.io/install.sh | env PNPM_HOME="$PNPM_HOME" SHELL=/bin/sh sh -
+ # fi
+ # export PATH="$PNPM_HOME:$PATH"
+ # log "Installing interface dependencies..."
+ # cd /home/node/.openclaw
+ # pnpm install <your-package> --store-dir /home/node/.openclaw/.pnpm-store
+
+ # ============================================================
+ # Skill Installation
+ # ============================================================
+ # Installs skills listed in SKILLS_TO_INSTALL (set via the top-level skills: [] value).
+ # Set skills: [] in your values to skip skill installation entirely.
+ mkdir -p /home/node/.openclaw/workspace/skills
+ cd /home/node/.openclaw/workspace
+ install_skill() {
+ skill="$1"
+ SKILL_NAME="$(basename "$skill")"
+ if [ -z "$skill" ]; then
+ return 0
+ fi
+ if [ -d "skills/$SKILL_NAME" ]; then
+ log "Skill already installed: $skill"
+ return 0
+ fi
+ log "Installing skill: $skill"
+ attempts=6
+ delay=5
+ for i in $(seq 1 "$attempts"); do
+ if npx -y clawhub install "$skill" --no-input; then
+ log "Installed skill: $skill"
+ return 0
+ fi
+ # Add a little jitter so concurrent pods don't retry in lockstep.
+ jitter=$((RANDOM % 5))
+ if [ "$i" -lt "$attempts" ]; then
+ log "WARNING: Failed to install skill: $skill (attempt $i/$attempts). Retrying in $((delay + jitter))s..."
+ sleep $((delay + jitter))
+ delay=$((delay * 2))
+ fi
+ done
+ log "WARNING: Failed to install skill after $attempts attempts: $skill"
+ return 1
+ }
+ for skill in $SKILLS_TO_INSTALL; do
+ install_skill "$skill" || true
+ done
+ log "Skills initialization complete"
+
config:
# @schema type:boolean;default:true
enabled: true
@@ -572,6 +582,20 @@
# port: http
persistence:
+ # Init scripts ConfigMap mounted into both init containers
+ scripts:
+ enabled: true
+ type: configMap
+ identifier: scripts
+ advancedMounts:
+ main:
+ init-config:
+ - path: /scripts
+ readOnly: true
+ init-skills:
+ - path: /scripts
+ readOnly: true
+
# ConfigMap for init container to copy from
config:
# @schema type:boolean;default:true |
1bfe60e to
74ff4ff
Compare
7ef833c to
a0cf444
Compare
ee199af to
6714f79
Compare
6714f79 to
5d6efc2
Compare
5d6efc2 to
8e6b0fc
Compare
8e6b0fc to
c80b33a
Compare
c80b33a to
8ffaf2e
Compare
8ffaf2e to
47405b4
Compare
47405b4 to
4429644
Compare
4429644 to
e64338a
Compare
e64338a to
0685277
Compare
985fcc6 to
5e2a47b
Compare
5e2a47b to
f82b7fa
Compare
c014c64 to
648765a
Compare
648765a to
17a5588
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.5.3→1.5.21Release Notes
serhanekicii/openclaw-helm (openclaw)
v1.5.21Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.20...openclaw-1.5.21
v1.5.20Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.19...openclaw-1.5.20
v1.5.19Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.18...openclaw-1.5.19
v1.5.18Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.17...openclaw-1.5.18
v1.5.17Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.16...openclaw-1.5.17
v1.5.16Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.15...openclaw-1.5.16
v1.5.15Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.14...openclaw-1.5.15
v1.5.14Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.13...openclaw-1.5.14
v1.5.13Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.12...openclaw-1.5.13
v1.5.12Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.11...openclaw-1.5.12
v1.5.11Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.10...openclaw-1.5.11
v1.5.10Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.9...openclaw-1.5.10
v1.5.9Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
What's Changed
New Contributors
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.8...openclaw-1.5.9
v1.5.8Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.7...openclaw-1.5.8
v1.5.7Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.6...openclaw-1.5.7
v1.5.6Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.5...openclaw-1.5.6
v1.5.5Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.4...openclaw-1.5.5
v1.5.4Compare Source
Helm chart for deploying OpenClaw on Kubernetes — an AI assistant that connects to messaging platforms and executes tasks autonomously.
Full Changelog: serhanekicii/openclaw-helm@openclaw-1.5.3...openclaw-1.5.4
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.