diff --git a/Dockerfile b/Dockerfile index ef22937..5c0d2dd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,8 +30,6 @@ ARG KUBECTL_VERSION=1.36.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 \ @@ -51,7 +49,6 @@ RUN apt-get update \ bash-completion \ ca-certificates \ curl \ - unzip \ tar \ nginx-light \ netcat-openbsd \ @@ -84,11 +81,6 @@ 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 \ @@ -101,12 +93,8 @@ 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_* \ - && apt-get clean - + && rm -f /etc/ssh/ssh_host_* 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 diff --git a/README.md b/README.md index 20446e9..62f3935 100644 --- a/README.md +++ b/README.md @@ -71,8 +71,6 @@ 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 diff --git a/entrypoint.sh b/entrypoint.sh index 0a2d319..eb5a055 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -291,13 +291,8 @@ EOF prepare_runtime() { mkdir -p /var/run/sshd ensure_host_keys - 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 + install_serviceaccount_kubeconfig + install_bootstrap_kubeconfig persist_kubernetes_login_env configure_user_auth admin ADMIN_SSH_PUBKEY ADMIN_PASSWORD configure_user_auth user USER_SSH_PUBKEY USER_PASSWORD