Compare commits

..

10 commits

Author SHA1 Message Date
Renovate Bot
92af7b2e50 Update dependency helm/helm to v4
All checks were successful
Build k8s-mgmt-pod image / Build & Push (pull_request) Successful in 1m23s
2026-06-29 12:24:01 +00:00
df0eaf0a21 Add kubectx and kubens support to Dockerfile and bash completion scripts
All checks were successful
Build k8s-mgmt-pod image / Build & Push (push) Successful in 1m23s
2026-06-29 13:40:34 +02:00
d582311917 Update ASCII art in motd for improved branding and consistency
All checks were successful
Build k8s-mgmt-pod image / Build & Push (push) Successful in 1m59s
2026-06-29 10:54:20 +02:00
e4f9f06674 Fix formatting in the motd file for consistency 2026-06-29 10:51:20 +02:00
4f57393103 Merge pull request 'Update dependency int128/kubelogin to v1.36.2' (#13) from renovate/int128-kubelogin-1.x into main
All checks were successful
Build k8s-mgmt-pod image / Build & Push (push) Successful in 1m16s
Reviewed-on: #13
2026-06-29 08:23:43 +00:00
1b3fa2c228 Merge pull request 'Update dependency janosmiko/lfk to v0.14.18' (#12) from renovate/janosmiko-lfk-0.x into main
All checks were successful
Build k8s-mgmt-pod image / Build & Push (push) Successful in 2m13s
Reviewed-on: #12
2026-06-29 08:20:03 +00:00
998012fdff Add locale support and environment variables to Dockerfile
All checks were successful
Build k8s-mgmt-pod image / Build & Push (push) Successful in 1m49s
2026-06-29 09:42:12 +02:00
47fe90296e Create cache directory and set ownership/permissions for kubeconfig
All checks were successful
Build k8s-mgmt-pod image / Build & Push (push) Successful in 44s
2026-06-29 09:26:47 +02:00
Renovate Bot
fba15a73c0 Update dependency int128/kubelogin to v1.36.2
All checks were successful
Build k8s-mgmt-pod image / Build & Push (pull_request) Successful in 1m3s
2026-06-29 07:24:11 +00:00
Renovate Bot
62d68bea0c Update dependency janosmiko/lfk to v0.14.18
All checks were successful
Build k8s-mgmt-pod image / Build & Push (pull_request) Successful in 1m52s
2026-06-29 07:24:07 +00:00
5 changed files with 42 additions and 12 deletions

View file

@ -23,7 +23,7 @@ RUN apt-get update \
FROM debian:trixie-slim FROM debian:trixie-slim
# renovate: datasource=github-releases depName=janosmiko/lfk # renovate: datasource=github-releases depName=janosmiko/lfk
ARG LFK_VERSION=0.14.15 ARG LFK_VERSION=0.14.18
# renovate: datasource=github-releases depName=kubernetes/kubernetes # renovate: datasource=github-releases depName=kubernetes/kubernetes
ARG KUBECTL_VERSION=1.36.2 ARG KUBECTL_VERSION=1.36.2
# renovate: datasource=github-releases depName=helm/helm # renovate: datasource=github-releases depName=helm/helm
@ -31,10 +31,15 @@ ARG HELM_VERSION=4.2.2
# renovate: datasource=github-releases depName=derailed/k9s # renovate: datasource=github-releases depName=derailed/k9s
ARG K9S_VERSION=0.51.0 ARG K9S_VERSION=0.51.0
# renovate: datasource=github-releases depName=int128/kubelogin # renovate: datasource=github-releases depName=int128/kubelogin
ARG OIDC_LOGIN_VERSION=1.34.0 ARG OIDC_LOGIN_VERSION=1.36.2
# renovate: datasource=github-tags depName=ahmetb/kubectx
ARG KUBECTX_VERSION=0.9.5
ENV DEBIAN_FRONTEND=noninteractive \ ENV DEBIAN_FRONTEND=noninteractive \
LANG=en_US.UTF-8 \
LANGUAGE=en_US:en \
LC_ALL=en_US.UTF-8 \
WEB_SSH_PORT=3000 \ WEB_SSH_PORT=3000 \
WEBSSH2_LISTEN_PORT=3001 \ WEBSSH2_LISTEN_PORT=3001 \
WEBSSH2_SSH_HOST=127.0.0.1 \ WEBSSH2_SSH_HOST=127.0.0.1 \
@ -51,8 +56,12 @@ RUN apt-get update \
bash-completion \ bash-completion \
ca-certificates \ ca-certificates \
curl \ curl \
jq \
locales \
unzip \ unzip \
tar \ tar \
vim \
yq \
nginx-light \ nginx-light \
netcat-openbsd \ netcat-openbsd \
openssh-client \ openssh-client \
@ -89,10 +98,18 @@ RUN apt-get update \
&& sed 's#\*kubelogin_linux_amd64.zip$#*/tmp/kubelogin_linux_amd64.zip#' /tmp/kubelogin_linux_amd64.zip.sha256 | sha256sum -c - \ && sed 's#\*kubelogin_linux_amd64.zip$#*/tmp/kubelogin_linux_amd64.zip#' /tmp/kubelogin_linux_amd64.zip.sha256 | sha256sum -c - \
&& unzip -p /tmp/kubelogin_linux_amd64.zip kubelogin > /usr/local/bin/kubectl-oidc_login \ && unzip -p /tmp/kubelogin_linux_amd64.zip kubelogin > /usr/local/bin/kubectl-oidc_login \
&& chmod 0755 /usr/local/bin/kubectl-oidc_login \ && chmod 0755 /usr/local/bin/kubectl-oidc_login \
&& curl -fsSLo /usr/local/bin/kubectx "https://raw.githubusercontent.com/ahmetb/kubectx/v${KUBECTX_VERSION}/kubectx" \
&& curl -fsSLo /usr/local/bin/kubens "https://raw.githubusercontent.com/ahmetb/kubectx/v${KUBECTX_VERSION}/kubens" \
&& chmod 0755 /usr/local/bin/kubectx /usr/local/bin/kubens \
&& mkdir -p /etc/bash_completion.d \ && mkdir -p /etc/bash_completion.d \
&& curl -fsSLo /etc/bash_completion.d/kubectx "https://raw.githubusercontent.com/ahmetb/kubectx/v${KUBECTX_VERSION}/completion/kubectx.bash" \
&& curl -fsSLo /etc/bash_completion.d/kubens "https://raw.githubusercontent.com/ahmetb/kubectx/v${KUBECTX_VERSION}/completion/kubens.bash" \
&& kubectl completion bash > /etc/bash_completion.d/kubectl \ && kubectl completion bash > /etc/bash_completion.d/kubectl \
&& helm completion bash > /etc/bash_completion.d/helm \ && helm completion bash > /etc/bash_completion.d/helm \
&& chmod 0644 /etc/bash_completion.d/kubectl /etc/bash_completion.d/helm \ && chmod 0644 /etc/bash_completion.d/kubectl /etc/bash_completion.d/helm /etc/bash_completion.d/kubectx /etc/bash_completion.d/kubens \
&& sed -i 's/^# *en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
&& locale-gen en_US.UTF-8 \
&& update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 \
&& rm -f /tmp/kubectl.sha256 \ && rm -f /tmp/kubectl.sha256 \
&& rm -rf /tmp/linux-amd64 \ && rm -rf /tmp/linux-amd64 \
&& rm -f \ && rm -f \

View file

@ -6,7 +6,9 @@
- `kubectl` preinstalled from a pinned upstream binary release - `kubectl` preinstalled from a pinned upstream binary release
- `helm` preinstalled from a pinned upstream binary release - `helm` preinstalled from a pinned upstream binary release
- `k9s` preinstalled from a pinned GitHub release tarball - `k9s` preinstalled from a pinned GitHub release tarball
- `kubectl` and `helm` bash autocompletion enabled for both `admin` and `user` - `kubectx` and `kubens` preinstalled from a pinned upstream release
- `jq`, `yq`, and `vim` preinstalled from Debian packages
- `kubectl`, `helm`, `kubectx`, and `kubens` bash autocompletion enabled for both `admin` and `user`
- local `openssh-server` on port `2222` - local `openssh-server` on port `2222`
- a browser-based SSH client on port `3000` - a browser-based SSH client on port `3000`
- a custom ASCII-art MOTD on login - a custom ASCII-art MOTD on login

View file

@ -1,12 +1,12 @@
╔════════════════════════════════════════════════════════════════╗ ╔════════════════════════════════════════════════════════════════╗
║ ║ ║ ║
██╗ ███████╗██╗ ██╗ ██╗ ██╗ █████╗ ███████╗
██║ ██╔════╝██║ ██╔╝ ██║ ██╔╝██╔══██╗██╔════╝ _ __ ___ ____ __ __ ____ __ __ _____
██║ █████╗ █████╔╝ █████╔╝ ╚█████╔╝███████╗ | |/ / / _ \ / ___| | \/ | / ___|| \/ ||_ _|
██║ ██╔══╝ ██╔═██╗ ██╔═██╗ ██╔══██╗╚════██║ | ' / | (_) |\___ \ | |\/| || | _ | |\/| | | |
███████╗██║ ██║ ██╗ ██║ ██╗╚█████╔╝███████║ | . \ \__, | ___) | | | | || |_| || | | | | |
╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚════╝ ╚══════╝ |_|\_\ /_/ |____/ |_| |_| \____||_| |_| |_|
║ Kubernetes Management Pod - Jump Box ║ ║ Kubernetes Management Pod - Jump Box ║
║ ║ ║ ║
╠════════════════════════════════════════════════════════════════╣ ╠════════════════════════════════════════════════════════════════╣
@ -15,7 +15,7 @@
║ - lfk : LFK kubernetes management ║ ║ - lfk : LFK kubernetes management ║
║ - k9s : interactive cluster navigation ║ ║ - k9s : interactive cluster navigation ║
║ - helm : chart install, upgrade, and rollback ║ ║ - helm : chart install, upgrade, and rollback ║
║ - plus : kubectx, kubens, jq, yq, and more ║ - plus : kubectx, kubens, jq, yq, vim, and more ║
║ ║ ║ ║
╠════════════════════════════════════════════════════════════════╣ ╠════════════════════════════════════════════════════════════════╣
║ Quick start ║ ║ Quick start ║

View file

@ -13,6 +13,14 @@ if [ -n "${BASH_VERSION:-}" ]; then
if [ -r /etc/bash_completion.d/helm ]; then if [ -r /etc/bash_completion.d/helm ]; then
. /etc/bash_completion.d/helm . /etc/bash_completion.d/helm
fi fi
if [ -r /etc/bash_completion.d/kubectx ]; then
. /etc/bash_completion.d/kubectx
fi
if [ -r /etc/bash_completion.d/kubens ]; then
. /etc/bash_completion.d/kubens
fi
fi fi
alias k=kubectl alias k=kubectl

View file

@ -104,6 +104,9 @@ install_kubeconfig_for_user() {
local kube_config="${kube_dir}/config" local kube_config="${kube_dir}/config"
mkdir -p "${kube_dir}" mkdir -p "${kube_dir}"
mkdir -p "${kube_dir}/cache"
chown -R "${username}:${username}" "${kube_dir}"
chmod 0700 "${kube_dir}"
install -m 0600 -o "${username}" -g "${username}" "${source_kubeconfig}" "${kube_config}" install -m 0600 -o "${username}" -g "${username}" "${source_kubeconfig}" "${kube_config}"
} }