File entrypoint.sh of Package grafana-container

#!/bin/bash

#set -euxo pipefail

USER=tester
HOMEUSER=/home/${USER}
PS1NAME=GRAFANA_CONTAINER
HPS1="\e[01;34m [ \t ] \e[01;31m \u@\h \e[01;32m ${PS1NAME} \e[01;34m\w \e[m \n\e[01;31m \e[m# "

create_user() {
    useradd -m -N -s /bin/bash -u 1000 ${USER}
    mkdir -p ${HOMEUSER}/.ssh
    touch ${HOMEUSER}/.ssh/authorized_keys
    chmod 700 ${HOMEUSER}/.ssh
    chmod 600 ${HOMEUSER}/.ssh/authorized_keys
    echo "export PS1='${HPS1}'" >> ${HOMEUSER}/.bashrc
    chown -R ${USER} ${HOMEUSER}

    # Simple password for tester user
    passwd tester <<EOF
opensuse
opensuse
EOF
    pwconv
}

# No permit to login as root
# default port for ssh container access is 16022
configure_ssh() {
    echo -e "Port 16022\nPermitEmptyPasswords no\nPermitRootLogin no" >> /etc/ssh/sshd_config
    /usr/sbin/sshd-gen-keys-start
    /usr/sbin/sshd -t -f /etc/ssh/sshd_config
    /usr/sbin/sshd -f /etc/ssh/sshd_config
}

# shortcut for podman runlabel calls
if [ $(basename "$2") = 'label-install' ] || [ $(basename "$2") = 'label-uninstall' ];then
    exec "$@"
    exit 0
else
    echo "no parameter label-install label-uninstall found"
fi

TEST=`grep tester /etc/passwd`
if [ -z "$TEST" ]; then
    create_user
else
    echo "User already present, skipping..."
fi

TEST=`grep 16022 /etc/ssh/sshd_config`
if [ -z "$TEST" ]; then
    configure_ssh
else
    echo "SSH already configured, skipping..."
fi

# Adjust PS1 for root user
if [ ! -f "/root/.bashrc" ]; then
    echo "export PS1='${HPS1}'" >> /root/.bashrc
else
    echo "PS1 for root already set, skipping..."
fi

# wget localhost:9090/config --output-document=-
#prometheus  --config.file=/etc/prometheus/prometheus.yml &

# FIX perm dir
chown grafana.grafana /var/log/grafana
mkdir /var/run/grafana
mkdir /etc/grafana/provisioning/plugins
mkdir /etc/grafana/provisioning/datasources
mkdir /etc/grafana/provisioning/notifiers
chown grafana.grafana -R /var/run/grafana /etc/grafana/provisioning/

# start grafana-server with grafana user
sudo -u grafana -g grafana sh -c 'source /etc/sysconfig/grafana-server ; /usr/sbin/grafana-server -homepath=/usr/share/grafana --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=rpm cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins cfg:default.paths.provisioning=/etc/grafana/provisioning &'


# use for devel
sleep infinity
openSUSE Build Service is sponsored by