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:
@@ -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
@@ -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
@@ -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
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user