AI powered Kubernetes Assistant
docker pull GoogleCloudPlatform/kubectl-ai:latest
docker run -d --name kubectl-ai --restart always googlecloudplatform/kubectl-ai:latest
podman run -d --name kubectl-ai --restart always googlecloudplatform/kubectl-ai:latest
skopeo inspect docker://docker.io/googlecloudplatform/kubectl-ai:latest
oras pull googlecloudplatform/kubectl-ai:latest
ARG GO_VERSION="1.24.3"
ARG GCLOUD_CLI_VERSION="530.0.0-stable"
FROM golang:${GO_VERSION}-bookworm AS builder
WORKDIR /src
COPY go.mod go.sum ./
COPY gollm/ ./gollm/
RUN go mod download
COPY cmd/ ./cmd/
COPY pkg/ ./pkg/
RUN CGO_ENABLED=0 go build -o kubectl-ai ./cmd/
FROM debian:bookworm-slim AS kubectl-tool
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y --no-install-recommends curl ca-certificates && \
mkdir -p /opt/tools/kubectl/bin/ && \
curl -v -L "https://dl.k8s.io/release/v1.33.0/bin/linux/amd64/kubectl" -o /opt/tools/kubectl/bin/kubectl && \
chmod +x /opt/tools/kubectl/bin/kubectl && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:${GCLOUD_CLI_VERSION} AS runtime
RUN apt-get update -y && \
apt-get install -y apt-transport-https ca-certificates gnupg curl ca-certificates && \
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg && \
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | tee /etc/apt/sources.list.d/google-cloud-sdk.list && \
apt-get update -y && \
apt-get install -y google-cloud-cli-gke-gcloud-auth-plugin && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY --from=builder /src/kubectl-ai /bin/kubectl-ai
COPY --from=kubectl-tool /opt/tools/kubectl/ /opt/tools/kubectl/
RUN ln -sf /opt/tools/kubectl/bin/kubectl /bin/kubectl
# Copy the custom tool configurations into the runtime image.
COPY docs/tool-samples /etc/kubectl-ai/tools/
ENTRYPOINT [ "/bin/kubectl-ai" ]