#!/bin/sh if [ -z "$SSH_ORIGINAL_COMMAND" ] ; then echo "" echo "Usage: ssh logs [grep pattern]" echo "Example: ssh logs shared matches-front 100" echo "" exit fi NSPACE=`echo "$SSH_ORIGINAL_COMMAND" | awk '{print $1}'` if [ "$NSPACE" = "kube-system" ] || [ "$NSPACE" = "monitoring" ]; then echo "Access denied." exit fi SERVICE=`echo "$SSH_ORIGINAL_COMMAND" | awk '{print $2}'` if [ -z $SERVICE ]; then KUBECONFIG=/home/logs/k8s-admin-conf /usr/local/bin/kubectl -n ${NSPACE} get pods exit fi CONTAINER_NAME=`KUBECONFIG=/home/logs/k8s-admin-conf /usr/local/bin/kubectl -n ${NSPACE} get pods | grep "${SERVICE}" | awk '{print $1}'` num_lines=$(echo "$CONTAINER_NAME" | wc -l) if [ $num_lines -gt 1 ]; then echo "Specify exact container name from:" echo "" echo "$CONTAINER_NAME" echo "" echo "Usage: ssh logs ${NSPACE} $SERVICE-rnd123 " exit fi echo $CONTAINER_NAME TAIL=`echo "$SSH_ORIGINAL_COMMAND" | awk '{print $3}'` if [ -n "$TAIL" ] && [ "$TAIL" -eq "$TAIL" ] 2>/dev/null; then TAIL="--tail $TAIL" else TAIL='' fi GREP_PATTERN=`echo "$SSH_ORIGINAL_COMMAND" | awk '{print $4}'` if [ -n "$GREP_PATTERN" ]; then KUBECONFIG=/home/logs/k8s-admin-conf /usr/local/bin/kubectl -n ${NSPACE} logs --timestamps --follow $TAIL $CONTAINER_NAME --all-containers | grep -E $GREP_PATTERN else KUBECONFIG=/home/logs/k8s-admin-conf /usr/local/bin/kubectl -n ${NSPACE} logs --timestamps --follow $TAIL $CONTAINER_NAME --all-containers fi;