Merge pull request 'refs #8533 Host based environment' (!64) from 8533-hostBasedEnvironment into main
Reviewed-on: #64 Reviewed-by: Xavi Lleó <xavi@verdnatura.es>
This commit is contained in:
commit
382466a9b6
|
@ -1,3 +1,4 @@
|
|||
vn_env: lab
|
||||
vn_first_time: false
|
||||
vn_witness_checked: false
|
||||
deb_packages:
|
||||
|
|
|
@ -9,26 +9,39 @@ BLINK="\033[5m"
|
|||
|
||||
# Environment
|
||||
|
||||
PRO="\033[1;5;31m"
|
||||
LAB="\033[0;35m"
|
||||
VN="\033[0;32m"
|
||||
UNKNOWN="\033[0;33m"
|
||||
|
||||
FQDN=$(hostname --fqdn)
|
||||
case "$FQDN" in
|
||||
*.dc.verdnatura.es)
|
||||
ENVIRONMENT="${PRO}Production${RESET}"
|
||||
;;
|
||||
*.lab.verdnatura.es)
|
||||
ENVIRONMENT="${LAB}Laboratory${RESET}"
|
||||
;;
|
||||
*.verdnatura.es)
|
||||
ENVIRONMENT="${VN}Verdnatura${RESET}"
|
||||
;;
|
||||
*)
|
||||
ENVIRONMENT="${UNKNOWN}Unknown${RESET}"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -f "/etc/vn/env" ]; then
|
||||
read -r VN_ENV < /etc/vn/env
|
||||
case "$VN_ENV" in
|
||||
lab)
|
||||
ENV_COLOR="\033[0;32m"
|
||||
ENV_TEXT="Laboratory"
|
||||
;;
|
||||
pre)
|
||||
ENV_COLOR="\033[0;35m"
|
||||
ENV_TEXT="Pre-production"
|
||||
;;
|
||||
test)
|
||||
ENV_COLOR="\033[0;33m"
|
||||
ENV_TEXT="Testing"
|
||||
;;
|
||||
pro)
|
||||
ENV_COLOR="\033[1;5;31m"
|
||||
ENV_TEXT="Production"
|
||||
;;
|
||||
*)
|
||||
ENV_COLOR="\033[0;36m"
|
||||
ENV_TEXT="$VN_ENV"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ -z "$ENV_TEXT" ]; then
|
||||
ENV_COLOR="\033[0;37m"
|
||||
ENV_TEXT="Undefined"
|
||||
fi
|
||||
|
||||
ENV_TEXT="${ENV_COLOR}${ENV_TEXT}${RESET}"
|
||||
|
||||
# Last login
|
||||
|
||||
|
@ -57,7 +70,7 @@ if [ $SHOW_UPGRADEABLE -eq 1 ] ; then
|
|||
UPGRADEABLE="$(apt list --upgradable 2>/dev/null | tail -n +2 | wc -l)"
|
||||
|
||||
if [ "$UPGRADEABLE" -gt 0 ]; then
|
||||
UPGRADEABLE_ALERT="${BLINK}($UPGRADEABLE upgradeable)${RESET}"
|
||||
UPGRADEABLE_ALERT="($UPGRADEABLE upgradeable)"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -97,6 +110,6 @@ echo -e "${LABEL}Packages :${RESET} $PACKAGES $UPGRADEABLE_ALERT"
|
|||
echo -e "${LABEL}IP :${RESET}"
|
||||
echo -e "$NET_IPS"
|
||||
echo -e "${LABEL}Last Login :${RESET} $LAST_LOGIN"
|
||||
echo -e "${LABEL}Environment :${RESET} $ENVIRONMENT"
|
||||
echo -e "${LABEL}Environment :${RESET} $ENV_TEXT"
|
||||
echo -e "${LABEL}Connected users :${RESET}"
|
||||
echo -e "$CONNECTED_USERS"
|
||||
|
|
|
@ -4,22 +4,40 @@
|
|||
|
||||
FQDN=$(hostname --fqdn)
|
||||
|
||||
if [[ $FQDN == *.verdnatura.es ]]; then
|
||||
SHORT_HOST=${FQDN%.verdnatura.es}
|
||||
if [ -f "/etc/vn/env" ]; then
|
||||
SHORT_HOST=${FQDN%.*.*}
|
||||
if [ -z "$SHORT_HOST" ]; then
|
||||
read -r SHORT_HOST < /etc/hostname
|
||||
fi
|
||||
|
||||
case "$SHORT_HOST" in
|
||||
*.dc)
|
||||
ENVIRONMENT="\[\033[01;31m\]PRO\[\033[00m\]"
|
||||
read -r VN_ENV < /etc/vn/env
|
||||
case "$VN_ENV" in
|
||||
lab)
|
||||
ENV_COLOR="\033[01;32m"
|
||||
;;
|
||||
*.lab)
|
||||
ENVIRONMENT="\[\033[01;35m\]LAB\[\033[00m\]"
|
||||
pre)
|
||||
ENV_COLOR="\033[01;35m"
|
||||
;;
|
||||
test)
|
||||
ENV_COLOR="\033[01;33m"
|
||||
;;
|
||||
pro)
|
||||
ENV_COLOR="\033[01;31m"
|
||||
;;
|
||||
*)
|
||||
ENVIRONMENT="\[\033[01;32m\]VN\[\033[00m\]"
|
||||
ENV_COLOR="\033[01;36m"
|
||||
;;
|
||||
esac
|
||||
|
||||
PS1="\u@$SHORT_HOST[$ENVIRONMENT]:\w"
|
||||
ENV_TEXT=${VN_ENV^^}
|
||||
|
||||
if [ -z "$ENV_TEXT" ]; then
|
||||
ENV_TEXT="???"
|
||||
ENV_COLOR="\033[01;37m"
|
||||
fi
|
||||
|
||||
ENV_TEXT="\[${ENV_COLOR}\]${ENV_TEXT}\[\033[00m\]"
|
||||
PS1="\u@$SHORT_HOST[$ENV_TEXT]:\w"
|
||||
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
PS1="$PS1# "
|
||||
|
@ -40,8 +58,8 @@ TMOUT=3600
|
|||
|
||||
# Aliases
|
||||
|
||||
#export LS_OPTIONS='--color=auto'
|
||||
#eval "$(dircolors)"
|
||||
#alias ls='ls $LS_OPTIONS'
|
||||
#alias ll='ls $LS_OPTIONS -l'
|
||||
#alias la='ls $LS_OPTIONS -la'
|
||||
export LS_OPTIONS='--color=auto'
|
||||
eval "$(dircolors)"
|
||||
alias ls='ls $LS_OPTIONS'
|
||||
alias ll='ls $LS_OPTIONS -l'
|
||||
alias la='ls $LS_OPTIONS -la'
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
- name: Create company configuration directory
|
||||
file:
|
||||
path: /etc/vn
|
||||
state: directory
|
||||
|
||||
- name: Set environment file
|
||||
copy:
|
||||
dest: /etc/vn/env
|
||||
content: "{{vn_env}}\n"
|
|
@ -13,6 +13,8 @@
|
|||
block:
|
||||
- import_tasks: witness.yml
|
||||
tags: witness
|
||||
- import_tasks: config.yml
|
||||
tags: config
|
||||
- import_tasks: root.yml
|
||||
tags: root
|
||||
- import_tasks: resolv.yml
|
||||
|
|
Loading…
Reference in New Issue