Compare commits

...

5 commits

Author SHA1 Message Date
Renovate Bot
91f17a764d Update dependency helm/helm to v4
All checks were successful
Build k8s-mgmt-pod image / Build & Push (pull_request) Successful in 1m4s
2026-06-29 07:24:18 +00:00
b6f7d1e1b7 Update kubeconfig handling in entrypoint script for better clarity
All checks were successful
Build k8s-mgmt-pod image / Build & Push (push) Successful in 53s
2026-06-29 09:14:20 +02:00
68c6789ac4 Add OIDC login support and unzip utility to Dockerfile
All checks were successful
Build k8s-mgmt-pod image / Build & Push (push) Successful in 1m50s
2026-06-29 08:52:08 +02:00
0613ebca66 Add apt-get clean to Dockerfile to optimize image size
All checks were successful
Build k8s-mgmt-pod image / Build & Push (push) Successful in 1m10s
2026-06-24 15:00:17 +02:00
91e9afc355 Add apt-get clean to Dockerfile to reduce image size 2026-06-24 14:59:41 +02:00
3 changed files with 23 additions and 4 deletions

View file

@ -27,9 +27,11 @@ ARG LFK_VERSION=0.14.15
# renovate: datasource=github-releases depName=kubernetes/kubernetes
ARG KUBECTL_VERSION=1.36.2
# renovate: datasource=github-releases depName=helm/helm
ARG HELM_VERSION=3.21.2
ARG HELM_VERSION=4.2.2
# renovate: datasource=github-releases depName=derailed/k9s
ARG K9S_VERSION=0.51.0
# renovate: datasource=github-releases depName=int128/kubelogin
ARG OIDC_LOGIN_VERSION=1.34.0
ENV DEBIAN_FRONTEND=noninteractive \
@ -49,6 +51,7 @@ RUN apt-get update \
bash-completion \
ca-certificates \
curl \
unzip \
tar \
nginx-light \
netcat-openbsd \
@ -81,6 +84,11 @@ RUN apt-get update \
&& curl -fsSLo "/tmp/k9s_Linux_amd64.tar.gz" "https://github.com/derailed/k9s/releases/download/v${K9S_VERSION}/k9s_Linux_amd64.tar.gz" \
&& tar -xzf "/tmp/k9s_Linux_amd64.tar.gz" -C /tmp \
&& install -m 0755 /tmp/k9s /usr/local/bin/k9s \
&& curl -fsSLo "/tmp/kubelogin_linux_amd64.zip" "https://github.com/int128/kubelogin/releases/download/v${OIDC_LOGIN_VERSION}/kubelogin_linux_amd64.zip" \
&& curl -fsSLo "/tmp/kubelogin_linux_amd64.zip.sha256" "https://github.com/int128/kubelogin/releases/download/v${OIDC_LOGIN_VERSION}/kubelogin_linux_amd64.zip.sha256" \
&& 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 \
&& chmod 0755 /usr/local/bin/kubectl-oidc_login \
&& mkdir -p /etc/bash_completion.d \
&& kubectl completion bash > /etc/bash_completion.d/kubectl \
&& helm completion bash > /etc/bash_completion.d/helm \
@ -93,8 +101,12 @@ RUN apt-get update \
/tmp/k9s \
/tmp/README.md \
/tmp/LICENSE \
/tmp/kubelogin_linux_amd64.zip \
/tmp/kubelogin_linux_amd64.zip.sha256 \
/tmp/k9s_Linux_amd64.tar.gz \
&& rm -f /etc/ssh/ssh_host_*
&& rm -f /etc/ssh/ssh_host_* \
&& apt-get clean
COPY docker/sshd/10-lfk-base.conf /etc/ssh/sshd_config.d/10-lfk-base.conf
COPY docker/nginx/webssh.conf /etc/nginx/conf.d/webssh.conf

View file

@ -71,6 +71,8 @@ The included [docker-compose.yaml](docker-compose.yaml) enables kubeconfig boots
That bootstrap is explicitly opt-in and defaults to off in the container itself, so it does not run in Kubernetes unless you deliberately enable it.
When both are available, the bootstrap kubeconfig is applied after the service-account kubeconfig and therefore takes precedence.
Start it with:
```bash

View file

@ -291,8 +291,13 @@ EOF
prepare_runtime() {
mkdir -p /var/run/sshd
ensure_host_keys
install_serviceaccount_kubeconfig
if [[ "${ENABLE_BOOTSTRAP_KUBECONFIG}" == "true" ]]; then
log "Kubeconfig mode: bootstrap-only (serviceaccount kubeconfig generation disabled)."
install_bootstrap_kubeconfig
else
log "Kubeconfig mode: in-cluster serviceaccount."
install_serviceaccount_kubeconfig
fi
persist_kubernetes_login_env
configure_user_auth admin ADMIN_SSH_PUBKEY ADMIN_PASSWORD
configure_user_auth user USER_SSH_PUBKEY USER_PASSWORD