From 4f4e93405bf12f056bfcf750f047cbdec27465ff Mon Sep 17 00:00:00 2001
From: Theo Chatzimichos <tampakrap@opensuse.org>
Date: Jan 14 2018 20:43:04 +0000
Subject: Merge branch 'bashrc_hostusage' into 'production'


add ability to print hostusage next to the PS1

See merge request infra/salt!149
---

diff --git a/pillar/id/anna_infra_opensuse_org.sls b/pillar/id/anna_infra_opensuse_org.sls
index 54324ed..f447da4 100644
--- a/pillar/id/anna_infra_opensuse_org.sls
+++ b/pillar/id/anna_infra_opensuse_org.sls
@@ -1,6 +1,11 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - ns1.i.o.o
+    - ntp2.i.o.o
+    - proxy-nue1.o.o
+    - relay.i.o.o
   roles:
     - ha
     - proxy
diff --git a/pillar/id/baloo_infra_opensuse_org.sls b/pillar/id/baloo_infra_opensuse_org.sls
index c4890c7..8a1c15a 100644
--- a/pillar/id/baloo_infra_opensuse_org.sls
+++ b/pillar/id/baloo_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - lists.o.o
   roles:
     - lists
   salt_cluster: opensuse
diff --git a/pillar/id/boosters_infra_opensuse_org.sls b/pillar/id/boosters_infra_opensuse_org.sls
index 2b4e48f..ac01f4a 100644
--- a/pillar/id/boosters_infra_opensuse_org.sls
+++ b/pillar/id/boosters_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - connect.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/chip_infra_opensuse_org.sls b/pillar/id/chip_infra_opensuse_org.sls
index b9edcef..e4bba40 100644
--- a/pillar/id/chip_infra_opensuse_org.sls
+++ b/pillar/id/chip_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - transfer o.o NS to MF-IT
   roles:
     - ns
     - ns_slave
diff --git a/pillar/id/community_infra_opensuse_org.sls b/pillar/id/community_infra_opensuse_org.sls
index 2b4e48f..49c5af2 100644
--- a/pillar/id/community_infra_opensuse_org.sls
+++ b/pillar/id/community_infra_opensuse_org.sls
@@ -1,5 +1,12 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - bugbot
+    - counter.o.o
+    - doc.o.o
+    - education.o.o
+    - fontinfo.o.o
+    - shop.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/conference_infra_opensuse_org.sls b/pillar/id/conference_infra_opensuse_org.sls
index 2b4e48f..e0322cd 100644
--- a/pillar/id/conference_infra_opensuse_org.sls
+++ b/pillar/id/conference_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - events.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/daffy1_infra_opensuse_org.sls b/pillar/id/daffy1_infra_opensuse_org.sls
index 62406a3..a4c5791 100644
--- a/pillar/id/daffy1_infra_opensuse_org.sls
+++ b/pillar/id/daffy1_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - login2.o.o
   roles:
     - login
   salt_cluster: opensuse
diff --git a/pillar/id/daffy2_infra_opensuse_org.sls b/pillar/id/daffy2_infra_opensuse_org.sls
index 62406a3..a4c5791 100644
--- a/pillar/id/daffy2_infra_opensuse_org.sls
+++ b/pillar/id/daffy2_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - login2.o.o
   roles:
     - login
   salt_cluster: opensuse
diff --git a/pillar/id/dale_infra_opensuse_org.sls b/pillar/id/dale_infra_opensuse_org.sls
index 2b4e48f..a8d68a5 100644
--- a/pillar/id/dale_infra_opensuse_org.sls
+++ b/pillar/id/dale_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - future events.o.o replacement
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/donald_infra_opensuse_org.sls b/pillar/id/donald_infra_opensuse_org.sls
deleted file mode 100644
index 2b4e48f..0000000
--- a/pillar/id/donald_infra_opensuse_org.sls
+++ /dev/null
@@ -1,5 +0,0 @@
-grains:
-  city: nuremberg
-  country: de
-  salt_cluster: opensuse
-  virt_cluster: atreju
diff --git a/pillar/id/duke_infra_opensuse_org.sls b/pillar/id/duke_infra_opensuse_org.sls
index 2b4e48f..a43a41e 100644
--- a/pillar/id/duke_infra_opensuse_org.sls
+++ b/pillar/id/duke_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - future connect.o.o replacement
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/elsa_infra_opensuse_org.sls b/pillar/id/elsa_infra_opensuse_org.sls
index 0cc2452..4716ca4 100644
--- a/pillar/id/elsa_infra_opensuse_org.sls
+++ b/pillar/id/elsa_infra_opensuse_org.sls
@@ -1,6 +1,11 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - ns2.i.o.o
+    - ntp3.i.o.o
+    - proxy-nue2.o.o
+    - relay.i.o.o
   roles:
     - ha
     - proxy
diff --git a/pillar/id/etherpad_infra_opensuse_org.sls b/pillar/id/etherpad_infra_opensuse_org.sls
index 2b4e48f..34fcc07 100644
--- a/pillar/id/etherpad_infra_opensuse_org.sls
+++ b/pillar/id/etherpad_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - etherpad.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/gaston_infra_opensuse_org.sls b/pillar/id/gaston_infra_opensuse_org.sls
deleted file mode 100644
index 2b4e48f..0000000
--- a/pillar/id/gaston_infra_opensuse_org.sls
+++ /dev/null
@@ -1,5 +0,0 @@
-grains:
-  city: nuremberg
-  country: de
-  salt_cluster: opensuse
-  virt_cluster: atreju
diff --git a/pillar/id/icc_infra_opensuse_org.sls b/pillar/id/icc_infra_opensuse_org.sls
index 341962d..d65986c 100644
--- a/pillar/id/icc_infra_opensuse_org.sls
+++ b/pillar/id/icc_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - icc.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
 
diff --git a/pillar/id/keyserver1_infra_opensuse_org.sls b/pillar/id/keyserver1_infra_opensuse_org.sls
index 2b4e48f..88cdeac 100644
--- a/pillar/id/keyserver1_infra_opensuse_org.sls
+++ b/pillar/id/keyserver1_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - keyserver1.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/kruemel_infra_opensuse_org.sls b/pillar/id/kruemel_infra_opensuse_org.sls
index 2b4e48f..d5ec9a3 100644
--- a/pillar/id/kruemel_infra_opensuse_org.sls
+++ b/pillar/id/kruemel_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - planet.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/mickey_infra_opensuse_org.sls b/pillar/id/mickey_infra_opensuse_org.sls
index b6ff2fd..865cf55 100644
--- a/pillar/id/mickey_infra_opensuse_org.sls
+++ b/pillar/id/mickey_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - gitlab.i.o.o
   roles:
     - gitlab
   salt_cluster: opensuse
diff --git a/pillar/id/minnie_infra_opensuse_org.sls b/pillar/id/minnie_infra_opensuse_org.sls
index 7d01a74..47a9521 100644
--- a/pillar/id/minnie_infra_opensuse_org.sls
+++ b/pillar/id/minnie_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - saltmaster
   roles:
     - saltmaster
   salt_cluster: opensuse
diff --git a/pillar/id/monitor_infra_opensuse_org.sls b/pillar/id/monitor_infra_opensuse_org.sls
index b698151..94d35de 100644
--- a/pillar/id/monitor_infra_opensuse_org.sls
+++ b/pillar/id/monitor_infra_opensuse_org.sls
@@ -1,6 +1,10 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - heroes-bot
+    - monitor.o.o
+    - syslog.i.o.o
   roles:
     - ircbot
     - syslog
diff --git a/pillar/id/mufasa_infra_opensuse_org.sls b/pillar/id/mufasa_infra_opensuse_org.sls
index c249ca5..df3430c 100644
--- a/pillar/id/mufasa_infra_opensuse_org.sls
+++ b/pillar/id/mufasa_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: provo
   country: us
+  hostusage:
+    - proxy-prv.o.o
   roles:
     - proxy
   salt_cluster: opensuse
diff --git a/pillar/id/narwal2_infra_opensuse_org.sls b/pillar/id/narwal2_infra_opensuse_org.sls
index 2b4e48f..7085f56 100644
--- a/pillar/id/narwal2_infra_opensuse_org.sls
+++ b/pillar/id/narwal2_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - static.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/narwal3_infra_opensuse_org.sls b/pillar/id/narwal3_infra_opensuse_org.sls
index 2b4e48f..7085f56 100644
--- a/pillar/id/narwal3_infra_opensuse_org.sls
+++ b/pillar/id/narwal3_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - static.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/narwal_infra_opensuse_org.sls b/pillar/id/narwal_infra_opensuse_org.sls
index 2b4e48f..7085f56 100644
--- a/pillar/id/narwal_infra_opensuse_org.sls
+++ b/pillar/id/narwal_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - static.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/nuka_infra_opensuse_org.sls b/pillar/id/nuka_infra_opensuse_org.sls
index edc6236..2881b59 100644
--- a/pillar/id/nuka_infra_opensuse_org.sls
+++ b/pillar/id/nuka_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - l10n.o.o
   roles:
     - weblate
   salt_cluster: opensuse
diff --git a/pillar/id/olaf_infra_opensuse_org.sls b/pillar/id/olaf_infra_opensuse_org.sls
index 2b4e48f..4c70d37 100644
--- a/pillar/id/olaf_infra_opensuse_org.sls
+++ b/pillar/id/olaf_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - scanner.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/rafiki_infra_opensuse_org.sls b/pillar/id/rafiki_infra_opensuse_org.sls
index 10374b1..ccb612f 100644
--- a/pillar/id/rafiki_infra_opensuse_org.sls
+++ b/pillar/id/rafiki_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: provo
   country: us
+  hostusage:
+    - future login3.o.o (provo login proxy)
   roles:
     - login
   salt_cluster: opensuse
diff --git a/pillar/id/redmine_infra_opensuse_org.sls b/pillar/id/redmine_infra_opensuse_org.sls
index 2b4e48f..9399a2f 100644
--- a/pillar/id/redmine_infra_opensuse_org.sls
+++ b/pillar/id/redmine_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - progress.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/riesling2_infra_opensuse_org.sls b/pillar/id/riesling2_infra_opensuse_org.sls
index d761123..527a228 100644
--- a/pillar/id/riesling2_infra_opensuse_org.sls
+++ b/pillar/id/riesling2_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: provo
   country: us
+  hostusage:
+    - en.o.o (read-only)
   roles:
     - mysql
     - wiki
diff --git a/pillar/id/riesling_infra_opensuse_org.sls b/pillar/id/riesling_infra_opensuse_org.sls
index 3d4c96c..7dbe2d7 100644
--- a/pillar/id/riesling_infra_opensuse_org.sls
+++ b/pillar/id/riesling_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - en.o.o (all *.o.o wikis)
   roles:
     - wiki
   salt_cluster: opensuse
diff --git a/pillar/id/sarabi_infra_opensuse_org.sls b/pillar/id/sarabi_infra_opensuse_org.sls
index 2b4e48f..0a13e81 100644
--- a/pillar/id/sarabi_infra_opensuse_org.sls
+++ b/pillar/id/sarabi_infra_opensuse_org.sls
@@ -1,5 +1,7 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - future elections.o.o
   salt_cluster: opensuse
   virt_cluster: atreju
diff --git a/pillar/id/scar_infra_opensuse_org.sls b/pillar/id/scar_infra_opensuse_org.sls
index 4b75b31..1837e0f 100644
--- a/pillar/id/scar_infra_opensuse_org.sls
+++ b/pillar/id/scar_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - gate.o.o
   roles:
     - openvpn
   salt_cluster: opensuse
diff --git a/pillar/id/simba_infra_opensuse_org.sls b/pillar/id/simba_infra_opensuse_org.sls
index 971508c..139fa9b 100644
--- a/pillar/id/simba_infra_opensuse_org.sls
+++ b/pillar/id/simba_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - gitlab runner
   roles:
     - worker_gitlab
   salt_cluster: opensuse
diff --git a/pillar/id/water2_infra_opensuse_org.sls b/pillar/id/water2_infra_opensuse_org.sls
index 2f719f1..d769f48 100644
--- a/pillar/id/water2_infra_opensuse_org.sls
+++ b/pillar/id/water2_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: provo
   country: us
+  hostusage:
+    - en.o.o wiki search backend
   roles:
     - wikisearch
   salt_cluster: opensuse
diff --git a/pillar/id/water_infra_opensuse_org.sls b/pillar/id/water_infra_opensuse_org.sls
index 72c2d0f..d1522a8 100644
--- a/pillar/id/water_infra_opensuse_org.sls
+++ b/pillar/id/water_infra_opensuse_org.sls
@@ -1,6 +1,8 @@
 grains:
   city: nuremberg
   country: de
+  hostusage:
+    - en.o.o search backend
   roles:
     - wikisearch
   salt_cluster: opensuse
diff --git a/salt/profile/accounts/files/etc/bash.bashrc.local.jinja b/salt/profile/accounts/files/etc/bash.bashrc.local.jinja
new file mode 100644
index 0000000..beabbf1
--- /dev/null
+++ b/salt/profile/accounts/files/etc/bash.bashrc.local.jinja
@@ -0,0 +1,37 @@
+HOSTUSAGE='{{ salt['pillar.get']('grains:hostusage', [])|join(', ') }}'
+# Other prompting for root
+if test "$UID" -eq 0  ; then
+    if test -n "$TERM" -a -t ; then
+        _bred="$(path tput bold 2> /dev/null; path tput setaf 1 2> /dev/null)"
+        _sgr0="$(path tput sgr0 2> /dev/null)"
+    fi
+    # Colored root prompt (see bugzilla #144620)
+    if test -n "$_bred" -a -n "$_sgr0" ; then
+        _u="\[$_bred\]\h ($HOSTUSAGE)"
+        _p=" #\[$_sgr0\]"
+    else
+        _u="\h ($HOSTUSAGE)"
+        _p=" #"
+    fi
+    unset _bred _sgr0
+else
+    _u="\u@\h"
+    _p=">"
+fi
+if test -z "$EMACS" -a -z "$MC_SID" -a -z "$restricted" -a \
+        -z "$STY" -a -n "$DISPLAY" -a ! -r $HOME/.bash.expert
+then
+    _t="\[\$(ppwd)\]"
+else
+    _t=""
+fi
+
+
+case "$(declare -p PS1 2> /dev/null)" in
+*-x*PS1=*)
+    ;;
+*)
+    # With full path on prompt
+    PS1="${_t}${_u}:\w${_p} "
+;;
+esac
diff --git a/salt/profile/accounts/init.sls b/salt/profile/accounts/init.sls
index 1a0be4e..8a5b1b0 100644
--- a/salt/profile/accounts/init.sls
+++ b/salt/profile/accounts/init.sls
@@ -5,3 +5,8 @@ include:
   - openssh.config
   - sudoers
   - sudoers.included
+
+/etc/bash.bashrc.local:
+  file.managed:
+    - source: salt://profile/files/etc/bash.bashrc.local.jinja
+    - template: jinja