feat: bump dependencies and add kubectl, k9s, Flux CLI

Update pinned versions: Node.js 22→24 LTS, Helm 3.17→4.1, Go 1.23→1.26.
Add kubectl, k9s, and Flux CLI to the container image.
Update MCP sidecars: kubernetes v0.0.59, flux-operator v0.45.0,
mcp-helm v1.3.3, homeassistant 7.1.0.
Bump chart version to 2.7.0.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
DevContainer User
2026-03-18 15:00:54 +00:00
parent 673554b393
commit d3365a71f6
4 changed files with 26 additions and 9 deletions
+1 -1
View File
@@ -70,7 +70,7 @@ Container start
| File | Purpose | | File | Purpose |
|------|---------| |------|---------|
| `Dockerfile` | Image definition — installs Chrome, VSCode, Helm, gh CLI, kubeseal, Claude Code, OpenCode, Crush, LSP servers (pyright, typescript-language-server, gopls, clangd, rust-analyzer, lua-language-server, jdtls, kotlin-language-server, intelephense); creates non-root user (UID 1000) | | `Dockerfile` | Image definition — installs Chrome, VSCode, Helm, gh CLI, kubectl, k9s, Flux CLI, kubeseal, Claude Code, OpenCode, Crush, LSP servers (pyright, typescript-language-server, gopls, clangd, rust-analyzer, lua-language-server, jdtls, kotlin-language-server, intelephense); creates non-root user (UID 1000) |
| `scripts/init-repo.sh` | Configures git credentials, clones GitHub repo(s), generates multi-root workspace file | | `scripts/init-repo.sh` | Configures git credentials, clones GitHub repo(s), generates multi-root workspace file |
| `scripts/startapp.sh` | Calls init-repo.sh then opens VSCode in the workspace | | `scripts/startapp.sh` | Calls init-repo.sh then opens VSCode in the workspace |
| `chart/` | Helm chart for Kubernetes deployment | | `chart/` | Helm chart for Kubernetes deployment |
+20 -3
View File
@@ -60,7 +60,7 @@ exec /usr/bin/google-chrome-stable \\\n\
chmod +x /usr/local/bin/google-chrome chmod +x /usr/local/bin/google-chrome
# Install Node.js LTS via NodeSource # Install Node.js LTS via NodeSource
ARG NODE_MAJOR=22 ARG NODE_MAJOR=24
RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_MAJOR}.x | bash - && \ RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_MAJOR}.x | bash - && \
apt-get install -y nodejs && \ apt-get install -y nodejs && \
rm -rf /var/lib/apt/lists/* && \ rm -rf /var/lib/apt/lists/* && \
@@ -91,7 +91,7 @@ RUN CRUSH_VERSION=$(curl -sL https://api.github.com/repos/charmbracelet/crush/re
rm -rf /tmp/crush* rm -rf /tmp/crush*
# Install Helm CLI for Kubernetes chart management # Install Helm CLI for Kubernetes chart management
ARG HELM_VERSION=3.17.1 ARG HELM_VERSION=4.1.3
RUN curl -fsSL "https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz" | \ RUN curl -fsSL "https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz" | \
tar -xz --strip-components=1 -C /usr/local/bin linux-amd64/helm && \ tar -xz --strip-components=1 -C /usr/local/bin linux-amd64/helm && \
chmod +x /usr/local/bin/helm chmod +x /usr/local/bin/helm
@@ -117,13 +117,30 @@ RUN KUBESEAL_VERSION=$(curl -sL https://api.github.com/repos/bitnami-labs/sealed
tar -xz -C /usr/local/bin kubeseal && \ tar -xz -C /usr/local/bin kubeseal && \
chmod +x /usr/local/bin/kubeseal chmod +x /usr/local/bin/kubeseal
# Install kubectl CLI for Kubernetes cluster management
RUN KUBECTL_VERSION=$(curl -sL https://dl.k8s.io/release/stable.txt) && \
curl -fsSL "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl" -o /usr/local/bin/kubectl && \
chmod +x /usr/local/bin/kubectl
# Install k9s terminal UI for Kubernetes
RUN K9S_VERSION=$(curl -sL https://api.github.com/repos/derailed/k9s/releases/latest | jq -r '.tag_name') && \
curl -fsSL "https://github.com/derailed/k9s/releases/download/${K9S_VERSION}/k9s_Linux_amd64.tar.gz" | \
tar -xz -C /usr/local/bin k9s && \
chmod +x /usr/local/bin/k9s
# Install Flux CLI for GitOps operations
RUN FLUX_VERSION=$(curl -sL https://api.github.com/repos/fluxcd/flux2/releases/latest | jq -r '.tag_name' | sed 's/^v//') && \
curl -fsSL "https://github.com/fluxcd/flux2/releases/download/v${FLUX_VERSION}/flux_${FLUX_VERSION}_linux_amd64.tar.gz" | \
tar -xz -C /usr/local/bin flux && \
chmod +x /usr/local/bin/flux
# ── LSP servers for Claude Code language intelligence ── # ── LSP servers for Claude Code language intelligence ──
# npm-based LSP servers: Python (pyright), TypeScript/JavaScript, PHP # npm-based LSP servers: Python (pyright), TypeScript/JavaScript, PHP
RUN npm install -g pyright typescript-language-server typescript intelephense RUN npm install -g pyright typescript-language-server typescript intelephense
# Install Go runtime and gopls LSP server # Install Go runtime and gopls LSP server
ARG GO_VERSION=1.23.6 ARG GO_VERSION=1.26.1
RUN curl -fsSL "https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar -xz -C /usr/local && \ RUN curl -fsSL "https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar -xz -C /usr/local && \
/usr/local/go/bin/go install golang.org/x/tools/gopls@latest && \ /usr/local/go/bin/go install golang.org/x/tools/gopls@latest && \
mv /root/go/bin/gopls /usr/local/bin/gopls && \ mv /root/go/bin/gopls /usr/local/bin/gopls && \
+1 -1
View File
@@ -2,7 +2,7 @@ apiVersion: v2
name: devcontainer name: devcontainer
description: Dev Container with AI coding agents and MCP sidecars description: Dev Container with AI coding agents and MCP sidecars
type: application type: application
version: 2.6.0 version: 2.7.0
appVersion: "latest" appVersion: "latest"
keywords: keywords:
- development - development
+4 -4
View File
@@ -93,7 +93,7 @@ mcp:
enabled: true enabled: true
image: image:
repository: quay.io/containers/kubernetes_mcp_server repository: quay.io/containers/kubernetes_mcp_server
tag: v0.0.57 tag: v0.0.59
port: 8080 port: 8080
resources: resources:
requests: requests:
@@ -108,7 +108,7 @@ mcp:
enabled: true enabled: true
image: image:
repository: ghcr.io/controlplaneio-fluxcd/flux-operator-mcp repository: ghcr.io/controlplaneio-fluxcd/flux-operator-mcp
tag: v0.41.1 tag: v0.45.0
port: 8081 port: 8081
resources: resources:
requests: requests:
@@ -124,7 +124,7 @@ mcp:
enabled: false enabled: false
image: image:
repository: ghcr.io/zekker6/mcp-helm repository: ghcr.io/zekker6/mcp-helm
tag: v1.3.1 tag: v1.3.3
port: 8012 port: 8012
resources: resources:
requests: requests:
@@ -139,7 +139,7 @@ mcp:
enabled: false # Requires HOMEASSISTANT_URL and HOMEASSISTANT_TOKEN enabled: false # Requires HOMEASSISTANT_URL and HOMEASSISTANT_TOKEN
image: image:
repository: ghcr.io/homeassistant-ai/ha-mcp repository: ghcr.io/homeassistant-ai/ha-mcp
tag: "6.7.1" tag: "7.1.0"
port: 8087 port: 8087
resources: resources:
requests: requests: