Compare commits

..

No commits in common. "main" and "net-ops-2024-09-23-v03" have entirely different histories.

167 changed files with 125 additions and 7206 deletions

14
addhost
View file

@ -5,22 +5,19 @@ cmd_do_bootstrap="no"
cmd_fqdn=""
function usage() {
echo "Usage: $0 [-h] [-b] [-o] [-p] [-n fqdn] [--] [<host>]"
echo "Usage: $0 [-h] [-b] [-n fqdn] [--] [<host>]"
echo " -h show help"
echo " -b bootstrap <host> (using ssh)"
echo " -n specify FQDN (if not the same as <host>)"
echo " -o override naming standard"
echo " -p specify ProxyJump host"
echo ""
echo " <host> can be an IP number, or something that resolves to one"
}
while getopts "bhnop:" this; do
while getopts "bhnp:" this; do
case "${this}" in
h) usage; exit 0;;
b) cmd_do_bootstrap="yes" ;;
n) cmd_fqdn="${OPTARG}" ; shift ;;
o) naming_override="yes" ;;
p) cmd_proxy="${OPTARG}" ; shift ;;
*) echo "Unknown option ${this}"; echo ""; usage; exit 1;;
esac
@ -40,13 +37,6 @@ if test -z "$cmd_hostname"; then
exit 1
fi
if [[ ! $naming_override ]]; then
if [[ ! "$cmd_hostname" =~ ^([a-z]+)-(sthb|dco|tug|sto1|sto3|sto4)-(prod|dev|stage|test|qa)-([1-9][0-9]*).sunet.se$ ]]; then
echo "$cmd_hostname is not following the naming standard: function-location-environment-number.sunet.se"
exit 1
fi
fi
if [[ -n $cmd_proxy ]]; then
proxyjump="-o ProxyJump=${cmd_proxy}"
fi

View file

@ -1,3 +0,0 @@
The system documentation is in the docs directory of the multiverse repository.

View file

@ -1,3 +0,0 @@
---
baas_password: ENC[PKCS7,MIIC5AYJKoZIhvcNAQcDoIIC1TCCAtECAQAxggKMMIICiAIBADBwMFgxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxKTAnBgNVBAMMIGJhYXMyLWJhY2t1cHRlc3QtcHJvZC0xLnN1bmV0LnNlAhR80v/GnHRrSRKjdgHLOpWl2wh/BDANBgkqhkiG9w0BAQEFAASCAgAYXJuzdyK4ZlpBnjovpCwJtU+ifMqTIGe1dH0nomyZwXapU54x7K0yZsNEZ0WYXRmyaSF+677JdRv5HxVCP2FUhqIo+fY5Oj9wxg4/I1lSqhYlaRQBQB7svewiefszzovHGPYoPrgDnPwsZ+WICjhvB2P+f+GZVPRUynfCxPCxPZDKb2udHgno7QWRnAuEVuQ0+KKXlHkKUbLwl90eOjBzvvXnnuSOrzpnSrmaGEO8WI5yOEug/lL64FiizDd+yXpJJtEbhA1BrqMbQ4nX8tTUK/ZEgG/aJ4HsSp1aMer8P3rY+hk/h+DnwJR9oYFE+qsu1u+3OgVOxgWeoORQX5eYZLClBqw1eexD6TyDHzren62Ygw4UsHdrU04iKWz8IGhal9pa0joRHJ3NxRy3+6MM05qqH6RZPtDdX9PYeBPDqbcPf7CK2g+PG9jHMFbjp+Fsty7P5HjR2ltKcXqClm7D1dWRdJjU0Rr0JC+PV9CuOLNwbzdD2s7mdmYVFlosCeDcWarzlUsfVOEqGJFoVUcpjeyT+MKOmoKX24st9eKIqJcjoYURsBjcYSrl6mdcTvsqlu7X/uKRZvftajzD8eVs+8etmC44EtfYxqeluwpsIhsOsVwoKwqmtqsYd4dkT1SbiI5NQjCApdf0eQYYdZdRewvykKrqoNnT7FnZHntPezA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBDO/LW8bqG83cxGA1QYCmUpgBD+ZXQBbjH9Su6eGfaw8wTN]
baas_encryption_password: ENC[PKCS7,MIIDBAYJKoZIhvcNAQcDoIIC9TCCAvECAQAxggKMMIICiAIBADBwMFgxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxKTAnBgNVBAMMIGJhYXMyLWJhY2t1cHRlc3QtcHJvZC0xLnN1bmV0LnNlAhR80v/GnHRrSRKjdgHLOpWl2wh/BDANBgkqhkiG9w0BAQEFAASCAgA6SLPZA5Gl0F2aY9LKTFURSUuRabixnkaddzaA32K+IBTg1DZrJCzvcAU1PxBfyHW8os+P0Z/M6mc1nLD57jrWBbp9UNT79QtDTgVhY3p9fbF8xlj/ByvdA7AjnI3k45I08+KukGQdSyDIBwUr1UCOPRsgsVvZE/eS+9iuxtHuTZSFx5bgp2Ihi9cw8P9y3Nhby4ttWxELs4DESMoTgpcSUon78Ula84Y+eZbzvm42ToVtQN1wj6ljQ/S4KgIrunWpa21MlWdgWzqcuXvZg3sj/fAWm7dD9PL2X/KuEcsfbfT+uuCkZX2IkQnBjIimNyn204YzPx+6geWgLcr1p3rYLW10rzmYyYzq0hA+hb9NTNlBl8MvJb9cHVQEzwYRqFUXJXD7tmMIx5uenvAxtFvHRdataA+AlMnJauw+1GZI3dVrf+Z06wCC7ctOGcGbCnBUOwSfNT2CJPeAGr0c8DG0oQw9x3QN33LZ8cWLwekF5Kyoi/aINo99zqd9QfnQnEBL0A8fhUptUUy3coValk85P61eI32xqFXAA/201uiDjAUap6eqk3IjVIzMoHfwL3y1PJ7JhQntN4iWqH5Ds0LrO2qRbR/VAGnCQtZ9A6HBtWhxbt579w3ktiWpRtL2kBMTT2190rwUyXcNKsPNvzXFomnVeCqOmE7Z/Se+gNeiojBcBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAUWpKZlQgG7ucRnvOeve5TgDAPFyECcAAjtXNtXUBG3jJm1AdgGY9KpmVrHnl86EJQySXDeK2vJ0EFoHeFrvtRfXQ=]

View file

@ -1,3 +0,0 @@
The system documentation is in the docs directory of the multiverse repository.

View file

@ -1,4 +0,0 @@
---
baas_password: ENC[PKCS7,MIIC5QYJKoZIhvcNAQcDoIIC1jCCAtICAQAxggKNMIICiQIBADBxMFkxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxKjAoBgNVBAMMIWJhYXMyLXJlc3RvcmV0ZXN0LXByb2QtMS5zdW5ldC5zZQIUG9z8+0wambH6heO0APvAWdD6Px0wDQYJKoZIhvcNAQEBBQAEggIAvFJhux8sNLARBZs44HnLBwO8zNmmbNegq4Xcf8XfqChbn22ZJaFtnqDE3e2eGGFlv2ih1wQgY7iNSYx57EVe2D1A35U/v9TPa6/daiSlMRG8l7bWOrdhQkKDduzWYJOVItfqzusnKfHD0bTgaaiePo2z9thvVY9yVLbha5Fb6S/aOOwY2Roobw9/ymmtwSNuF1wBQbkT9SX0MVVzi0DVRpjKi5e00yMZkYX8sJH0jAusNgTU0oLF/+69sYeATDYlOyFIfKcB1O5sJwEGLtQXI2LxltSZvrqHRH3fGcVEIV5HDPkQhmv5OwD3iSrNw5mDfGE+jmmFxB0WEU1AL1qsY81WsSNigVI0OW0yIxV1lCeh1jkPXidijo+2WxgVPu1Z/MGK4qx6ZNIUR9XBkJRsy8EqBDQ5GNfe0QdKK8AFIY1GsXog+/KQP9tzRQC249O5d+ZCJ3O515TOO/UlHbyHeCHCi224vgfHmnHyBy+Rw03bpGUqxHN3rRELwnWoby5YhNy+osp5LYSbdaR0+3Q4JPFw2UJzWcgdLGO2Jpg5DfkVjVNgbfI0SipruEsdA1lY6ocTgXEKORn8I08/F/SOAfl4ny8u92eINsEztDG/0uAMqfnbs7VNUXHYurdB490BQeIgFJ7+5NmktpIBBSThZSSg9P3aeOIQ9BeOdvhmviQwPAYJKoZIhvcNAQcBMB0GCWCGSAFlAwQBKgQQV+TZCHVio4vs1P2KzaqDkoAQ+kTUwN7ZZQ9SaL2gXAjmlQ==]
baas_encryption_password: ENC[PKCS7,MIIDBQYJKoZIhvcNAQcDoIIC9jCCAvICAQAxggKNMIICiQIBADBxMFkxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxKjAoBgNVBAMMIWJhYXMyLXJlc3RvcmV0ZXN0LXByb2QtMS5zdW5ldC5zZQIUG9z8+0wambH6heO0APvAWdD6Px0wDQYJKoZIhvcNAQEBBQAEggIANwid1V56Vk1Z9DAsduX9bjmc7s8qnbS8lQ9ctxJ+9Yt6DJ25np4VQXZy+vKoSfNqUg8tXaw5b1l85sJkrGbRrjK7qCZLnjtu2/xXQCOFPqVLzy3OSjoRxe1/OgrGII1upyrSSNNBT/S/n30zNqBQyy69a9QtKqHMX30yup+1wrIlDsJeoEiUMs91NO9imEOwDPkAnP4ncjlTU0oMKqGokNFNHSfdwUYN4AHILZ03MwLabyOQvsJ0+bdLo/LddW8bgOEv35/QQBM6Pkugi1G2VzjDAQetfYeFJwCr2xEpU6C1hr1WazJNwB0wEr4NqeKb3Yft6yMeUrplNZZD4M7mGtXhPf62ePePs7FezICY7+TJSOxmDs7561tvB6q6SXzohGxcZzzNAEZTMSzIEz6HREyvPMLOWpcPNtxOauQgcS2TXmRoN6VJ2kQkvi3/qw8D8VN32L5Jn1eZ3ecwsbNZJyuDXSuZME+RLCEMS6miOl9yOySRUC0F1GSu83wcYDWpH7Gg+b6ybI5pEruKM7RANrG+td+PlYeUPHep0uraqc2EpT6SdLn8L0AIkZz0pVOEvD5FFKYvNIJVSbbYOTj+FdbhewucXGX4pOUUEcoh57w+WusCIkijAynpsFwZ2BrJ+DSFR74SkJnGveLS0FMqgpZpv+TTTyWOLNJX4lAINGcwXAYJKoZIhvcNAQcBMB0GCWCGSAFlAwQBKgQQ0XNnbpZAiZPdU0mp4BQctoAw1a8kvHIX9PWT//iONetAw93A5NjdgbCKV9Eg4O3grjUfkNEuKQoGWuIE+G/f9L81]
baas2_restoretest_encryption_password: ENC[PKCS7,MIIDBQYJKoZIhvcNAQcDoIIC9jCCAvICAQAxggKNMIICiQIBADBxMFkxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxKjAoBgNVBAMMIWJhYXMyLXJlc3RvcmV0ZXN0LXByb2QtMS5zdW5ldC5zZQIUG9z8+0wambH6heO0APvAWdD6Px0wDQYJKoZIhvcNAQEBBQAEggIAsdYV0jkMr72YRdM2fx93lj6p0BbK5Om9QKVcBlbY8dSoSyirKmG5K6JI8Di2PsU1+/mrO3x+YgWN7rwcCZYKU80TSMu+RIc3R0kEYtc7TUM0fdNX02Kcf0wt7pNjWnZr9T43O6hCxzbTQ3eAhYy3Ngb93C9ySVbuWwYgfh2iNJCcDnp6+OeJ6TpioTx+czGgoSY+qBuBLfRl0bCxG3hpFCkB9f45aPUvcpBPdw0nlwGpHEueKV9CDp+V+mEvh/pFmMgME2Vt7ac1dn88DBYHwTrSQEGK9SROJwPfxxPkBF5FUyPDCTcJuel20Esy9LyCB5MAM/LG+wg7QeNO8km9mQEBO7lb/DZJgEIVKQJqHzN+rEhOfM/Ytxzb57a9yP8mTCVX9yzvlf61sfNCimCV5MSN/p4xHTLv+kM25tn3Y4O6wlnBvjVHQVlKSMAD6LLNPcSD/bEBNFgKncKa0Tlr2RRZVX06OSN9RWIssJNaIYY/RJboxC7y4DIN6A/ad6G/D90ad8dlWCmspI+G81I0pv2xlDYDzoNJpqLss08l/H4REmORCDuW4j2hTbQzV+0LXaVKLMoxI/EXPl/m5Q/Fhc8AcZG+aUkaVHhiDbOfLlGWSUUtqEydPRqrJ9YyZddt8E5HgveJJt05ucA/hUX95ljIyCNInfsLK/PCWAWH8nQwXAYJKoZIhvcNAQcBMB0GCWCGSAFlAwQBKgQQt7XCrqgAbg9/TMOMvXe+JIAw3GNCmHvCzjg/RPQqzsDji4WUVxjnJ3HoAxmeJ9jrO/Iz8V3+b9nSOoIp9RZJuf0/]

View file

@ -1,2 +0,0 @@
# check_baas2-restore-status
command[check_baas2-restore-status]=/usr/local/sbin/baas2-check-restore-status

View file

@ -1,3 +0,0 @@
The system documentation is in the docs directory of the multiverse repository.

View file

@ -1,29 +0,0 @@
---
cisoas_sto4_prod_1_sunet_se_ssh_key: >
ENC[PKCS7,MIIEYwYJKoZIhvcNAQcDoIIEVDCCBFACAQAxggKHMIICgwIBAD
BrMFMxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRV
lBTUwxJDAiBgNVBAMMG2Npc29hcy1zdG80LXByb2QtMS5zdW5ldC5zZQIUMC
rkQsdzJfM8w0jXAKxy5D/E1o4wDQYJKoZIhvcNAQEBBQAEggIAvPhMOWkHL/
tvjg7xnjW6whGU8go7fJ5gKpMVMFl72LzfKFU3YYmG38Jj1W3zAbJt6U5LgQ
JlDxpDrF4odEdfH9eZ6lnZ/ZqGh12yXuiJIB1EIQapzTvCqmzbGWr6XAAgcs
8i3B1MIMBjdG9JiEUGp01AFOREsv7kGEb3Zb+XwI5VItgpxDDZoAUUOxl/US
GifTaHC5EbcoEWSTRlKT2xdBTKPKv9G6jJrLfTLBxDTrTo7wYteqW1Kvfgav
Wg6+mjRfazpNgjUMHOum3tmKACp1MUR2s2SY4v+WDATPfR13I+u1HAcZcgOR
dtbMtQdcdY/Reo9D6tCTmAmmenT09UAeCb0aDljKR95ZwzBWdh09W99oPkIl
44cyOQ7bNquoqWGgKrNj7TD9iXWJQoBCRJvwXWnE0sXL7HDCMO6lax6Q1neQ
TcUUpHwxrd8RaCjP+bys5qkw6gbIBU25HxOg6onKHfKBYmoiMV1fFQDa0+/l
haPHALdj+309JheZSCJiVZzPdV8NlllIZxye+ueziPWPqaR87QB/gu5ZhYwh
WWdDYMBwcGEUr9KRH8Zg3htJTMicd8E+fQ58tISRQnCyr+HtoA/Q6KlWZzIX
qD+skMQMrSBbegrxWXV2x76jCH5dppBhHVntuW3/am0rVMkLVior0VSg9lCu
oi9gGlL/0ASkEwggG+BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBDBkp6c+P
GM/4l8zTLVFHEdgIIBkOJOwTDfcL2RBICCfLAOSRNJhoPaVyTEg/7Bo9Z18K
KCVcJuAMcmN/hWVdmVu1E6nb1KQ8DdmoTExgWkgZ0QcRgR0SYfn5dP67qJGj
vQSFNWov+kfPtwDkrEyyaWXYGJ/JrK0eKlZYpZH20AzT0ujp3skDi5gBqcep
mNUjMvIR7EfwR7CJFrn6JDjrI+4nE8qSLbnSAnlAWNRn8aB2x08jTVfiWaPf
3P3w4exLnlWffOMY68k47q1z0fFhROkA2RjeffmqI1lkt+FgYlqyhVp5vuNT
LPdMv4M4aTI9CIKOrvCX1qgqxWUInNkFELuPAcf1XRMXS/+ECtF6YWLeMLPw
5N/W7MeK9XUxSOKDsthJ/nhfGoi8OHk5INN5rmcbqXcVkO3YPnETo9RAnmDV
VLI1IQDXiOUsK9i3+MzDNRj+5m4UCNQKJ8gxqcTJlhHuqBx2dgvArTRLo8cN
kcjtfJsxl8BsIcmWDkhkgRP2ZwR4OOBtxrUbSlipTInISg39ElNXOUAD2GHe
ej2A3rKtspd5s=]

View file

@ -1 +0,0 @@
global/overlay/etc/puppet/manifests/cosmos-site.pp

View file

@ -1,3 +0,0 @@
The system documentation is in the docs directory of the multiverse repository.

View file

@ -1,5 +0,0 @@
---
document_db_password: ENC[PKCS7,MIIC7gYJKoZIhvcNAQcDoIIC3zCCAtsCAQAxggKGMIICggIBADBqMFIxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxIzAhBgNVBAMMGmZvcnVtLXN0bzMtcHJvZC0xLnN1bmV0LnNlAhRURhvmNsKRk+Z70WeHCVuamD8iXDANBgkqhkiG9w0BAQEFAASCAgACwX3Z0d4Z2N7f5uO8WFWHRFSzz3rEVlXOeQ4cuPvboftXbhRhOuhmzbLAyCxzV/Gvp90hteruPo+ElGckBJonIUpXMXeMe1BTzl3AZ2TiUzeaPWj74okxRXw3UvdDCSNaYg0h2bRK0kL/1l/EQEUaUsALL1qP4YZ1GdZ9zEkXgWR6Os+LYm8l28wycwnoTOFC1YafaNV1BHK2ru9AR2Td297b4YUXVTDjqPDQrHLlkjGJk5oK2dCixOTiMZ9G+CRAvyk0j2Au+AYltbqixVniuGYgYhU681XAH9ZiJWVwhlAO9/p3UJ/stM4o2dT0kOPqBBKEGRW3BADAl3R/MVXbrH0cSRQoQC9XHu7OHGVUlVvhss/Y9CsnUrj6jzpAQkMf/64hoibascKSAtaEefiP7b5IxD1ubGVNdaf+SUVw5jF4pwtuzovd0dIWpHZmS1MqsxuzguOjJDhUnWXD51EK1QNwF4RCCwc9DRuHnqAS4/1eo1342VJw89PctBgZ3JXlOwG84W6v2IOVXFGGkDhKVQR+jjQW6gLmUGs1RYx05ClXRzJVKISNQZHRITrjq4CNV5zG+RdvYsBr7VuVIuQbtdAIEgbIF27LEPnl0vi3AwdpvPxqDNNw/YWWvFt9YgyEQlVOBKSrzJt4eiwYj9aHL5AnFK1RZ7Nq1uOtHowgAjBMBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBC75gu2y+uS5eBs0jydlUm8gCCdFwUx88ZqruYmv8PY7Q1921ZSpew03gLI682iUXaWDg==]
document_jwt_key: ENC[PKCS7,MIIC/gYJKoZIhvcNAQcDoIIC7zCCAusCAQAxggKGMIICggIBADBqMFIxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxIzAhBgNVBAMMGmZvcnVtLXN0bzMtcHJvZC0xLnN1bmV0LnNlAhRURhvmNsKRk+Z70WeHCVuamD8iXDANBgkqhkiG9w0BAQEFAASCAgAI5gKMbzLWJDjH0VPbD4EnMn+4xdk3UxTQs8WtTvXlQm5TUk5ks6e3B0GPLi+oX789bV0tu1Lmjp4Rr1q6ekqplcPULC5etGv35dKXYBMUWWY1C5vG59chsqDNJbajxLk4X2/4r9OfbCyw173cXmbpPwVy08jmfK1mmWgpHd4pJzb2oc2gjVbMAmXlokEXZsW9QHUhiEqJjjPoXN2k0lfa13bTvqkqCU8elseM4f1TD1+B10Bx5TU8PPzgIzD1IM0zuU2D9+Z4tmiwGz3r+Ni1RcDK/yIR2z3fwE17OLNHxBA8G/IDxYZxec+leN5ZhSwCFFu3b4k8NwAkbAKjswKQeGWX1R47DPP4I95qV57u9adNAYu7yoN1uUQAD1eXQWxPkD86dplsI9eE0ikE2o5rX7qUHULmPwgNG2N9lVZNZhzYGXcwY45fvot+wZR3LUOydTbowI8mip6+LOGftlFMVSPLI1th61CLlKkOa3Kr7zSMeRWOqyqnOKDDf04B2cCiqD9njBwBwb1VyUFj7BaZlq1B7MxjVUuNCNEby7GukOYxYOyfwiKHBw3k3m4vfcH32fyBk7w+gCuMO09myJlQ/smqxH3WW7eGvG7M9zKokeJEj93BmVSWDx7cDEMVXT3ymOY/JVCbqcK4vEEw0hAZsxloOZltrzYGmQ3BTKkS3jBcBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBCRJWFUb7evzaYxg4eaQ6YgDCvQK2uSdoMyJ76mNjMfD4yWBW4xl1h4uYTEqJmdeXqNJ4w6S96BP4aEBDmN1mJOKU=]
baas_password: ENC[PKCS7,MIIC3gYJKoZIhvcNAQcDoIICzzCCAssCAQAxggKGMIICggIBADBqMFIxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxIzAhBgNVBAMMGmZvcnVtLXN0bzMtcHJvZC0xLnN1bmV0LnNlAhRURhvmNsKRk+Z70WeHCVuamD8iXDANBgkqhkiG9w0BAQEFAASCAgB7M/upiF2YlBNm1XImrvKihZZp/kkpskzqNT1HEnKQNgsZEC8v+DuUn5FAChwsMQBrbryHjJW93FAitgmUhuNWtsdIn0k+El5Qwa4j4aY6lCnt8XlQyc/l1094KpIZER+Ifu6HJmrOB9Gka0jzRayrvecdcRLAd7b9MK2zrj6IJ+98LykDYiqkPTFPZ2IHhqEC90WqlOdj4YfFnH0QxjnGW2w1iHVQyD40NF5W2jP8H2iJmWOW/5ZJ4me9fZEnoqrqahqlAAGeJguntVCIkVNpOH7X2+94o+04Gpwl3cq/rCRpzZ2bY4fEmOVpzHc/apM5qApSR/tDOs/6PnxSnCooidEx25j/bBMDu8C/gEkdkBSfpSrXAscPYTGYYgZyp5yKFHpp7/P+Dm/dkisDHGWLFT4y6v0SCpOlbpiSTA+36e8UoPEbFxeBG+sWcU29ynq81bEU7x2ML6+zFqiGJsDpBOGhD9WUFE5RuAo4QpgUBTbgYhtArt80AsxC76z+LW6e2VHsuohv2ggt2x2GBKt2IBbP10gThY2s8baEgRUo8Gn7PBCCLJMi338+88Z+i15J6FSbPNLXSJeVYcDPfp6/AMmM/B4BVUbVWxPk/5XsqQ7GWmLgCsIOXuvy0PIineoT4OHFhFTk17rlGg+69strp+E5QzPoc2w5E+7XHudK7DA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBDG4cMSiRTlyQJoAkC33v+rgBAedMiS8gg8AAkrOLg7jzkh]
baas_encryption_password: ENC[PKCS7,MIIC7gYJKoZIhvcNAQcDoIIC3zCCAtsCAQAxggKGMIICggIBADBqMFIxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxIzAhBgNVBAMMGmZvcnVtLXN0bzMtcHJvZC0xLnN1bmV0LnNlAhRURhvmNsKRk+Z70WeHCVuamD8iXDANBgkqhkiG9w0BAQEFAASCAgB3bhqGzGYSVfP0QSMI2DlU3rAeEYbUxRZcENDIGK1NnV7h/CamDC2+eMAemK1fWG2C+O1uUkMiw+YeAo+yLmvSKxIaL8pLJhGt3DVuUFaXfm5HFAbA+RkRyvb+y8BHeFPF4njviNCfVQzFv6qUphLrvuGi5PyENO4RVDdh8ftRzXvS3OpYEY0Ef39x5AroJxZnYBSxVku204JLReq7CvOuU/jcgDggI9Aqtx4G/dGnlWYeDxB63HsBy1GMOiSozeCR+debS/j6MyZggNBG5RpL2b/xpXlLu02lxZYj7iUKMUIYBNx2v/nxHC2VwqLK8wwsAP09NNOplY/7n35DorPhHtwknt5668PzNqsg4FEprXbLEVf0gYV8zyD3s7/8dtrtxRBWWg/RZs7mNf5rEFhh6Cr03Z5dRRPRNh9ipIGGyYVYYC+lkF3NCiQzYj2YK/BwMb52j5XNygAYKdpcoAGcxkhGONQd9QVsiwGpYW3Vxc7PLLTKi9AFTj7VaJT3QmfJeaDPEG7C1DiNPHwNmeHcUQESS9punj45MbpZGmNJBsWn9gHOd4VQXUI03yAszNPCjA8BXHMpgI96ETGG0A+FRKU6mLvV7jO69f0xSmQ8irxItPgvrkn5PqOYm05Md53z78ehsbpXENqR8qk2cjSW5PDW9t3Fmnm02gbQhnJh6zBMBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBhK2kU331/napHlwKsMwu2gCBZL7Smkgmq9oA5Nw4dA008K/k1pPuNMHweQMuUp9JPWQ==]

View file

@ -1,3 +0,0 @@
The system documentation is in the docs directory of the multiverse repository.

View file

@ -2,7 +2,7 @@
Comment: CA03 EF71 8E34 FFF7 C152 8DDB 62D6 8B58 4B4B 3EB3
Comment: Benedith Mulongo <benedith@sunet.se>
mQINBGWUCyoBEADDNzWkmzf6INsGpgX1MAjdU81RxYETgvPXFBH41Y1Hs5UYlvVc
xsFNBGWUCyoBEADDNzWkmzf6INsGpgX1MAjdU81RxYETgvPXFBH41Y1Hs5UYlvVc
RD1HND39EhQxi0KTqcTfa+aE9XlOsZr7D9wLk+4+vMsM5tHp3GfpFtAGpt5DiOHZ
jiOCEdYDT4SmLuiZvDQ6Xz/4NshQsfTkVQxITMc5pwugPCdV6b1e/Xrq2v9rVZuG
i7Gq369fZ7Y2yZe+DqPPZP0Ce2WVDl+72GyMNo5WUdJ5AZursreSQOiUxSO+zP+D
@ -13,110 +13,83 @@ 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
=yMCF
wsHPBB8BCgCDBYJllAsqBYkB4oUAAwsJBwkQYtaLWEtLPrNHFAAAAAAAHgAgc2Fs
dEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnu19iKGKI84QxaaQbsadSV27xG8I6
dlDXoTO59ZJT2oQDFQoIApsDAh4BFiEEygPvcY40//fBUo3bYtaLWEtLPrMAALfa
EAC/Q8DLu9QSgl9ZGspmku87unXeQl/f50I2UwodB4lj5dpThWCXH9Hubc5ri63l
jAyfg6IaXpecWHK4aJcllG+djKAoTS760exYBjlQ0I2sugC03Ma40oN9JIzkQlxp
xiZy5qg7WzmSvehB3wGrU+QK/YvWJtsNRMLgLEr6VSYAkVtzHIE7lWKl5C/ctHug
5Ba+YKbDRf16wyzjHOgiePdYpvJEi7C+OGZsk65ANKNSEi3/VmI1LaL0O61A3hau
01FFkFjp5Xj5byZ7tDPsHtVDq9zL9btBtRTAhFlvWvj97u/Yi7h6MoC8diBX72w2
d+ox5yAcqXxtzkuqNxC50ujySHFPVaAthzA7PT3lCYoTanHJOAewxiRe0au00HxE
vPle9Yl4tzjYoge236bofhKfA10CcV7bI/kW4V4057+JCGqs/fiMzV6pS1AGnibA
saxLEaItnnXvdIFnTcxtErrJMBR17LsgJbDbGg9IxUaGOlgEFPXxJkEc8Jvj8Kap
TgiMMSUQhn/PstVcLOn8P5K9Asko2FyUc86woU9Nud3q1WQshhlwIDtAuEDgCKxY
AoOlSos3vabTCvpt56zaL9f71nJ49OCo4oMxXRqQ6opaw2L0N4fp2/bnlEw7GCBr
ZuyntApS+mRQxQj3C4Pu/Ugfvve8g+AT2OTBolrePw8hI80kQmVuZWRpdGggTXVs
b25nbyA8YmVuZWRpdGhAc3VuZXQuc2U+wsHSBBMBCgCGBYJllAsqBYkB4oUAAwsJ
BwkQYtaLWEtLPrNHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Au
b3JnCERDRI6aNvFdONGyMbaqZgye7DxPHSHYrUha0Q27z8QDFQoIApkBApsDAh4B
FiEEygPvcY40//fBUo3bYtaLWEtLPrMAALM0EACqyfzYkM1esUOmLKcMxa3HB/Ay
3ZNLQgvxopAY1nzcyAjxwVU6syVsvDY1+qiA1o1Q3r+9GliLXuN59vnPdCQ0nnZR
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
e6kI4HQjat2ekts=
=/0EK
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,248 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=MhqS
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,75 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
mhxC7iIM
=P0dT
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,368 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
4l6ASpfhtk2JSQ==
=225E
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,86 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=GNcK
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,75 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
JZmp
=YQ5u
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,57 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
d1hi6/tgpGEQqmxl3n6bIKwWWzg=
=We0T
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,75 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGcexKIBEACuyRrie/zbg3spMb7ZLDXScYjuZ64CH4tOh1a99IR2ZYDoHzE0
TTZLEG4EZps15d1r2Xg7sxbb76zdyIc/OuARfQXU0rjfw8BRAEj9TKbSVh6dyodK
dNTorH6IeGuvrXk0w5TuDk8142XOkr+XppHQYjpVx5PK54ykhELJC0Xjs7OonEZ0
/pxHouAK6Zrc+vATP4jedqxolILjfDgv0DDM9/6bNzlM3U96l82nFfTP96hWhvTl
Hdpd3FwxLhjVtz2cLbGwjjxQkFbhwkF6eUnMhKPalcktP0frnZp587XCMKqmDZIb
B+ZSLpR8D4IUo1v+wl7mVwQfdB9XPAiRhvzsQ0xZjExl0sK25EFChPkfUVFI69/D
wZ/7ES6E7PUYvu15jTXPD2uT2zA3ssi7i5eova280C5MDKA/TGN4rdcdwoKFrHb4
yy6eAgDG7gfl2TGDLxPmT5dRsVCn18XCH1KVtnN4H5i1xU650NLKSdPgPpXtEAgr
Bn9qr+3HacpP9ZpE0DuCzDEOPyBV6HzK8+nYreCCn24zVWzVNgY1cU7Na7np7QOs
dg0wZJXCma5IkeobOb33QOJZagAXFQViJcbgb+AKYSCr9hi5u6UBaMbecExBW18E
CkYAO2Af57yeZb9nCrf8afWiw4iNn/f4L2l7DwVuviTzin+5I0Nkj7QT5wARAQAB
tB5NYXJpYSBIYWlkZXIgPG1hcmlhaEBzdW5ldC5zZT6JAlQEEwEKAD4WIQSZ41b3
zmHjmuWDZUxu9SChgp6LHQUCZx7EogIbAwUJA8JnAAULCQgHAwUVCgkICwUWAgMB
AAIeBQIXgAAKCRBu9SChgp6LHW9xEACSLFaMEklw5TgfsS6kCeb3IW8kpszd1JCX
yrOaeyvQaZova7LUxSgBP1aIi57fjqkdZj5JhVauVRe8p70x/fGMIDq4QxV5B4NC
b+sGcLKVEi/jRw0esKzbgnMCivbD+Y7o43t16VsPOmxHp5qs8V3hJdPnks73MF5H
AgBqGr38ygY7uThztRNso7HYswDSnoe1yu66SlPneaVeIqrmSYEcQ83eJXW2E4hM
veMSuwuF5ct2Gj2WMAaRGss9WSYpQtnH5qDD1pwXRHphIeBPfiNxvyOJsowMg8Rg
rWIChZ20C11jhhFvyCMe8r/cBLiZPELt+Kea2VtBM1CvS936BO/6vQxBgEt5LS1p
9kWmTlHdsIJVz3Ql+66FALBlR1WA5AmW1pusdZpyqQDtQO/IA3YK2qM+kI04mcul
8o8fnXSAo2Gi8/7ibkHLOwh4mWjyIiZAq3DJzxQ19AcFNm3TBBnbfaYx6PUsgt6a
SI9ATIRgtyWd1lHZYYWMjft9k3ujr8ojyY7TV8w+VpkO2X/8Ew6X2lhbmZC2soNw
Nsj22/gzDCyOnn+EQwIwvY95s7xJ7WjQuXOBwOyKyeUOJVbA1EKiZhWZS2yBtv8b
0wPHdoNhOyK0pOiN5ygx9swDoiW3eXLmnlP2+ZkL4aDCDWGpAbLYFXkpae9huPV8
0adC/BagsrkCDQRnHsSiARAAxm7Y79Ih76rD2eQeF9TLN+bzDMZSJMQ+wrE/0LP2
3eSqtARNOvJ84A4AsUVvvmR4Sn0ne+qlr/u4dEuMmzRSoZebcDndpRntUDbo0ws0
bSEHNGpTS1lMP5ChctzKLEsELS8saFQmjPtEP7c2VPhygfnFoYkwkjhq7Dtxo894
1H3uttwGFFIDvyKdNr35u1W7g1qOdZQo4cVAfabPpoD0Dwe0pIbQPrNseJIqQKYn
NiAA4/cbya6mykBqoM3Zl02GziB9GJI6+JuPprV2m20915IMGmtGKZejg0HmIrP9
kj6dsuv9SIIPU+HrqxJ6eBLXmHxR2jBaOGIj6n4uzQkq6pU1YFD1tvm9aYxPAQ+Z
LYXGQ7BSRd2lPpgY+BeumgqmzLDtj9e2oLNGGTuJJIKEqhB6hWcW61s0W6wrSVo8
9ZPjUibl8qWjDPaTJ2szAsB7cv4AZLp4FvmSS7F3JX6Rv50XPBr3ZAOiU+7nXvVT
Bt2L5393OptvtvJzvcfEkfuPa0vpUeYhAiThY51oAKhSMKZdQGIcT/oDMTrfrdNp
azF6nyaSHZgJAVQRWOXlLGrLz2xTEEssPwHclKt/otJx/+C1hMkyTLsNnZT1Yrgv
K55E0gV0o+T3GcNg6ZeRklcho6qm7fFGFAolc8CZe2pCzaYoPMDugOPdq2ea1JfZ
vnEAEQEAAYkCPAQYAQoAJhYhBJnjVvfOYeOa5YNlTG71IKGCnosdBQJnHsSiAhsM
BQkDwmcAAAoJEG71IKGCnosdlTIQAJSPLashc8dbhuY4ycEcMFr0xLjEEea7X4Z9
pS9PZpE9F7aZ0L/ryDZKOx6SRXCAcTlrvLUV8OiUaVLmRfi1QR79gdeuTDsQK+pz
X5uJHsoYpalBl3fsFkIX6xC9eNNl2xtGN2/hLxWgckKQNVkwESy9U3f+jcSXTSai
pjopSv2Oh40VdYDreXiGtqVYH+EYNGKc2gPZEB3lcWXRs4a3skpyB+JobbGtP8JV
5Yh584tLbiBDZaiZ6jgU+ayhwiAGQVhlLIzfh9oE3WNCMf0rmrxchIpGdRVO10ui
nytzqLnjIWx+qwj9sjbZWOoCqSf/kxpu9p/k1msdG+PIjG+m5wDIbiirXlqFhzbc
jt6CU7STdPAnOBuf6qSmxBOO0ZCDDIWZLzhqh42cMGBKysHwc0TaWeIwUJRiYwDL
J27J4Z98nB2wbpuKxbElJ2/qQLqrRQEJ9lCEg8wmEl36dG3Jj0MSAZFIFpdYfdJU
08JvnEOUO6U3MJTpAWefkoidcgyAVciUZh+VtrY3s1ijGBTy3dNTF7efA3wfxNyr
9tnAbhlTPptRYNbt1Gtvt81d6ttDxsKxdhi3lFqtzRkFMQbxOWqqJxVWeu/cdUvj
57J2qKUzD9CF/M4UUNh/1tqFlI3v4frJS/MZWYCGqtLpl0Elm8SHBcLZNp8eEOEV
d3afhqnnuQINBGcex2gBEADO1dyeh5/UombbBIh3HFEUnzZiOxJP5Z1yyXDP9ELq
CyyWxkY1qp7Q7nWCj6W4/KDcYDz5u8WGxFvPQLMim/KBD1gUXEjTKhnjZzH923kc
ebrjncpv8ppAAP0RRRU6eJrVf8SBqTvIO4NpKsnvZinIosiSktoo791wVRRJn7D6
oKkXuZZgRzx5q15nCSke8Jk1s0ok0VhJNVw9hRjmh9br3LDUPcd76/ccU5BswiTQ
Kt8quUa7z79r/YRXJ6f/fxD1Ku5oeJqK90Uedp1liTk6JunLJifn7+Q6nS3sKBBM
aYgkHHbdPBc8SIjb2xYJKA8OgZYQDsfF19qLdl1LI58XaAY+fRA6ht/932D04e9u
NClock0jw8SbOCaGOsLSCVRWmuy11lXDJI9DST2SlgVfVyVC3TNOgbxIdHE3nAWR
EuL6h58LQST/k/gzn6x3NphNEaEMYWiSt71oNiuIRNY/zWQdqQ2mdBcOXSUrW99a
2G3rhdMeXyK+J4NZGsxR2s7OM094G/RGSTBbIAcjyliZlFE+hpch3PqguYR0bOQ8
oJayHNr2GJ0abmwQ0AhlUghtpPyB8EmU5Idw7pEYPlqmUikUUdeLYDl35JCUC76f
pEhGu37rv2gUL+jXZqHHf+R1Wm7I+lKslJkMWsnxUyRz1exBswCG46qOwkxsIHxu
XQARAQABiQI8BBgBCgAmFiEEmeNW985h45rlg2VMbvUgoYKeix0FAmcex2gCGyAF
CQPCZwAACgkQbvUgoYKeix2XyRAAm3t2QQLRrlCw0kK4MUzuPDbmE6RQfw/3FDCb
ouT5BG7nkukkN+rVEnsFxo2NCuenJq0Uh1FrYJFuq9rsMcAw4ebh1a/Be6q8Kjz+
l7Ti0SncPeMY3kdjlyK9TXKo75rDi30Rdt2MXhqAMeCimHwI9GCTW27dMQxaRZCh
wFX+bzALgfm0ZXmrcx0DlSwhHeog3eqcMj61e+kzW18/4X9vbfdapIjQN+DKE6Pc
xyWP8Duv3UcBAIljtMIXmY9o7HsY36U5uCIrXiud0YdPneQ7zrqJ+MHI4XLFn2ke
il+F3hsQOipb9tOsPGoRWD0xXNahk84POBiuN6ov2/JZCDMPLV/nGrkasv8JjnQs
TzzcTNre9xAzxHzCEm4GYP2i1OX4f0/gm8Og1TTYInb92MWc3DllRFQ//uQQjUA2
26NYRhFK7/0EGic03IJBYKbwlojlVw3I/tVSAgoaLQpFE7iERtgUTa42SbmjSPqd
DOTmBW6kDMQVFs8m0b+8UbHX+yhDltnxUX3s0+mdNH90pMhhciE6Bk0X2TJdUyxZ
+1DyuWUgFjX7TUgtkEKCLbAMyM2h93SL7QMFQzLoNEiGhf49f2U9CulrJnimz1gC
ID1ErIdJAOqWG0siMOxjtQG5EVydLvdSmtMY0TfzYWlG5UAaY4j690YSynbzIug/
QRsMZqQ=
=3Uyk
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,86 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=t3J4
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,86 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=zQCG
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,106 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
dlIwUW5Byk/apOlDAK8SCy9zbO/VZSs=
=vzl8
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,87 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGN3Tr8BEADCExODyx4/0i53qRaDrRSBiwOTV3cyCTWLBu6x9T0JZ3tBnYn2
4KVj26GCuxxrUDXNi2LRwDantg7DD4pTCYCgym1nYZ/SlmgzHSSaK33UvOu0ySVf
m1tlTcJugNiHq/plGPt35MZhbc6PVmug6ghFIcrqzzLy25Kpo6FwuaYDteBOPVwB
CeVgRjVJb/4gMoARVF6JQRvCa0Pl7q3hFk1pG8F+X9Vh/m5TjEpzoGDB9F696TJ3
84jAg5HiSvLlcarz4BCHJYM1PMstrdkS1M7PY/FeOzqBezhvYjZ74RLIl1mTomCd
hgy4JntEATsBpJgv3HTULQOAaeGlNr1RIW+MvAkfzyoVSJ+gFuCo4xX4pHpzMFRJ
VTuhw2NXSpIAhsOz0RycMLJ7lgYCakVh23tJlpEAvlXOAmWZu+/WZ/CzdvCFqMsh
Wb7g+jWJuf0A0UC1O1WVkTwcKz0CqqRVPBr1zz8Q30AyFC0DCj7eI7LHZyHExIev
dwRp2DzFvh8zNT3VdJB4cw2nz5L2ZjSBXyrE+f/qpFSMinD52B3psWiQNfhGzsr7
EHDu9oPq86uq7EtI4kTccbg4Yv5Ujc4KT0A5ZDCXxZ5GCkR0dAjNviX1X48QIwbp
sm/Q2b2a4c8p3Pqrh+5pp4lEmIEgZqmqtiR2B+Tu+kxwRAzjFXQ/lUuD9QARAQAB
tCFQYXRyaWsgSG9sbXF2aXN0IDxwYWhvbEBzdW5ldC5zZT6JAlQEEwEKAD4CGwMF
CwkIBwMFFQoJCAsFFgIDAQACHgUCF4AWIQS/IK1eNfZ1FPEyohhdWw1Ok/dycwUC
Zyo6ewUJB4Y6JAAKCRBdWw1Ok/dyc5fyD/94kxREYoKKh0fpg8psY0pyR/H8LjHl
nvlIV4sKA5PF3xbhE5pWFp9dB5UBA5ooI2c/UY6U5+RvhT/vvzYP8MR4m2SxQmpg
uSy2Gq1izhgxRW/voCtv5LEMSoLY5hMOkAsFLa0wQVjPJtnc7KigiNIf8XegyuUe
Kj29axU/Kg10d6PiUKfdcftpeL4LKY9HMnuFSfcQAYWTOA5nqnrq1Jii3vGOdTxe
NF5R/We3GrWJIn6L0A+Nt03EKH75TnUBVs5ZQq2lWIRBFtA7jhcGZlo0coXZDVV5
MhavO/16IPLjhMttl//CFzwk6oTCVOSHllwST4QpH2BpcX8Sw5k3xLaQL55bCnDR
gjT7KgcsMYPlSW6AKfRi2uG4OLUepLvyYEnF8ICvKfdlF+moLY+27/Ro9vnILRDQ
uQ6jPGP4S77iSsu3SPXQQb12HcHgAIqLPda/oC7HDZYn4/tTShmftWPgIK7FtEU7
4DFdbrufQu2NNWkx0oB2B5No0p5S7src1pBHahUNuRd21HAql2VJTaX3XmioI/Zj
zzaSXj6QavMKD9pKAbhkVhZ3bmN3R3Pkf67OBeuLUxDYDf0LNYtI6of/pB+kkXWI
URUOtfQKuxKO0BNhXik++PdGlOppZbluYTtFJtjTlX5Znifg7yPA1ETM/wtPotBr
37LFFILmMgmnEokCVAQTAQoAPhYhBL8grV419nUU8TKiGF1bDU6T93JzBQJjd06/
AhsDBQkB4TOABQsJCAcDBRUKCQgLBRYCAwEAAh4FAheAAAoJEF1bDU6T93JzO0sP
/0Zcq020vOzGUEz01suG44TmPUvHo1BupL0iV9+hd2VKotw3u7Gv+nr9oDf/sPBj
qOnJvLK1WaMmLbMQ0BMDzL87G2uq7Wx+g0Oo4qEQB3B4dosfRshwV5wBXmXRAUe1
oBEhCBlaeQq0RAst5s2LWCxFWxOTmAImyHqZYjz2p3orjTjdIWgiN5vz7J9Y8WZL
wjlKCRUAd528aSo171kW9K8aCUFdAUd7RCYNGSckArBkY/1LjXtRD6T6oChwn3Ll
rLBp3rVF7rpreGDMWoF9OulbSp//dHJKiocI8TjN7zCUTgA0RjNM12xBl5iem4cV
JBfTS3s0Dk+y0N/p6uRBmUnMI2ND7a7h1EIzdHMNlFhKv9lv7qs3/zN4ZKvx487D
qlKU8JY4TRlxUB2nGs5D+5MzpSLyfUK/T8niIqz+Kp4jUYq/yswYlQq9rf7IHone
feyFeQr/5q/RRpGizyxsr/DBaoqm+wcfPKc39sTM74RUvHM5YRqiAMRJT41/LyCg
m4DshiSLQsjkji6Ik+8VEMF8g1rt5f+to75uwuViHbrxaT7HU6g4PlPfAOhYrrjo
Oi0lnn7NY04xpHYympk1yk9VwPsysapwKj5lnA6QAZ6Z341hZ5hBv0mlqaEixVuG
2mKShxj+gEHXSNbpEZH/8FoUT7txcK3cSmRYiySb3RXUuQINBGN3Tr8BEADN2NU6
WF2KyZFRadaCc+zmaKAPjcnbV90sHeROKhHkW9mJhiWOtoVySpowJJcki+cvIw4S
yLZ1CMpy1WWOIyF5nSmmoYb+0fM6QrDETFzOxHkB0cQRVI1f33cpiCuNDrCj6S+n
VLir20b6MlC1tGXEAReyQXNVLPwSnqHItFMC1pC423zmEcIHg/L3iAu6Rh+fS7QR
F6JlIO0GXOZaFfpWuPFt/5Ib4WCQrKZdgzXTZDVSmB92Hr1SYxq9kXxj7T1nUP9w
yeDcFkMY07rgIHzoIfbI/JdrE8hkCsbKEPr89vRpFhwolsVaA3GYXyT6gQYhLGhO
2K+xumlpl9awADd4PzTZPBVlrAdIRWi+5wNlJi/Y9p4TXLClAn691veSN0sF+nXm
VsB7WSBQ5UEIqtZiKtiT4qGt3WjdfbJhNTu3PCQbg6MKtYPbOXF/q7Hj3ucelTLy
UHc6XQK5iG5bRazZLv9s9w39r2ZCiFgeC7oFlu1R/0N9d6ncUzfkau7sxavpjXz+
lc1GSSLzj7KUQXEFjUg1zonTuB6radLPd0SRvPLdfclIKM7HE07Pw9GsGpEOdudZ
Hcivvjcq6Db6RyDq8tZyHp/b+3gIiR9M1OhiocS/YixQd8nQXNHnZVmSVOhUIkJw
BXY2uXHoSdYCAON+7t0s2Q1FffNGe2Ulw5dg4QARAQABiQI8BBgBCgAmAhsMFiEE
vyCtXjX2dRTxMqIYXVsNTpP3cnMFAmcqOrsFCQeGH4AACgkQXVsNTpP3cnP6VBAA
mgHBIwyu/NiFV2LgrBfEULb+TTvNAd1DXNRo/96pN76gnEhEHBy/1aj4xay/eDpe
MTBS5UjxbDc22ZiimGwvWBjuCDVn/yyYl1P8bLYuTFgSS/h3XWnkVCNZJwgDU4l1
vA1EjXht77rc82fX10XdL78VZkyhWawV5tgen/RlkFSFnnrcCCPWpVExy8r+OAPJ
6B8mla4EwG7Amiu/7HUfR7lwudh/SNCRuqv16SLyCj8kFIJCM3ePqyrwTaUcvByo
azCgI0tRlMInViDZib1BRvNTArpfl2A7KeDqJWHk0s4BwAheDCM3894+iQbrrryZ
fCFE3VuwrLrad/T5FG0Ki0FDCQZcA0D0i4oF6fZiwuzrzVMR80uJMj2YHz4D1Hbg
g04SfV2CRT9eZT7yXYjhaSzZBBlySAOUAkPIMHJ3JFLVJomiHTxZgynwZm6A4V1z
EEg69qNvr9b7F1kpYEMVJFsTiMFRPmSkE4enQiFqgBd5RLsyTiL/uY7YFnOVOKWC
+JoiTXgSQBeUAik6NiGG7cWulw0+VmSdJn9mWrcRUbcJGXSlSeIgVgd8F5EofEvA
8DYSvLnm72hBemxEqOlVfE3rrF5ATj/Mzc6pSVwtw1Bp+gVbBCADrzdqy4Fs/Qqa
cq0kDa4nXBq8pZtLvle7PEaToJLtPbekhhhFRfoV1di5Ag0EY3dPTQEQALWO3y8o
RVJftWNQ9E00oFL2hOV2dPchpnVeHyagYpfZ7NqhCe4tpoo6Qocw9VinAk0lwu04
/du1I1gLR7rVoeYQ7YyKZJG+yRKx3d+g/nAOD1/gF6XRdmVr5J02Mcz8Uroyd0zk
amlimAAyFV/7rFT3H05VNx3iMIUoHuj7diWlE1JLeRQMlwxQ8njWoCDfsJDJgJXT
YznzW9iwJ7/ypgR6KF0ucRcEOJipnwJTgF0wvzf/G/umqxKzRlSSe6XYhwjCkSUo
ymRvd1glwpoBpzZbIQMDC0XLAQ8ksage5oSaEPjbUX1iFVkOYYH2vrIZ1OUXkxhQ
WGkfIH0h02bxW/y1aMjyoCivX1jbsfqQ0+adTHlkQ84e4G2WV2nJdmGLGyy609v3
7QPTErPO9Hpo6BewC2lSeqL1bEXc4VmZHp8iTh3Qjid7Nq5fh+eXCuU3JDuFYC9E
OFg16LyLGmwyun7Slyr3zsald74pMZJ5LgV3xpcGX+K7pkY8FDrM03AR+4OFU4kY
7eZ/cwOUiUE9y1HJmV5gCloOo1cX5ubhuRNI+YXEFJ+49AjfhkQyZele4VLSYvqD
HCAgv/RW5T0GqP62oaYxKLqO1pAKtMNzvz4Yya6mPeOXezkVhFxN0BKStJ/ZE0ub
1/3qFzAunxqKXdROZK9VngjlBcxvB7hhZVxTABEBAAGJAjwEGAEKACYCGyAWIQS/
IK1eNfZ1FPEyohhdWw1Ok/dycwUCZyo6xwUJB4YfgAAKCRBdWw1Ok/dycx2zEACD
3DzJIBii3GiMQbozXDp0d9Ipf5OupkIC0R/EGgKqOenqETWBbGWRBjlaydQ5LOyy
AT/YHy/+CdcgN9d2R8GXuBU7lMQu0zp2K/7AQPlxRhom/PauGXDFdb/7u7Xr1Wff
An/ahI4ZB3joUOjqEo18/EcQk2E0jfE3hSOU0/CuxQ5jJHxNnRSMLVZsiT/qZwCL
HaAqQnqZj3kRkcM1PTeBozkZXnADqer2/Hnz32nFK3M6keUsLqjMO57zVhR67IqI
CfVrXo5xmUq5X0dr3qK3R1MXgjtuBrBdq/g/93Z3hpAuWiPJwgk4p67sWAov3QHd
tg4kiuwb35mqqmq/J+EsHkn1M3UTbqJfreZeUsZ6Dmues+4LncMeRsGKy/ZSET0y
VVFw4oW380/+qsq+zRjkqJKif+Sc8H8nNs4af7BVYiK7AeWNQ3K9Tf3Na/st1EnZ
UAy2Sv1F3XgiAVa9FfhVWL1qY5UAV2Kk6WJf/PgUfSxY7sXyZnLqbbqjEU43GNiX
s2JSvj2vwzoibzneqZRaIZ+hWE5BQ1xcb0kpsiJWKx4SzdhB+Wbte+xl6rCDPVJR
IFWaHHgXNcBp5ipntCD07dpSwKMCD8Lq8RZegh3fIN0EURe7jfv92VoHHNtBy2g2
eLgh6rTdN+4jD/kx/By1Yz/RujkJ0KoDllGelKBVxg==
=kcjv
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,75 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGdO0N8BEACsHj4Km1T9DpBZiUXULpq/cRRq0Y+sFJaezjfVP+eIAvDzcb6I
r6DbcTLkrYNONUdt9yzztkU6PigyunGoIUovvuqQoUU0iWrcJRDsEq9LX39tAkiu
pud7qpuYSts2n6ymhrHQOitKICgltqyydWmDGCcQyS/wD/1E/RiEqG5+wsJdhd44
vIycRh7phgJF8+SQ4qyosykVBVNi8fuJBm81Yj6HSRypxOPWb7PwoE1ABI8uwrCh
QmtfVDqs/cCxtdgoyuzigH10FERd4ty17yojgAcWw350HdtAjeBKw7EGOm/YDGM2
ly8K2XZjlJFu84fU/h2XLFYlHDYXQAKx3zdvQkkHM3UzK1s5OsvweiIJAgvBy1s2
FH7rWzqx0iZYurdgRClIRDd6yyqOZQt9DHbQoC1aeQtv5T1T3ODnGFju/ofyh78r
/ZsLDVCKwtK0A1JPIbBkEbiwc33bmfVTYeJ0OASZOq1A5QDovGZMl4AwrV8GvdcO
ky7ltn9lmdYVBobxmbhMLufTist1UDijUs9OuzPG02McXK510tLLhDBOhlaljsUe
K03cthn/cfQUfSRA/mv+26oVRd4u1tecWdWXj/ZOCyjHTW659zrZMQ2NXbPvqMUr
IiOSauwq4amx6sntQ7o5DYPnR5HjNb6ZEngYvn2ImSUJLgmvIpREyhL7dwARAQAB
tCNSaWthcmQgRGFuaWVsc3NvbiA8cmljaGlyQHN1bmV0LnNlPokCVAQTAQoAPhYh
BMCaT552utjpaQkxyVhNKqL6ZpE1BQJnTtDfAhsDBQkB4TOABQsJCAcDBRUKCQgL
BRYCAwEAAh4FAheAAAoJEFhNKqL6ZpE1xxYP/jWmnsX223C81GyWYbyT+oucXcGI
wVjjH1dsSg/GRrs63QI7vCHbhxxVkWo4kwTVFcoprJbd7K6xgt739ul197KZYXLM
+uKvh3DhmmuB1o2M/pggJ3hcDXnGRPM+dYw0YQ4PdeDQ5fmQQC4mGbwkCR+iAUkl
GDTNghoZntSDiI9501uvol3L7FwpDUH+0PNIPhtn6RxpN2Tqf5vFFIVkBAIRImr7
8I6GjFBhMkDsDC9BsRPOjWZbqzlDwDrLTN5xQ5P2rrvyEmCXrD4UvFiYGkxEx3JR
YYydhu5zimV2a0PnoEEkX0FXvt3JO6CqbeMVyGyi66aslWyEwMeCb+XhVs6VZ/Zc
6xOx5AbyzT0v55wR7c0OaiafJ5tbymfhdCGxIhWiRbwx112X1N9l3UZYyBuDT14E
JWhEtS4n04wLKIjFh2wFh11Bb7nFndYSwEXKr2VFAxskespzBBn6lF7AO8aFzLpR
SZ65djal1/DZR+/jZSNZ0Mc0I1ij2+8rhytsn0XfEN9Cb2cQXFpL6XcjaKC2MCMt
5NYZXq8FRF1id7AtJGTJeBs7BgBfePzpbN8lACVZu9aUEGp4NAJHxHpiQCyQIqVd
e3CB4Jp4mKARVpuSNcidRLptliNU16gdHSSLJtSjTSE5P8fqLOMMoaPSWAVpsqs3
vW5pJOU+Ds7cqZgmuQINBGdO0N8BEAC5vPfDEEM6bfwQXzBIoiOqVQY9WtbEkwcY
0kDjgfSZ5R1bTcImqdo+q8IYx4Dw05KWnlX+00NpqmelXiiG87nOcxzOyQiq3Na+
NmiWIIzbuAHdpJKGBkIXCHwLk4u9Bfeqm05gCjXCn9kCtUbvoDJJQUoxAtBpDIkH
EZSlx2M4VONXZNaxPRniKWHv9yraZOM2xopl+GjjHFv0VWHKX+ptQbPlH5nm1CFk
64NjTk+PP7gxIo7EhJf9k5sWqsduDS35IfNAuBelL8Sp8FaD7sN1aUmDNM4ztAQN
RPDikaHiSj9CfW8kpLm1pZvnSw0rK+B2d5BZPJDBB9r/cDXUdezBQhuB0AvE+8CM
4g3Am633Lth/gnzfbLGk7tK9OgzCSdbioBlvtLEpZaW6qhQDmKSWG0vFFoujJs4e
PP4ovCzf1yIN/GQO/tCGPNJA2MsXTgoIVspJYnnWZc3GrEJ8qXohdwxF4lNXR/I2
uOWEk+X2+dnHWRQ+v3uU4mVscx4kdSJHR9TtRZ1D8KbxRFuYDBR3SSiuzUnY5DyI
4G/LwhdOXN8ZnXX0D47bYkNlVx8bT8pwAio+6phCb0IILKFR1zx2Lmm410iSSSL9
65MqKTo2zbOjmp/p9cHs5pitvTYHOSkVE53LyLO4+53DtCT5yuSwTj5N54obzNdg
jMk4xJ5DGQARAQABiQI8BBgBCgAmFiEEwJpPnna62OlpCTHJWE0qovpmkTUFAmdO
0N8CGwwFCQHhM4AACgkQWE0qovpmkTW0kQ//ZzArp3xhD8F/vK8qDiK0UKMLKpB8
D95Z7kcTuqb1p+ivcpGDU4MbhpqJJEbFNOkvOss7J8tBy+Liw+Vw7bWq+YvqGRGR
3MkVe0XbhW4a51EY13SSU7MmRXeZSvFjw5FDHGtc+GIRI6dfYU2plLYkwGehUPXD
4sq+V9BaS7679241gn7xWeKJLqGJhLeE4NPaiMEZSCb4mxP/1i7hwuyirPFGxHBV
kHuAMMLNsbXwBriNOiUaQeJ0eCE2olCnO/3kFFECxst0Or8m/EpGBGo9DtybDS1J
qscN6o3SSo/+7AKLy4XLoe+NjOenojQILab7K1RgyekSwLN679mR46bHn/XpBviL
zkmkmDfzjHMEX0P0+HA4t2EuRY8nLz2lGtI8GFtwzJ7fEf6YPHMTaH8fVwYKi9o+
JXo8W6Da53g5xYnjhCNHbmq8xPw4kd+/Ixwi5cxQgmz1z4k1cto4GSC7G2xF5c5W
BF2/1BTuf5PkmPnxJl90hOSLNWi2jK95lZoY7ZHHjEGT2IAkx3V0Q5EKPLOU2Cep
c+5eM2Rl5S+xiF6XlPQ7GsG9nnBoJTNLg6bHFu4OorWnJ5MoXVcBqDFPzQCH2yIu
OcI6JI7pT4HRbHJIdZ7zSP8VlMY8fIDOQicfWXTBq9SgZn2/0t/i2YczCL72jvxx
/cMSMJ4hSvOIWnS5Ag0EZ07RWAEQAKxQ05Xq64MSr9MOZZBfeweFvMvVTNEG/WpM
WvGtaEN9ymLRM40zWKFABQtrIEP/obtz/xrnzhAXDGuEmoooV0rhJRL4sqUjohNU
8DjiHqA3nIyBMgIzby2I/krO8rlO34+xWodv7VIv63mWuz7k2AtwltHJ8XRzjMrt
0uw4S4O973AMp9jh079nTTo8jaT9hmrGkX/cgNDqMDHD5KMYOEMtUMX4XBkygNNw
1sfR0IS3NkasvnvlE7yiOirdkXVJ6DB5fBbLDOfjkks9Tvsscb9TEISdwU7TnYo4
w4OzT9xYURNQyY60AEq+6swmbc4+9uFK60IoyTFYlAB654Mv5VOG5vSv+4+DMViA
PmJZBDvDaBnn682G8vsOa+ELm2yQahg5M11PERq5tiQAayLm+GTb3ZsKMRnN1tAd
yCMHwc9wudNkvINLaChmcsxWmyWam4Q1XlZpFI8/S9LoFgUH6pFQlfkOQ4eow2qK
sbZRH76R/PV+LqrevJm/+O7A5jeEvKW0CKdwY5Hcx68QuBBxA71KCdyCoLJLZiGk
VNiteDnTgZnXZ/zP2HApmr1LQJ6NFPpaaUVRcYpToP4zX9ySnfySOkBUrjrkZUjK
KANx7OhfYTl9eRtjY2Fq9PUg0opDXRiCJrwLZ5GmCPvCeogMzmCMVSu2hcnyMa3x
g9I0+lLZABEBAAGJAjMEGAEKACcWIQTAmk+edrrY6WkJMclYTSqi+maRNQUCZ07R
WAMbIAQFCQHhM4AAAHGED/0RS4geTiwF3fuCTFceDqjX9KSqHD9yrX150rbZXPi1
F0QEHLrJgIeuWVP+8Dii+MBkXfD5/x3H4uHe+zEjt/4djeIFigRLK5ojbBMljzTC
1Mk9R7ZI7Iwz5gaezdRb6g1TzKI1mJWevyP0TCpsqkBLzXH+gC/9QMyhkCEuFczb
xuXAN30zvXWAc6b8RSolUTZ3DFYoMx7SiFXMLpdWdvmIWsKcs4UjV0NzE30f1sIU
GlVoj234TZ98yYGB425uhrhSI2tvfvpEuOMPZVM4ExViXaiq24t8HAYfpYk+46iz
xcBgkVyt2rmZEdnFj+nTeP48VPJWXeyoKs4z5J9CZw8Q+WQJGSwZzHstcQyWeoZd
TJYlsV4AGfTfAhLI7eveMZDvkdh+cTappNWgo6xhSm1KaTmC6+67X81hAzE6z18b
zHeJqPqJTkG/z0ECavtptOzPT/Pz+athwfeDySu/hXKMpTKWZQJd4u89xPPW4iGH
+smyYlWUYrVgShFJyNHorqDP5+qWULTQjA27l5Wc4wg84Z/5bG78tIufkVTlrMAz
qzc3fR4WfLaXWaxWKJlZon1/j1UI9uT/aC3bjm6p217CjERUbTU674ro/Am8EWJC
l93U399CNleQ/5xTvKA6BzcWCWirsBtZVOVmvTT4AyDv2IcWjuHBfXM8TcrrBFEG
dw==
=6jkN
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,99 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=cNnu
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -5,18 +5,6 @@ mgmt_addresses:
- 2001:6b0:7:6::73 # joppherka.sunet.se
- 192.168.202.0/24 # Wireguard network
nrpe_clients:
- 127.0.0.1
- 127.0.1.1
- 172.16.0.0/12
- 109.105.111.111 # nagiosxi.nordu.net
- 2001:948:4:6::111 # nagiosxi.nordu.net
- 89.47.185.40 # monitornetops-sto1-prod-1.sunet.se
- 2001:6b0:5a:4020::2ea # monitornetops-sto1-prod-1.sunet.se
## NRPE exceptions
check_uptime_warning: 60
check_uptime_critical: 90
# Database of SSH keys. Presence of a key in this database does NOT mean it gets
# installed anywhere. Real ACLs refer to keys in this database.
@ -29,10 +17,6 @@ sunet_ssh_keys:
name : 'mariah+CA747E57@nordu.net'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDLQfL3uYsqjzkKOxn9nhjDHeWdWQ5SRwcPzq7gINcwJ7omA5c7wJ4RKDqBPihJ9tp2rgM6DKKGxtSyjO6LFhkGNa86uub2PLS0ar+aRobPZ6sOeASqHbO3S1mmvZZWTQ30AFjtY98jjlvfKEI5Xu1+UKyQJqK+/UBVKlPaW6GMSYLr9Z5Uu4XS/sBPdL/ZtR95zDO9OKY8OtTufQi8Zy3pl4Q3xcOsSLZrKiEKMYDCLPlxytHD8FDDYLsgiuPlbF8/uVYYrt/LHHMkD552xC+EjA7Qde1jDU6iHTpttn7j/3FKoxvM8BXUG+QpbqGUESjAlAz/PMNCUZ0kVYh9eeXr'
'mariah+829E8B1D':
name : 'mariah+829E8B1D@sunet.se'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQCuyRrie/zbg3spMb7ZLDXScYjuZ64CH4tOh1a99IR2ZYDoHzE0TTZLEG4EZps15d1r2Xg7sxbb76zdyIc/OuARfQXU0rjfw8BRAEj9TKbSVh6dyodKdNTorH6IeGuvrXk0w5TuDk8142XOkr+XppHQYjpVx5PK54ykhELJC0Xjs7OonEZ0/pxHouAK6Zrc+vATP4jedqxolILjfDgv0DDM9/6bNzlM3U96l82nFfTP96hWhvTlHdpd3FwxLhjVtz2cLbGwjjxQkFbhwkF6eUnMhKPalcktP0frnZp587XCMKqmDZIbB+ZSLpR8D4IUo1v+wl7mVwQfdB9XPAiRhvzsQ0xZjExl0sK25EFChPkfUVFI69/DwZ/7ES6E7PUYvu15jTXPD2uT2zA3ssi7i5eova280C5MDKA/TGN4rdcdwoKFrHb4yy6eAgDG7gfl2TGDLxPmT5dRsVCn18XCH1KVtnN4H5i1xU650NLKSdPgPpXtEAgrBn9qr+3HacpP9ZpE0DuCzDEOPyBV6HzK8+nYreCCn24zVWzVNgY1cU7Na7np7QOsdg0wZJXCma5IkeobOb33QOJZagAXFQViJcbgb+AKYSCr9hi5u6UBaMbecExBW18ECkYAO2Af57yeZb9nCrf8afWiw4iNn/f4L2l7DwVuviTzin+5I0Nkj7QT5w=='
'patlu-2249F294':
name : 'patlu+2249F294'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQCquMY5L5QIVq2QjLpfitlS1dSitYThlYxCxyhUG7Hl5IdM5w+PAm45hb/ensn8e/oWXk/W4NoYTlP22KzFwkEeUNlEq21AdYAcb+MwJdCqF/iLP0qpKsznWio7OU3gBn1XqsdVrpewnXIEH9rkin1YIa+m263lrvLKWOhWiu9dGyZYlbA3fIivBTad6gplWfMwjfbeS2uxPoLdN1lP7UYWefe9iVXvgVi19omA836fLRZKi+znHVdvExXVGfSxhF0OOylbjT9gohiaqhCWaIoskRaVqHHTQlqOwcei7XCrdz94Cmxq1XnkvKA9vNVWyv84i5DTpAcxIA/yEE5BXe3qLgek6H5POx6xjyp7EjOw533Q01iYBDXTiCzoK8zanPNYqlcwb0tYXfxT8HTSgUeHKQL1990yRIuKiwkK2YecFfCvpfz257VAZkVjN8IEfw/WhFxSOwL00pUmTLA/DxVFyHuYvdvEs+FANgXX81v1eniExslCcHp9HiOK3odVM1eE02V6O1Kwxyp7cooUEDZ610x0eePhvx20ssTm3qSXdWS1rgZ+ZTzhkwxm8OpSFGDrCgxdUs4tmTtjwcUDeOfTu77ef5t3XTqP9QoCz9CuSi3ZfKM9G1FXTcgU9ApEgCqeUA/56RgUjFvwt9TTnC6I71/0E2olIrp3O5B8l1kLXQ=='
@ -45,72 +29,14 @@ sunet_ssh_keys:
name : 'benedith+4B4B3EB3'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQCu7Vonudww/tVxrIcIobom8dXZpWMAL/Eel9G+kXtUCpERGqa2XVjUW6rsVRmjS7kS7mwauYDfckEpXBIBk/KGlLtW0drPi4Htpr83H3M8D4ym4RDTN7gN+kozNvqBOWi2zmfobViskWjapyxvAYCDI9iWz56FXPOQWly0XYZaO6mDy1tqBIcsSkuPUcuIl8vshjeMXpgm15uY7uG5Ebkb+O6hiM70ZvCv+xgY+2AOpH2GJmhUALs+rW4v2yqHkyI5IpWAZkSdPLz4mJuqTRrhOEgDfxmUIWhbT1ApbvXlGTMBnuksqpK8Q3YR1XMqh0kQffV5nCXwjSMMd7eKu5EjEGoCpDFm1YGhZA0DVo02STEkc2QXlIV5UAMjFqIrS3t31OTxk53oSzCLqL+0ZZM4bQ1eBjU3wXii107YrPk2MvdvRera1AMSGuQiKHkWn3LOgyR3+FJeerrPvvPj7AaUAIa8rE9kM9EByHIzmQmi/b2FaEnHV9Lk8yc4X9m3Fnwa8OXnZ/NVr7Jrj6Ts+odCu5BTmm3tWnmjZ7R7/xRGJ92+SOAuzCDkbF7mJ3jlQX5gIyK66dY5m5Y0wHmo9Lkv+fGztgYwGj/sjA9c0HjGZiLIYk4DpU9/7BqK/0NmOLEhjLSviU8M9eP/XUk4yeCD8d3ISakTaWlVHywbVci27w=='
'pahol+93F77273':
name : 'pahol+93F77273@sunet.se'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQC1jt8vKEVSX7VjUPRNNKBS9oTldnT3IaZ1Xh8moGKX2ezaoQnuLaaKOkKHMPVYpwJNJcLtOP3btSNYC0e61aHmEO2MimSRvskSsd3foP5wDg9f4Bel0XZla+SdNjHM/FK6MndM5GppYpgAMhVf+6xU9x9OVTcd4jCFKB7o+3YlpRNSS3kUDJcMUPJ41qAg37CQyYCV02M581vYsCe/8qYEeihdLnEXBDiYqZ8CU4BdML83/xv7pqsSs0ZUknul2IcIwpElKMpkb3dYJcKaAac2WyEDAwtFywEPJLGoHuaEmhD421F9YhVZDmGB9r6yGdTlF5MYUFhpHyB9IdNm8Vv8tWjI8qAor19Y27H6kNPmnUx5ZEPOHuBtlldpyXZhixssutPb9+0D0xKzzvR6aOgXsAtpUnqi9WxF3OFZmR6fIk4d0I4nezauX4fnlwrlNyQ7hWAvRDhYNei8ixpsMrp+0pcq987GpXe+KTGSeS4Fd8aXBl/iu6ZGPBQ6zNNwEfuDhVOJGO3mf3MDlIlBPctRyZleYApaDqNXF+bm4bkTSPmFxBSfuPQI34ZEMmXpXuFS0mL6gxwgIL/0VuU9Bqj+tqGmMSi6jtaQCrTDc78+GMmupj3jl3s5FYRcTdASkrSf2RNLm9f96hcwLp8ail3UTmSvVZ4I5QXMbwe4YWVcUw=='
'dennis+3EE4E6C7':
name : 'dennis+3EE4E6C7@nordu.net'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAABAQC314jSJ575zgXl2xzwzLRLwoNaP7eXN6NlWOPq47qmoUfR1uZPPbZhvKDmMMc4WQhNPzWDFkX29tcHJar0KXVYM0zNV/hkXlh3Z9suAVFJgzdQ+VW3GsNDffYt4GHM8gUtYxdiQKhA78rIIvcvjy/e0c87lQ0zwDQjruLRw2t1mP1roVsadGnRn4H2rHnlmYqsyJrd2L/MQeKxFh0t3zKu3Hp2mGoSFpFe/5uMaHE//ZOO3tVf3fBWX3p19f6sK6kqYsSR4vMAP08cWf32xFEeNHf4ljbanQ/NIo3iPybpzGXVsPpTHXylLS+vYzDf9mOcxovhsKnJrJ3gdkqEfQyd'
'kristofer+5A2B21943DE5C500':
name : 'kristofer+5A2B21943DE5C500'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDga2N1VZEyUxUKqQnKbKSFbTII2U3QxS7at6ZrXbts8hnGCUX+dZUzYN0rKh/x0MhC5jk5F5s4JmCQoaCnNS+O0Da5G4LTn/pMs1GFAywExyJwZzW17jQLhB8oJpn43EZ2Whp6rlK/ONNJtz/dwkhLCALZXdPf+gwjm/xYxhInHINzMzKyzdEcjxUf8GStHvpGPvONANnOGMphVFFFgo88NCA97gLIGRl8f0ZYpl+0GzJ54Hrg9AZhKoTZLA4CisXEPsq3yrbcf/EhKzuhzZKEhIdwC9VLULVV1hgwTAra5wqk+NK1u47yBzCtc79+sxilaYwq1zvxfyqi8CxYG0lZ'
'dennis+5C3E3B6A':
name : 'dennis+5C3E3B6A@nordu.net'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQC3viMV9doBOQiE+6o6eXjFpKzuremEpm3B0fZqvXUHixJ7npoICYIq8RBaDsGv6Jkvga+mQHWNlxbMhaMlJl8FCWfrf2AFN1KixmnTsYk/cZdY5yEI91dlqZ+cuJeS9BA+iKnLtSCfOeA4c9oHOnEDKIqHyurm9F64YOC6WXdORJtlqJnw9UqpCFv8egInY9rZgOa+lpWzupoPn1QGsNOn0fFjCZRoFBdzQgA1dPVWYk9CxxWWKMerMuQWjMW96kYy9AxuNlmOJtSVOTo0pHlLAvyHlap2+5x1uDg0N26JCrshKRvhmjlmmrm1aAdwWhn+R5eRpNM+kWkd9ox8F4zjRJVEtQ800OOkub/aRDNKhqxmVpyuq8pk6d6FeieINrRtd5psLqkPedcg7yVV2zU4nqEgIEqDAghO6UwK88hT2k3UFvmnLUukiOcTr+EOsQDk/GaOrpMWfqctXlTQxjBUUkR4sNVNtJJjX42ph3mBCrCysDDPLfxrsG/5xIHtE15qusvL/bW+aveWvt3n/40G74S8rII0ZDjm5nRZ1nc5zuub85isiwUn3YMxYGCymaa6yLs805OQD4D9mJ/r8yuf2X0lMBI2LlVmsP6sz9Fo7Ant62C3CoJhjIRM+QbgnBKHrF/e/EehEji/cdPbsrKZ0XwMC+5ZhGDSB+32UfAnjQ=='
'bergroth+FCE4F0DC':
name : 'bergroth+FCE4F0DC@nordu.net'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQC7SzBDp8InqZusOkw3JIJqi3uQS72W+qgBh+BtnfZXLGTXES8MqXnS0VMy4MLEVmvQej+JT1I5jwKRgrdYf/mdzw2IDfxmJg2fWjBVm6E+VpnCgte5AhhX1pFt0yjnblyqp+gkOAGUbzsfdbse9PSAQddLFdqA7xnICa460gVGTCVE9POLOgYi3k0plrZIpfaU8inb8zeCkK2byyLSWVZSKAvUjio4w0PbqfkGN3n93kXiWhdCXXKAnegUNbh67uJ22ryesgHC2e1UZsSIQlhZwyDqQpFRPYTeAizVHVxroO31FoIF7FjbbXcd+ERBUpV71jbPa5g9Ah1xtP554sRSwyco6iMBWi3EB3Q8U2eEGIMJZh4Dy4RZ/rZCYxwzfwR1ec0tzFcmFTibhsTO18zN/lllYoKhuhkdENiTQfoky8g/zQW7upfL31/Nf4QRZZdH2jibQmdJ5PtHrHUM8izClkgOAq503S4sRkjkWzn6Mkyuk36Mcu3lGdTwTtR2ZmttYIKwY49R47A1IKpJ3x5gEvOQqtRsKecI7M7NNu7R4nBGsleTzRGTXMzHsX08B5rDsQNaM5F7RNBhBbAEu5s83xLoxmQ5xxLLjAkU2CQ8cn98dbi94g6pD6jknZWpe6aZI0j7EKp9ttovxtbqMHQTk+z92EbwsJdrB3mTJP3LKQ=='
'jonas-6CB01A0F':
name : 'jonas-6CB01A0F@nordu.net'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQDvuL8XCorTZ1VP5cgbcdN5gNumnZ8RkrS8Hs5b0QKLRwwBNFsl98xMKxzQfBYR610vMnW30iDt3dRnqhfp75yakvt5fvrnk11gSwGoEOeBr5T7jgnJQK/kBIikXfpqsvH/40cSkX3Lx86VzDps/8j5sVYmgWiRk7BKG2/aSVY22RdPliITy2N60BUdZE3blz/I2bpJ1gDzAlJJk/xYHluou7mUuEEMT681hhAC+D32ofTAFSUtvP2PfsOTJxfJ2Iy22cRpR5aA5OCImEmBim4T1vAJUn6xSbeGI4RDHURYveLUT46gE5diWDTmdRKp8P7IpEYhJ1QQtdbsjnt9N6xJUI9ZcujD7yH1Drt0mJH23UhmNtliPeC8nO+58iM9MIgvnqw01wmWG5YnOBJVFWPC90LNGwm29Y6kjxDyVmDXglyx5mBymiEt8l2twi8xVbv6rKAUCUxHpcdsThvyZ75YWpAj0Rpvm5+y76xKqqJ8tK8YUUlD/g/L8gGYsg9GcHdxkUHNF+NMkbzbARM11eALYFdRCM7Kzgf49xMtOcs4s1IcM6u1YX51FvdyWlHHmDTGazz6k/AnF4jqdD4+SBdo7BPdh+FTfNbA1AtOyV1YNLCFrhnSBoUgt+IJ4LZFiRuyak1uxM8zdz5iikzEY+ClEe0GolmG7qtY12DVPy+b+w=='
'thorslund-4A80B948':
name : 'thorslund-4A80B948@sunet.se'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQCWiojMhkPGOG9/7AxTiB+cWv0QI7SZRmRTPl+vvYTk1iLt8StJJVZ6MJzNZEbAqfwthbRJMhUoMHbLV7Lxho4utZHOeNwQp8RFrPoOhAkAvN+tZ+pitnPqiulJjoms3+uaO23JJOWn0c2UyO98XcbYKVMYaWRKz8W4xeuFy6dZupPP+u8MAskRqW5zNFrbyqsPLIYrqnTByiibEV9LP3gUBqwupqbEGPJ2DbofQEfkdKb7eiOns48tw3jCjAP+Xhc9/jFAc/wDDlvC8gm7gPtgmR+1ICPdBEz3t3rDlYr/Fx1XTZXrWlNqgaRmXsWBg+5hYKR2aAStSShFfgLnUAHtsjd2P2ued2LKjnfkTdFTzWEmtZsZsbQbtA3ChmFvGS52vk/nOWuUlHK6d0vDtCrr6y5MD9v0Rb0cSMlhsH3WncMtY1QYq5a5bQluwyM6aA2ANZnRX6Pz8GlqCYdIyZ1EQVW3U8xACs9bebdKX6NLfc1lqSnsR4GSbA7qhzLuyPzoT7UmhpA9dZ+ZGC7qZ4g8R1eQgH+/RcMEFFF6ju22xgAy0CASdgJHPRXEOjKVIc5pQQc0h6RSCH70ctGETMsErBKTSFVigO6Oeec8Y+dR+gWAOmDJgB8vYymz8TWZRSF1lRQGXp3LEbBUNdyQ2Wa5LGFI8eYfp/f1kXuUYMZWGQ=='
'rikard-000610124551':
name : 'rikard-000610124551@sunet.se'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQDeaFex2J4cOz7w9uec4YjIq0jqxnqBV8gtFgGgw/sFtkvpveWFxgyt1dMeMvI85bIUt+TlfOiAguZwvrC9PgqVQ6UyDGzAVTuHbrfOM7UhTrgdceayuNZiaSL7aTZ9VBNMslFnyL1p+bzTibme9HgRsos0R1pf7oY/egUPgnQKI3dauJweYiYbliR+Cbv7ShJ4dH3e2Ge2TOCkYhO8cYjt03u5IXpkcma8IutwOe3nM581JAKi8kYUMFVTL7qwh9jgRP4OimX81lbwh+TX43F/3HlqDIr6mb9UxsVh63NadtoXlxVLUc3zoJU03AjrTlkz/JmYyColFxGHFE5GS0f6Iow3uOEs6kCtAz0m5wptaCipvwOu6gb5jP3WdD+LL0hcVaAkXIHeA3HwNac2nfeAUCr+Jv3aE7BHoYwSyRwH/lAgbnPuf0QGo28+shztuU1AtfsIlHWp/jR3WimFFAjl4oUoI2YPmBCOHhNm+fJRh2+SVG6LCgdIEQQVqADjsiEqW5dLJAfZ6Z1zTduand1BSyNvfN62EUCTIJyvWFVnOSqnuLUH00F1dMp/T7uxaZeOEQNczhPqP/r85ZdH5l3fJKGkId5Bt1Dj5OldlHhlH9xGlRRbQ7jqUinxZU3RKvZ/Orrbu8BJJCWAmlashOSHNtxHS6wOLGXu3Zi9uE9Y1w=='
'patrik+4D137972':
name : 'patrik+4D137972@sunet.se'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQC8eGCj6EPhUD25ifYk/QtWuEuCKowD6WsTvGtmIn79m7DfzEUggI/5m+9J0+jgGW6oej7cQIUhiwCpOqZvVNL0XpuL0EqyI2daFXT+LsihBo1/vjAY2+0V0ZHXAeXF2bhRV4PNVSc4hdxS5HrvwR5QnB0WYDyALxQXrAcrc9DSg1Q4IPGkqBUYqxDDh+lsFHVPzCXLGP5a0jdlCz02WQFN63oGxPkc6k0pe5WCZbSzlPZ9eMD+JhMMPmUDut9Ny3il21JSXxpk7nwgVkswNA5JdQZhN/WlaGzqPbaSwp6QsSAJYBTXAU130BYHC636sRimICk1TJnWeS22claZY5jP9GWEADKHv6PO1ZxKf3ZupiV4YRJ1wbq4EesI8xQolabJ0ui62MNT9HMiNJacnNLcFKITcy8gWzHMTjSR7vo0J2ZBOdw7tJZDQQv+xxG03gJ2WwYLRkapu9FfTSZzpa2OEUQPgyKsELTeBgQC1aW1rrRdFIEW33u1LxiMXSf6A3E23vr70H58Gd7cFpY5jrrOf+v5lHkROjjWaszLf1+V586Fc1DjlcezTpvEe3PNjsNkABpw4CX1Ce5P8ii5cVn8fuhpVMZeBxgYv9rZy+UaG7vUjgygTZRy47vdJ4CPedH18reskiymvZDSPTBetpSo9/hqfwRB2FvYU+B9cuQknw=='
'mikand-FF8440B9':
name : 'mikand-FF8440B9@sunet.se'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQC3CRClTUJs8UlyAAj4nKPwYi+mWeUMpUJXk938+tTlEPSlN91NR5yc5i0HEi/Zaa+WP4QT5FgzNMjvmb2v7vV0JAvtCsEPc4Of93aBGSNwVz3xewwSFtS3eDOUe3Jiok9CMFvjRjDDwasC34qa5yy1hGNs4cUMkmiPozFf0enhCLbuwpxeikeRrgWMKZz5v3lkC3ymohW9vL8RgSymUCntp2O3Mi8RPClZSg5nepiYtowRoyXgOgoOmnQwq2oTl37I5NfR0OmBBXYPML4dLuoD3h2VpYLZPrXnYnLE+CjouAmAIJo2sSJL+9ktTOZ/qVapuWrPOZ3kd6TCPJ7P/ncAr1/65ThVbK6hWXb449k1JbCxO3bw9pEQxjt6NT8n3crdPMHr0NPSY3U7+X/xZlbhEPu1KGshwtCY5Mow1L3lG+nwmud7AAPGa1GgdZpoZ72Sq6rWgQG/nQT5a5Tz5Q8zz6PPssP0lTDy37Bsa4r0hYccfqvi6TeblBL+g+ZZvlzL85vVW9hBMVjQw8CQUltl/ypATzhh3QEbmoVlTse4kDpODnQvQmcGrN2CCUSKcevs4U65YSJWOFl8CHbDdiR6L4trugIxW5SKxrg3W9xNbxdL5uDOHTKvQudkTkm1HKKJHtCFLWGHJcrczMm6zh64dIgKnNGvkRquH8HP9wp2nQ=='
'tobias-000610124578':
name : 'tobias-000610124578@sunet.se'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQDKpQ49O6KUNIotwvgvm1tymmKgdZMqfDPObGdErQRMjVHAh6FYUmIvR6CIupDVBhdZknwzkXHo0ohCfEYPDNsUA7y2KSdJGy5xhXgX3Lgo5MuhfJPy2E4INlJjoYDiZTwPkvWXJSDO0H4tDcvipdBuYHV6dBMwn5UfydptJf7+Dmqa9CS3ZqsN4nlL3Hoe2c/oW8oVscO81q3p4sJ8hMjn6/fqHh6Jj4Rw2II5b/UsCEzcrfkY55eAi5viwSKTLyEMVJKcM7zfTxNbXr+C1ry7xUHaBIEosaV9JkSkrztamVz2StbxNHpRvWqiS9EwlF9aF3v7EIIhrio4vH/Qg0pEOlHSia/8rEW+kUBZevzBGWBcOUL3l83s/2e2DdaxIXZqAU2/WZINo/awsULHLCCnE7WSpuNn/sTiRiboGIqb+v+vhgMjrUZaaxsYjxOGd48ncsDS9Z72nHX1b6KoCFNSgWz6ycgwkOnYMyMBIQdWvE/z7mSFDPmaKgVPTEruL5/lxTvUevE65bgRy8xSZILg1VjSdMIDhaYXRLh8smQNnh0i57DQZzNSBfQAVZbu3krMv0xkXEDJ4Sze4JdO6mpO0HuR+IWmlbRrRYPL2mQDr7rD7WeQINtXJU3U8DTKpVKYPe3c4ED80gHvniAINyaBXCLm0ZYgDy3EFC75HMW8+Q=='
'bjorn+8E2DA8EB05F646D7':
name : 'bjorn+8E2DA8EB05F646D7'
key : 'AAAAB3NzaC1yc2EAAAADAQABAAACAQDO1nktCA7fWcbmXAlcSEAeAxqlo2bobQblqqhvbjzmDfZdvhUYRXNjc2R4GjAU60yB/qqODE2km1z2xcIojlT/uHIXPx7jkSXvDZQFVDWplGiWKbOZS/apvva2vHBtfDBPSQnDSxr3sINAqehG58gL1coP95uWXodXSfv+BzGqQfYomlqU9f5qjXT2vFA+0XzoGTT9yG2utD3uhYd1k9EN+ED6NCXyCsUoihtEI8M8fF0Sps/QYpdyR34yP98lL+8DwZCtq0eQRMhF6mTcRcTDFdYdgS8jL+lSbw9DaPrWhGll0ie/Xk/v9RC+d3FGE6av0e8YDboNlduwy2iUbA1w1ll/VUOmXy6gudIZ91Edl+sOOyDVfLY3+Dz+RnmoSuCoWyJ00KovBIfgDOUDKe0QMHyVZ9ccMMihTUMUfJ7kYQ9EuidBLsy9GO+ar7FFPHYyVKiWYoxFBafAtIVDM79v9KvQeF2PAfuhSM3yIXeSb+8cp2ANVLX5dncoMPEgdfFRVie5HMwMct+BFwkyIuQ8++kCInGxbM5X1B3uhYTlkYyT3eAR3jHiwZoiBssCPXtmkXjJ0CFB1BcBlGSZktFoBRstGlEb/nEpTH/71JdA60a1eNwbhslNpAWfi3Jco3QPKBoRdwbeIsmDrK1hpJZG9Ke/jZxr3WSv39tu0l4JAw== cardno:000610116759'
netops_ssh_keys:
cnaas_ssh_keys:
'root':
- 'mariah+CA747E57'
- 'mariah+829E8B1D'
- 'paulo+D479C761'
- 'paulo+B36D0448'
- 'patlu-2249F294'
- 'jocar-infra'
- 'benedith+4B4B3EB3'
- 'pahol+93F77273'
- 'dennis+3EE4E6C7'
- 'dennis+5C3E3B6A'
- 'kristofer+5A2B21943DE5C500'
- 'bergroth+FCE4F0DC'
- 'jonas-6CB01A0F'
- 'thorslund-4A80B948'
- 'rikard-000610124551'
- 'patrik+4D137972'
- 'mikand-FF8440B9'
- 'tobias-000610124578'
- 'bjorn+8E2DA8EB05F646D7'

View file

@ -1,184 +1,6 @@
---
# Note that the matching is done with re.match()
.*\.sunet\.se$:
net:
infra_ca_rp:
sunet::nagios::nrpe:
checks:
- nrpe_check_apt
- nrpe_check_dynamic_disk
- nrpe_check_entropy
- nrpe_check_load
- nrpe_check_memory
- nrpe_check_ntp_time
- nrpe_check_reboot
- nrpe_check_scriptherder
- nrpe_check_total_procs_lax
- nrpe_check_uptime
- nrpe_check_users
- nrpe_check_zombie_procs
sunet::server:
disable_all_local_users: true
disable_ipv6_privacy: true
install_scriptherder: true
unattended_upgrades: true
sunet::invent::client:
export_endpoint: https://ni-frontend-test.sunet.se
invent_retention_days: 1
baas2-backuptest-prod-1.sunet.se:
net::baas2_restoretest:
node_type: 'backupnode'
sunet::baas2:
nodename: 378A9E0ADCC5
backup_dirs:
- '/opt/backup-test'
baas2-restoretest-prod-1.sunet.se:
net::baas2_restoretest:
node_type: 'restorenode'
backup_nodename: 378A9E0ADCC5
sunet::baas2:
nodename: B0DA416B08FC
backup_dirs:
- '/opt/baas2'
metrics-cd-test-1.sunet.se:
sunet::certbot::acmed:
sunet::dockerhost2:
sunet::influx:
servicename: metrics-cd-test.sunet.se
influxdb2_tag: ci-docker-influxdb2-292
legacy_settings: false
influx_producer_networks:
- '130.242.121.23/32' # vpn1.sunet.se
- '192.36.171.97/32' # graph-internal-1.sunet.se
monitornetops-sto1-prod-1.sunet.se:
sunet::dockerhost2:
net::naemon_monitor_config:
sunet::naemon_monitor:
domain: monitor-netops.sunet.se
naemon_tag: latest
thruk_tag: latest
histou_tag: latest
nagflux_tag: latest
thruk_admins:
- mariah@sunet.se
- pahol@sunet.se
- paulo@sunet.se
- jonas@sunet.se
- salu@sunet.se
- thorslund@sunet.se
thruk_users:
- '*@sunet.se'
default_host_group: sunet::nagios::nrpe
nrpe_group: sunet::nagios::nrpe
naemon_extra_volumes:
- /etc/naemon/conf.d/netops:/etc/naemon/conf.d/netops:ro
pahol-test1.sunet.se:
sunet::baas2:
version: 8.1.22.0
install_tbmr: true
nodename: 6BA7708D7A1E
exclude_list:
- '/home/no-backup/.../*'
- '/root/no-backup/.../*'
- '/var/log/dsmsched.log'
pypi-1.sunet.se:
sunet::pypi:
sunet::dockerhost2:
sunet::dehydrated::client:
domain: pypi.sunet.se
sunet::baas2:
nodename: A8P9U1IAR58I
backup_dirs:
- '/opt/pypi/packages'
sunet::server:
disable_ipv6_privacy: true
unattended_upgrades: true
ntpd_config: false
sshd_config: false
'^ns[0-9]?.mnt.se$':
nameserver:
test-das-federator.lab.sunet.se:
sunet::certbot::acmed:
karchive.sunet.se:
sunet::dockerhost2:
net::karchive:
docker_tag: latest
git_repo_url: ssh://git@platform.sunet.se:22022/Network/configuration-backup.git
git_user: /root
lb-sthb-test-1.sunet.se:
sunet::dockerhost2:
sunet::lb::load_balancer:
interface: 'ens3'
lb-tug-test-1.sunet.se:
sunet::dockerhost2:
sunet::lb::load_balancer:
interface: 'ens3'
tug-lb-1.sunet.se:
sunet::dockerhost2:
sunet::lb::load_balancer:
interface: 'enp67s0f0np0'
sunet::fleetlock_client:
sthb-lb-1.sunet.se:
sunet::dockerhost2:
sunet::lb::load_balancer:
interface: 'enp67s0f0np0'
sunet::fleetlock_client:
net::open_1022:
nifrontend-sto1-prod-1.sunet.se:
autoupdate:
sunet::dockerhost2:
sunet::invent::receiver:
vhost: nifrontend-sto1-prod-1.sunet.se
sunet::invent::scanner:
image_path: '/opt/receiver/images'
install_docker_io: false
'^zoomproxy+\S+-[1-3]\.sunet\.se':
sunet::dockerhost2:
autoupdate:
net::zoom_metadata:
filename: /etc/satosa/metadata/zoom.xml
url: https://sunet.zoom.us/saml/metadata/sp
sunet::satosa:
satosa_tag: 8.4.0
sunet::frontend::register_sites:
sites:
'zoom-saas-idp-proxy.sunet.se':
frontends:
- 'sthb-lb-1.sunet.se'
- 'tug-lb-1.sunet.se'
port: '443'
cisoas-sto4-prod-1.sunet.se:
net::cisoassistant:
sunet::dockerhost2:
sunet::dehydrated::client:
domain: cisoas-sto4-prod-1.sunet.se
ni-sto1-test-1.sunet.se:
autoupdate:
ni-frontend-test.sunet.se:
autoupdate:
sunet::dockerhost2:
sunet::invent::receiver:
vhost: ni-frontend-test.sunet.se
sunet::invent::scanner:
image_path: '/opt/receiver/images'
install_docker_io: false
forum-sto3-prod-1.sunet.se:
autoupdate:
sunet::dockerhost2:
net::onlyoffice:
sunet::certbot::acmed:

View file

@ -49,13 +49,3 @@ node default {
# proto => "tcp"
# }
#}
# infra ca rp class
class infra_ca_rp {
sunet::ici_ca::rp { 'infra': }
}
# enable automatic updates, and automatic reboots
class autoupdate {
class { 'sunet::updater': cron => true, cosmos_automatic_reboot => true }
}

View file

@ -1,20 +0,0 @@
#!/usr/bin/env bash
status_file=/opt/baas2/validate-backup-status
nrpe_ok=0
nrpe_critical=2
if ! [ -f $status_file ]; then
echo "CRITICAL: unable to find status file: $status_file"
exit $nrpe_critical
fi
if grep -q "^ok$" $status_file; then
echo "OK: all restore tests passed"
exit $nrpe_ok
fi
if grep -q "^critical$" $status_file; then
echo "CRITICAL: restore test failed, see scriptherder output for details"
exit $nrpe_critical
fi

View file

@ -1,9 +0,0 @@
#!/usr/bin/expect
set nodename [lindex $argv 0]
spawn dsmc cancel restore -asnodename=$nodename
expect -exact "Which session to Cancel ? (1 - 1 or Quit): " {
send -- "1\r"
expect eof
}

View file

@ -1,27 +0,0 @@
#!/usr/bin/env bash
# This script is intended to generate files used for doing automated restore tests.
# - It will create one static file (once), that always should be the same
# - It will create one file where we append a new timestamp each day
# - It will create one new file each day with the timestamp in the name
# - Lastly it creates a checksum file containing checksums for all files in the folder.
# This checksum file will be used on the restore server to validate a successful restore.
set -eu
date_ts=$(date +%s)
backupdir=/opt/backup-test
static_file=$backupdir/file-static-1
append_file=$backupdir/file-append-1
checksums_file=$backupdir/checksums.sha256
ts_file=$backupdir/file-ts-$date_ts
if ! [ -f $static_file ]; then
echo "static" > $static_file
fi
echo "$date_ts" >> $append_file
echo "$date_ts" > "$ts_file"
cd $backupdir
sha256sum file-* > $checksums_file

View file

@ -1,31 +0,0 @@
#!/usr/bin/expect
set nodename [lindex $argv 0]
set exit_val 1
set enc_password "bogus_password"
spawn dsmc restore /opt/backup-test/ /opt/restore-target/ -asnodename=$nodename -subdir=yes
expect "Action \\\[1,2,3,A\\\] : " {
send -- "1\r"
expect -exact "Enter encryption key password: "
# Some times the password shows up in the output,
# we suspect this is a race condition with turning of echo for the tty, so sleep
sleep 1
send -- "$enc_password\r"
expect -exact "Confirm encryption key password: "
sleep 1
send -- "$enc_password\r"
expect {
"ANS8013I Invalid encryption key password" {
set exit_val 0
expect "Action \\\[1,2,3,A\\\] : "
send -- "A\r"
}
eof {
exit $exit_val
}
}
}
exit $exit_val

View file

@ -1,29 +0,0 @@
#!/usr/bin/expect
set nodename [lindex $argv 0]
set enc_password [lindex $argv 1]
set exit_val 1
spawn dsmc restore /opt/backup-test/ /opt/restore-target/ -asnodename=$nodename -subdir=yes
expect "Action \\\[1,2,3,A\\\] : " {
send -- "1\r"
expect -exact "Enter encryption key password: "
# Sometimes the password shows up in the output,
# we suspect this is a race condition with turning of echo for the tty, so sleep
sleep 1
send -- "$enc_password\r"
expect -exact "Confirm encryption key password: "
sleep 1
send -- "$enc_password\r"
expect {
"Restore processing finished." {
set exit_val 0
}
"Action \\\[1,2,3,A\\\] : " {
send -- "A\r"
expect eof
}
}
}
exit $exit_val

View file

@ -1,62 +0,0 @@
#!/usr/bin/env bash
# This script is intended to validate that:
# - restore of an encrypted backup is unsuccessuful if wrong encrypted password is provided
# - restore of an encypted backup is successfil if the correct encryption password is provided
# - validate checksums generated by the backup node after the files are restored
nodename=$1
if [ -z "$nodename" ]; then
echo "usage: $0 <nodename>"
exit 1
fi
set -u
restoretarget=/opt/restore-target
status_file=/opt/baas2/validate-backup-status
checksum_file=checksums.sha256
status_critical="critical"
status_ok="ok"
function exit_if_failed() {
if [ "$1" -ne 0 ]; then
echo "writing status '$status_critical' to $status_file"
echo $status_critical > "$status_file.tmp"
mv -v $status_file.tmp $status_file
exit 1
fi
}
# We want to start clean without files for each run to avoid getting questions about replace
rm -f $restoretarget/*
exit_if_failed $?
# Get the encryption password for the server that we want to do "proxy" restore from
enc_password=$(eyaml decrypt -f /etc/hiera/data/local.eyaml --pkcs7-private-key=/etc/hiera/eyaml/private_key.pkcs7.pem --pkcs7-public-key=/etc/hiera/eyaml/public_certkey.pkcs7.pem | awk '/^baas2_restoretest_encryption_password: /{print $2}')
# Run expect script that cancel any pending/open restores (we can not be sure of the state, a previous failure can result in a pending restore)
/opt/baas2/cancel-restore.expect "$nodename"
exit_if_failed $?
# Run expect script that should do a failed restore (wrong password) (and exit 0 if it failes)
/opt/baas2/run-failed-restore.expect "$nodename"
exit_if_failed $?
# Run expect script that cancel any pending/open restores (which is an excpected result of the failed restore above)
/opt/baas2/cancel-restore.expect "$nodename"
exit_if_failed $?
# Run expect script that uses the correct encryption password and does a successful restore
/opt/baas2/run-successful-restore.expect "$nodename" "$enc_password"
exit_if_failed $?
# Validate checksums genereted by the backup node for all restored files
cd $restoretarget || exit_if_failed $?
sha256sum -c $checksum_file
exit_if_failed $?
# If all is good, exit 0
echo "writing status '$status_ok' to $status_file"
echo $status_ok > "$status_file.tmp"
mv $status_file.tmp $status_file
exit 0

View file

@ -1,8 +0,0 @@
cisoas.sunet.se:8443 {
reverse_proxy frontend:3000
tls /certs/cert.pem /certs/key.pem
}
cisoas-api.sunet.se:9443 {
reverse_proxy backend:8000
tls /certs/cert.pem /certs/key.pem
}

View file

@ -1,50 +0,0 @@
services:
always-https:
container_name: always-https
image: docker.sunet.se/always-https
restart: always
ports:
- 80:80
environment:
- ACME_URL=http://acme-c.sunet.se/
backend:
container_name: backend
image: ghcr.io/intuitem/ciso-assistant-enterprise-backend:latest
restart: always
environment:
- ALLOWED_HOSTS=backend,cisoas.sunet.se
- CISO_ASSISTANT_URL=https://cisoas.sunet.se:8443
- DJANGO_DEBUG=True
- AUTH_TOKEN_TTL=7200
volumes:
- ./db:/code/db
- /etc/dehydrated/certs/cisoas-sto4-prod-1.sunet.se:/certs
frontend:
container_name: frontend
restart: always
environment:
- PUBLIC_BACKEND_API_URL=http://backend:8000/api
- PROTOCOL_HEADER=x-forwarded-proto
- HOST_HEADER=x-forwarded-host
image: ghcr.io/intuitem/ciso-assistant-enterprise-frontend:latest
depends_on:
- backend
volumes:
- /etc/dehydrated/certs/cisoas-sto4-prod-1.sunet.se:/certs
caddy:
container_name: caddy
image: caddy:2.8.4
depends_on:
- frontend
restart: always
ports:
- 8443:8443
- 9443:9443
volumes:
- ./caddy_data:/data
- ./Caddyfile:/etc/caddy/Caddyfile
- /etc/dehydrated/certs/cisoas-sto4-prod-1.sunet.se:/certs

View file

@ -1,18 +0,0 @@
[Unit]
Description=Jenkins CI application
After=docker.service
BindsTo=docker.service
Conflicts=shutdown.target reboot.target halt.target
[Service]
TimeoutStartSec=0
TimeoutStopSec=30
Restart=always
RestartSec=10
SyslogIdentifier=sunet-jenkins
WorkingDirectory=/opt/cisoas/ciso-assistant-community/enterprise
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose stop
[Install]
WantedBy=multi-user.target

View file

@ -1,5 +0,0 @@
#! /usr/bin/env bash
cd /opt/cisoas/ciso-assistant-community/enterprise
pushd ..
./update-ciso-assistant.sh enterprise
popd

View file

@ -1,99 +0,0 @@
# This puppet manifest is used to test backup and restore in an automated fashion
# This tests the backup and restores when manged by sunet::baas2 from puppet-sunet
# Jira-ref: SUNETOPS-1997
# @param node_type The type of node, backupnode does the backups, restorenode does the restores
# @param backup_nodename The name of the node that does the backups (only used by the restore node)
class net::baas2_restoretest(
Enum['backupnode', 'restorenode'] $node_type,
Optional[String] $backup_nodename = undef,
) {
file { '/opt/baas2':
ensure => directory,
mode => '0755',
owner => 'root',
group => 'root',
}
if $node_type == 'restorenode' {
if $backup_nodename == undef {
fail('Variable "backup_nodename" must be set for a restorenode')
}
package { 'expect': ensure => installed }
file { '/opt/restore-target':
ensure => directory,
mode => '0755',
owner => 'root',
group => 'root',
}
file { '/opt/baas2/run-successful-restore.expect':
ensure => 'file',
mode => '0755',
owner => 'root',
content => file('net/baas2_restoretest/run-successful-restore.expect'),
}
file { '/opt/baas2/cancel-restore.expect':
ensure => 'file',
mode => '0755',
owner => 'root',
content => file('net/baas2_restoretest/cancel-restore.expect'),
}
file { '/opt/baas2/run-failed-restore.expect':
ensure => 'file',
mode => '0755',
owner => 'root',
content => file('net/baas2_restoretest/run-failed-restore.expect'),
}
file { '/opt/baas2/validate-backup-files':
ensure => 'file',
mode => '0755',
owner => 'root',
content => file('net/baas2_restoretest/validate-backup-files'),
}
file { '/usr/local/sbin/baas2-check-restore-status':
ensure => 'file',
mode => '0755',
owner => 'root',
content => file('net/baas2_restoretest/baas2-check-restore-status'),
}
sunet::scriptherder::cronjob { 'baas2-validate-backup-files':
cmd => "/opt/baas2/validate-backup-files ${backup_nodename}",
minute => '5',
hour => '8',
ok_criteria => ['exit_status=0', 'max_age=48h'],
}
}
if $node_type == 'backupnode' {
file { '/opt/backup-test':
ensure => directory,
mode => '0755',
owner => 'root',
group => 'root',
}
file { '/opt/baas2/gen-backup-files':
ensure => 'file',
mode => '0755',
owner => 'root',
content => file('net/baas2_restoretest/gen-backup-files'),
}
sunet::scriptherder::cronjob { 'baas2-gen-backup-files':
cmd => '/opt/baas2/gen-backup-files',
minute => '25',
hour => '14',
ok_criteria => ['exit_status=0', 'max_age=48h'],
}
}
}

View file

@ -1,63 +0,0 @@
class net::cisoassistant {
$nftables_rules = {
'allow_access_to_cisoassistant' => {
from => 'any',
port => 8443,
to => 'any',
proto => 'tcp',
},
'allow_access_to_cisoassistant_api' => {
from => 'any',
port => 9443,
to => 'any',
proto => 'tcp',
},
'allow_access_to_always_https_acme_c' => {
from => 'any',
port => 80,
to => 'any',
proto => 'tcp',
},
}
$nftables_rules.each |$name, $params| {
sunet::nftables::allow { $name:
* => $params,
}
}
# file { '/opt/cisoas/ciso-assistant-community/enterprise/docker-compose.yml':
# mode => '0744',
# owner => 'root',
# group => 'root',
# content => file('net/cisoassistant/docker-compose.yml'),
# }
file { '/opt/cisoas/ciso-assistant-community/enterprise/update-cisoas-enterprise.sh':
mode => '0744',
owner => 'root',
group => 'root',
content => file('net/cisoassistant/update-cisoas-enterprise.sh'),
}
sunet::scriptherder::cronjob { 'Upgrade cisoassistant images':
cmd => '/opt/cisoas/ciso-assistant-community/enterprise/update-cisoas-enterprise.sh',
weekday => 'Saturday',
ok_criteria => ['exit_status=0', 'max_age=10d'],
}
# file { '/opt/cisoas/ciso-assistant-community/enterprise/Caddyfile':
# mode => '0744',
# owner => 'root',
# group => 'root',
# content => file('net/cisoassistant/Caddyfile'),
# }
# file { "/etc/systemd/system/sunet-cisoas.service":
# mode => '0644',
# owner => 'root',
# group => 'root',
# content => file('net/cisoassistant/sunet-cisoas.service'),
# notify => [Class['sunet::systemd_reload']],
# }
# service { 'sunet-cisoas' :
# ensure => 'running',
# enable => true,
# require => File['/etc/systemd/system/sunet-cisoas.service'],
# provider => 'systemd',
# }
}

View file

@ -1,16 +0,0 @@
class net::karchive($docker_tag='latest', $git_repo_url='', $git_user='') {
# Allow routers to push config over HTTP
$allow_http = hiera_array('allow_http',[])
sunet::misc::ufw_allow { 'allow_http':
from => $allow_http,
port => '80',
proto => tcp,
}
sunet::docker_compose {
'karchive_docker_compose': service_name => 'karchive',
description => 'karchive',
compose_dir => '/opt/',
content => template('net/karchive/karchive.yaml.erb'),
}
}

View file

@ -1,12 +0,0 @@
# This class is used to define custom checks for hosts or groups of hosts
class net::naemon_monitor_config {
nagioscfg::service {'check_baas2-restore-status':
host_name => ['baas2-restoretest-prod-1.sunet.se'],
check_command => "check_nrpe!check_baas2-restore-status",
description => 'BaaS2 restore validation',
action_url => 'https://wiki.sunet.se/display/sunetops/BaaS2+-+Monitoring',
notes => 'This check validates that restore from BaaS2 works as intended, see action URL for more info.',
contact_groups => ['alerts']
}
}

View file

@ -1,22 +0,0 @@
class net::nrpe {
class {'sunet::nagios::nrpe':
checks => [
'nrpe_check_apt',
'nrpe_check_boot',
'nrpe_check_dynamic_disk',
'nrpe_check_entropy',
'nrpe_check_load',
'nrpe_check_memory',
'nrpe_check_needrestart',
'nrpe_check_ntp_time',
'nrpe_check_reboot',
'nrpe_check_root',
'nrpe_check_scriptherder',
'nrpe_check_total_procs_lax',
'nrpe_check_uptime',
'nrpe_check_users',
'nrpe_check_var',
'nrpe_check_zombie_procs',
]
}
}

View file

@ -1,14 +0,0 @@
# A Class using the sunet::onlyoffice::doc resurce
class net::onlyoffice () {
$docserver = sunet::onlyoffice::docs { 'document_server': name => 'document_server' }
sunet::nftables::allow { 'allow-http':
from => any,
port => 80,
}
sunet::nftables::allow { 'allow-https':
from => any,
port => 443,
}
}

View file

@ -1,10 +0,0 @@
class net::open_1022 {
$mgmt_addresses = hiera_array('mgmt_addresses',[])
sunet::nftables::allow { 'allow_ssh_1022':
from => $mgmt_addresses,
port => '1022',
proto => 'tcp'
}
}

View file

@ -1,3 +0,0 @@
class net::zoom_metadata($filename=undef, $cert=undef, $url=undef) {
sunet::metadata { $filename : url => $url, cert => $cert }
}

View file

@ -1,12 +0,0 @@
version: "3.3"
services:
app:
image: docker.sunet.se/karchive/app:<%= @docker_tag %>
environment:
- GIT_REPO_URL=<%= @git_repo_url %>
volumes:
- <%= @git_user %>/.ssh:/root/.ssh
nginx:
image: docker.sunet.se/karchive/nginx:<%= @docker_tag %>
ports:
- "80:80"

67
global/overlay/etc/puppet/setup_cosmos_modules Executable file → Normal file
View file

@ -6,7 +6,6 @@ import os
import os.path
import platform
import sys
import socket
from debian import debian_support
@ -17,23 +16,6 @@ try:
except (IOError, ModuleNotFoundError):
OS_INFO = None
try:
fqdn = socket.getfqdn()
hostname = fqdn.split('.')[0]
except OSError:
host_info = None
else:
domainname = '.'.join(fqdn.split(".")[1:])
environ = "beta" if (domainname.find("test") != -1) else "prod"
print(domainname.find("thiss"))
host_info = {
"domainname": domainname,
"environment": environ,
"fqdn": fqdn,
"hostname": hostname,
}
def get_file_hash(modulesfile):
"""
@ -98,19 +80,50 @@ def main():
modulesfile_tmp: str = modulesfile + ".tmp"
modules: dict = {
"nagioscfg": {
"repo": "https://github.com/SUNET/puppet-nagioscfg.git",
"upgrade": "yes",
"tag": "sunet-2*",
},
"sunet": {
"repo": "https://github.com/SUNET/puppet-sunet.git",
"upgrade": "yes",
"tag": "stable-2023v1-2*",
},
"augeas": {
"repo": "https://github.com/SUNET/puppet-augeas.git",
"upgrade": "yes",
"tag": "sunet-2*",
},
"concat": {
"repo": "https://github.com/SUNET/puppetlabs-concat.git",
"upgrade": "yes",
"tag": "sunet-2*",
},
"stdlib": {
"repo": "https://github.com/SUNET/puppetlabs-stdlib.git",
"upgrade": "yes",
"tag": "sunet-2*",
},
"apt": {
"repo": "https://github.com/SUNET/puppetlabs-apt.git",
"upgrade": "yes",
"tag": "sunet-2*",
},
"docker": {
"repo": "https://github.com/SUNET/garethr-docker.git",
"upgrade": "yes",
"tag": "sunet-2*",
},
}
if OS_INFO:
# Provided by Debian/Ubuntu via
# https://github.com/SUNET/multiverse/blob/main/global/pre-tasks.d/030puppet
if (OS_INFO["ID"] == "debian" and int(OS_INFO["VERSION_ID"]) >= 12) or (
OS_INFO["ID"] == "ubuntu"
and debian_support.version_compare(OS_INFO["VERSION_ID"], "24.04") >= 0
):
del modules["augeas"]
del modules["apt"]
del modules["concat"]
del modules["stdlib"]
# Make test machines use special test branch of puppet-sunet:
if OS_INFO["ID"] == "ubuntu":
@ -120,14 +133,6 @@ def main():
if name_parts[1] == "test":
modules["sunet"]["tag"] = "testing-2*"
if host_info:
if host_info["fqdn"] == "metrics-cd-test-1.sunet.se":
modules["sunet"]["tag"] = "pahol-influx*"
if host_info["fqdn"] == "pahol-test1.sunet.se":
modules["sunet"]["tag"] = "patlu-baas2-encryption*"
if host_info["fqdn"] == "pypi-1.sunet.se":
modules["sunet"]["tag"] = "pahol-pypi-nft*"
# Build list of expected file content
file_lines = create_file_content(modules)

View file

@ -1,34 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIF8zCCA9ugAwIBAgIBADANBgkqhkiG9w0BAQsFADA/MSAwHgYDVQQDExdTVU5F
VCBJbmZyYXN0cnVjdHVyZSBDQTEOMAwGA1UEChMFU1VORVQxCzAJBgNVBAYTAlNF
MB4XDTI1MDMxMTEzMTYxN1oXDTM1MDMwOTEzMTYxN1owPzEgMB4GA1UEAxMXU1VO
RVQgSW5mcmFzdHJ1Y3R1cmUgQ0ExDjAMBgNVBAoTBVNVTkVUMQswCQYDVQQGEwJT
RTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANX8E3tAkO2lm7aU18ND
hJtMARHObom9b+SpwrfgEI6dsnIqsrjzrZ1X+bv3AhlmWMS7aPr0BuvtsKxwcRaD
TRdfM7ik7L40vXAkBwVWvXJvjdF5d+AZI750S5G1jSh/v8Nz+zHsai1mtdnx7FT6
Pg1BJbwf0IyIHZClcnO/OmwElNnGVB5uNp3e/67KCqI4IhjAt+4G30mRfIpZ1KoU
vexZsz++cZErCXEe0eWnhlnCjfobMKmEHhvX6RzvTbB80AL/tfrqnOEwD6y7iUOp
N9FSTiHvHxRiD80WglLrh2qHzSn3it91RA1OvfY0HoIgdz1F/l07Nlm8a6WrrbRZ
Pg+HzlZ31iy0/sqduj2fPrDuDDQn87Bu3ohsZPg1t700ZW+YMUWtmh9PHK04a2fI
f9ET7llJPYzyOQ1apoiAgPRf4pnxOSOgjUhVDBY20ppTKxFJ7WY9JSKRPj92A6Ht
2/uAfUapKPOPSaASIruVz7sZ7DqiWvq67uvRtwr5yytRoZ82HG1Z36DxSNUcJ2X8
MmELT/ONQHolu8hiZCLDCienYWZUPBnaI9jblCqvmBrdlJzKdrWzb1zKEQNsducs
Klwgh5hZ6tJLca3v/sDx7odUK4MF+vuhEyRZyXUQBZ3+m7iII+2mHLyZ2EUpfBjZ
hlOERIttFErkPP5CsPkf8uvDAgMBAAGjgfkwgfYwHQYDVR0OBBYEFOcsnlEasB0B
HeZCtCcaNZNwwG3XMB8GA1UdIwQYMBaAFOcsnlEasB0BHeZCtCcaNZNwwG3XMDsG
CCsGAQUFBwEBBC8wLTArBggrBgEFBQcwAoYfaHR0cDovL2NhLnN1bmV0LnNlL2lu
ZnJhL2NhLmNydDAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vY2Euc3VuZXQuc2Uv
aW5mcmEvY3JsLnBlbTAjBgNVHRIEHDAahhhodHRwOi8vY2Euc3VuZXQuc2UvaW5m
cmEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEL
BQADggIBAHeatojzrHiz+HQdtvNhY68mQgiiSoOJmwvHUmTPvkU5pdVX6P7ltiX1
t2Tl5VVNiMVu12v8b6q5lsrjK/pdZ9pm/KMS0HplirMP4t3I/5tU28oOThRJwb5J
hzxIwyG+EOzptXyQfPXMWVVhWfUBOXXflPOpMVyGuvyT07HbBEcXDU84s5AHVwmX
WS+iQejofB3VKRzEv6ZM4Adsl8XCLq+/+sRIdJL3/FOESA/GlqmvmWm9udg07ocV
eAdnNU12rUg9cvnCdUk+g7Pxm7yHb/BXqrod+JMNWBtDJvgYZledzTcamyqMFk4L
oAHme3UP/IdVmCLpo9J5Iqt67ON46xx+iBoycSnb/DQZ14PWJtcAwLlid3HUqnMh
y9bDBMIp0pNdVwKrFFstGKHFN55d3cZM401ONbT6OBAcxxOhIn1iAOg4pWsyngaq
vteqsufFJM/osNND158b1octMS0R8Tz1xMvTtY6E4tE0yaPEPpW1BB2JAGTghWjx
UC6xl9SO/7hGKQxTuXPVk+Dwm4OJnjKd4Gw77IZEGKy8asjLjnrO4EfcPVA8+grc
IrypcTtOPB0cnQZ3R7NB10RqJ+a1BCmbhl9u8mFRlA3+43tl/J2pEDP0UzHY55dy
fEaZ6hu4IskjN7z5ZbaqkosI4foGrwQREnsgn8F72zxGaEXOQrqo
-----END CERTIFICATE-----

View file

@ -8,7 +8,7 @@ set -e
stamp="$COSMOS_BASE/stamps/common-tools-v01.stamp"
if ! test -f $stamp; then
apt-get -y install vim traceroute tcpdump molly-guard less rsync git-core unattended-upgrades
apt-get -y install vim traceroute tcpdump molly-guard less rsync git-core unattended-upgrades ntp
update-alternatives --set editor /usr/bin/vim.basic
mkdir -p `dirname $stamp`

View file

@ -1,3 +0,0 @@
The system documentation is in the docs directory of the multiverse repository.

View file

@ -1,7 +0,0 @@
---
allow_http:
- 127.0.0.1/32
- 86.104.200.0/24
- 130.242.1.0/24
- 2001:6b0:2000::/48
- 2001:6b0:8:4::68

View file

@ -1,713 +0,0 @@
---
sunet_frontend:
load_balancer:
haproxy_imagetag: '20230228-stable'
api_imagetag: 'stable'
exabgp_imagetag: 'stable'
peers:
se-tug-rs-2.sunet.se:
as: '65434'
remote_ip: '192.36.171.71'
se-tug-rs-2.sunet.se_v6:
as: '65434'
remote_ip: '2001:6b0:8:7::71'
se-sthb-rs-1.sunet.se:
as: '65434'
remote_ip: '192.36.171.130'
se-sthb-rs-1.sunet.se_v6:
as: '65434'
remote_ip: '2001:6b0:8:1::130'
websites:
'edusealapit':
site_name: 'test-api.eduseal.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.18', '2001:6b0:60:c0::18']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.19', '2001:6b0:60:c0::19']
backends:
default:
'car-test-1.eduseal.sunet.se':
ips: ['89.45.237.159']
server_args: 'ssl check verify none'
allow_ports:
- 80
- 443
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'edusealapi':
site_name: 'api.eduseal.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.104', '2001:6b0:60:c0::104']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.105', '2001:6b0:60:c0::105']
backends:
default:
'car-prod-1.eduseal.sunet.se':
ips: ['89.45.236.85']
server_args: 'ssl check verify none'
'car-prod-2.eduseal.sunet.se':
ips: ['89.45.237.154']
server_args: 'ssl check verify none'
allow_ports:
- 80
- 443
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'geteduroam':
site_name: 'geteduroam.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.108', '2001:6b0:60:c0::108']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.109', '2001:6b0:60:c0::109']
backends:
default:
'internal-sto1-prod-app-1.geteduroam.sunet.se':
ips: ['89.47.184.239', '2001:6b0:5a:4020::41d']
server_args: 'ssl check verify none'
'internal-dco-prod-app-2.geteduroam.sunet.se':
ips: ['89.47.191.96', '2001:6b0:7d:40::19c']
server_args: 'ssl check verify none'
'internal-sto3-prod-app-3.geteduroam.sunet.se':
ips: ['89.45.236.66', '2001:6b0:40::3f']
server_args: 'ssl check verify none'
allow_ports:
- 80
- 443
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'scdemwqa':
site_name: 'qa.demw.eidas.swedenconnect.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.42', '2001:6b0:60:c0::42']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.43', '2001:6b0:60:c0::43']
backends:
default:
'demw-1.qa.sveidas.se':
ips: ['89.47.184.66']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
eidas_proxy_auth: 'cianMiShreldajOoburiryeuGroyld'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'artisanidp':
site_name: 'artisan-idp-proxy.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.3', '2001:6b0:60:c0::3']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.4', '2001:6b0:60:c0::4']
backends:
default:
'artisan-saas-idp-proxy-1.sunet.se':
ips: ['89.47.185.109']
server_args: 'ssl check verify none'
'artisan-saas-idp-proxy-3.sunet.se':
ips: ['89.46.21.236']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'outscan':
site_name: 'outscan-idp-proxy.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.68', '2001:6b0:60:c0::68']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.69', '2001:6b0:60:c0::69']
backends:
default:
'outscan-idp-proxy-1.sunet.se':
ips: ['89.45.236.70']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'forum':
site_name: 'forum.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.15', '2001:6b0:60:c0::15']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.16', '2001:6b0:60:c0::16']
backends:
default:
'forum-1.sunet.se':
ips: ['89.45.236.168']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'humhubidp':
site_name: 'humhub-idp-proxy.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.13', '2001:6b0:60:c0::13']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.14', '2001:6b0:60:c0::14']
backends:
default:
'humhub-idp-proxy-1.sunet.se':
ips: ['89.45.236.42']
server_args: 'ssl check verify none'
'humhub-idp-proxy-2.sunet.se':
ips: ['89.47.185.213']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'sunetidp':
site_name: 'idp.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.20', '2001:6b0:60:c0::20']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.21', '2001:6b0:60:c0::21']
backends:
default:
'idp-2.sunet.se':
ips: ['192.36.171.241']
server_args: 'ssl check verify none cookie idp2'
'idp-3.sunet.se':
ips: ['89.45.237.76']
server_args: 'ssl check verify none cookie idp3'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'zoomidp':
site_name: 'zoom-saas-idp-proxy.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.26', '2001:6b0:60:c0::26']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.27', '2001:6b0:60:c0::27']
backends:
default:
'zoom-saas-idp-proxy-3.sunet.se':
ips: ['192.36.171.243']
server_args: 'ssl check verify none'
'zoomproxy-sto1-prod-1.sunet.se':
ips: ['89.47.184.173']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'driveidp':
site_name: 'drive-idp-proxy.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.9', '2001:6b0:60:c0::9']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.10', '2001:6b0:60:c0::10']
backends:
default:
'drive-idp-proxy-1.sunet.se':
ips: ['89.45.237.92']
server_args: 'ssl check verify none'
'drive-idp-proxy-2.sunet.se':
ips: ['89.46.20.165']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'kubetest':
site_name: 'kubetest.streams.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.38', '2001:6b0:60:c0::38']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.39', '2001:6b0:60:c0::39']
backends:
default:
'internal-dco-test-k8sc-1.streams.sunet.se':
ips: ['89.47.191.134']
haproxy_config: ' server SERVER_v4 REMOTE_IP:PORT'
server_args: 'check inter 1s rise 30 fall 3'
'internal-dco-test-k8sc-2.streams.sunet.se':
ips: ['89.47.191.169']
haproxy_config: ' server SERVER_v4 REMOTE_IP:PORT'
server_args: 'check inter 1s rise 30 fall 3'
'internal-dco-test-k8sc-3.streams.sunet.se':
ips: ['89.47.190.18']
haproxy_config: ' server SERVER_v4 REMOTE_IP:PORT'
server_args: 'check inter 1s rise 30 fall 3'
allow_ports:
- 16443
- 443
- 80
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'sveidas1':
site_name: 'qa.proxy.eidas.swedenconnect.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.30', '2001:6b0:60:c0::30']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.31', '2001:6b0:60:c0::31']
backends:
default:
'proxy-qa-sto1-1.komreg.net':
ips: ['89.47.185.121', '2001:6b0:5a:4020::ea']
haproxy_config: ' server SERVER_v4 REMOTE_IP:PORT'
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
eidas_proxy_auth: 'cianMiShreldajOoburiryeuGroyld'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'sveidas2':
site_name: 'qa.connector.eidas.swedenconnect.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.32', '2001:6b0:60:c0::32']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.33', '2001:6b0:60:c0::33']
backends:
default:
'connector-qa-sto1-1.komreg.net':
ips: ['89.47.184.242', '2001:6b0:5a:4020::12b']
server_args: 'ssl verify required ca-file /etc/ssl/certs/infra.crt cookie ect1'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
eidas_proxy_auth: 'cianMiShreldajOoburiryeuGroyld'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
haproxy_volumes:
- "/etc/ssl/certs/infra.crt:/etc/ssl/certs/infra.crt:ro"
'sweconn1':
site_name: 'qa.md.swedenconnect.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.34', '2001:6b0:60:c0::34']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.35', '2001:6b0:60:c0::35']
backends:
default:
'p1.komreg.net':
ips: ['89.47.185.233']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
eidas_proxy_auth: 'cianMiShreldajOoburiryeuGroyld'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'sweconn2':
site_name: 'qa.md.eidas.swedenconnect.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.36', '2001:6b0:60:c0::36']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.37', '2001:6b0:60:c0::37']
backends:
default:
'p2.qa.komreg.net':
ips: ['89.47.184.153']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
eidas_proxy_auth: 'cianMiShreldajOoburiryeuGroyld'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'scapi':
site_name: 'api.swedenconnect.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.11', '2001:6b0:60:c0::11']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.12', '2001:6b0:60:c0::12']
backends:
default:
'eidastest-1.qa.sveidas.se':
ips: ['89.47.185.83']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
eidas_proxy_auth: 'cianMiShreldajOoburiryeuGroyld'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'sctestqa':
site_name: 'qa.test.swedenconnect.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.40', '2001:6b0:60:c0::40']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.41', '2001:6b0:60:c0::41']
backends:
default:
'testmyeid-qa-sto1-1.komreg.net':
ips: ['89.47.185.9', '2001:6b0:5a:4020::208']
server_args: 'ssl check verify none'
refidp:
'refidp-1.qa.sveidas.se':
ips: ['89.47.184.213']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
eidas_proxy_auth: 'cianMiShreldajOoburiryeuGroyld'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
# 'idmqa':
# site_name: 'qa.idm.eidas.swedenconnect.se'
# frontends:
# 'tug-lb-1.sunet.se':
# ips: ['37.156.192.96', '2001:6b0:60:c0::96']
# 'sthb-lb-1.sunet.se':
# ips: ['37.156.192.97', '2001:6b0:60:c0::97']
# backends:
# default:
# 'idm-sto1-qa-app-1.komreg.net':
# ips: ['89.47.184.15']
# server_args: 'ssl check verify none'
# 'idm-sto3-qa-app-2.komreg.net':
# ips: ['89.45.236.223']
# server_args: 'ssl check verify none'
# 'idm-sto1-qa-app-3.komreg.net':
# ips: ['89.47.184.233']
# server_args: 'ssl check verify none'
# allow_ports:
# - 80
# - 443
# letsencrypt_server: 'acme-c.sunet.se'
# eidas_proxy_auth: 'cianMiShreldajOoburiryeuGroyld'
# haproxy_imagetag: '20230228-stable'
# frontendtools_imagetag: '20230228'
'sunetse':
site_name: 'sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.50', '2001:6b0:60:c0::50']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.51', '2001:6b0:60:c0::51']
backends:
default:
'web-b1.sunet.se':
ips: ['89.47.185.81']
server_args: 'ssl check verify none'
'web-b2.sunet.se':
ips: ['89.47.185.150']
server_args: 'ssl check verify none'
'web-b3.sunet.se':
ips: ['192.36.171.85']
server_args: 'ssl check verify none'
'web-sb1.sunet.se':
ips: ['192.36.171.160']
server_args: 'ssl check verify none backup'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'ers':
site_name: 'ers.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.92', '2001:6b0:60:c0::92']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.93', '2001:6b0:60:c0::93']
backends:
default:
'projecttool-prod-1.sunet.se':
ips: ['89.47.184.234']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'fidusmd':
site_name: 'md.fidus.skolverket.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.46', '2001:6b0:60:c0::46']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.47', '2001:6b0:60:c0::47']
backends:
default:
'pub-1.fidus.sunet.se':
ips: ['130.242.132.147']
server_args: 'ssl check verify none'
'pub-2.fidus.sunet.se':
ips: ['130.242.132.19']
server_args: 'ssl check verify none'
test:
'p-test-1.fidus.sunet.se':
ips: ['89.45.236.10']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'fidusds':
haproxy_volumes:
- "/opt/frontend/config/common/robots.txt:/opt/frontend/config/common/robots.txt:ro"
site_name: 'ds.fidus.skolverket.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.48', '2001:6b0:60:c0::48']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.49', '2001:6b0:60:c0::49']
backends:
default:
'dsi-3.fidus.sunet.se':
ips: ['130.242.132.149']
server_args: 'ssl check verify none'
'dsi-4.fidus.sunet.se':
ips: ['130.242.132.21']
server_args: 'ssl check verify none'
test:
'dsi-test-2.fidus.sunet.se':
ips: ['89.45.236.191']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'signgnt':
site_name: 'edusign.geant.org'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.78', '2001:6b0:60:c0::78']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.79', '2001:6b0:60:c0::79']
backends:
default:
'signapp-geant-sthb-1.edusign.sunet.se':
ips: ['130.242.113.24']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'sigsvcgnt':
site_name: 'signservice-geant.edusign.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.90', '2001:6b0:60:c0::90']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.91', '2001:6b0:60:c0::91']
backends:
default:
'signservice-sthb-1.edusign.sunet.se':
ips: ['130.242.113.22']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'apignt':
site_name: 'apignt.edusign.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.44', '2001:6b0:60:c0::44']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.45', '2001:6b0:60:c0::45']
backends:
default:
'signapi-sthb-1.edusign.sunet.se':
ips: ['130.242.113.23']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'edusign':
site_name: 'edusign.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.56', '2001:6b0:60:c0::56']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.57', '2001:6b0:60:c0::57']
backends:
default:
'signapp-tug-1.edusign.sunet.se':
ips: ['130.242.113.4']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'edusignapi':
site_name: 'api.edusign.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.24', '2001:6b0:60:c0::24']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.25', '2001:6b0:60:c0::25']
backends:
default:
'signapp-sthb-1.edusign.sunet.se':
ips: ['130.242.113.21']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'validator':
site_name: 'validator.edusign.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.7', '2001:6b0:60:c0::7']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.8', '2001:6b0:60:c0::8']
backends:
default:
'validator-sthb-1.edusign.sunet.se':
ips: ['130.242.113.20']
server_args: 'ssl check verify none'
allow_ports:
- 443
- 80
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'rutprod':
site_name: 'kubeprod.rut.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.94', '2001:6b0:60:c0::94']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.95', '2001:6b0:60:c0::95']
backends:
default:
'internal-sto4-prod-k8sc-0.rut.sunet.se':
ips: ['2001:6b0:6c::1dd', '89.46.21.223']
'internal-sto4-prod-k8sc-1.rut.sunet.se':
ips: ['2001:6b0:6c::27f', '89.46.21.87']
'internal-sto4-prod-k8sc-2.rut.sunet.se':
ips: ['2001:6b0:6c::3b7', '89.46.20.39']
allow_ports:
- 80
- 443
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'fidusdsmd1':
site_name: 'dsmd-kvm.fidus.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.60', '2001:6b0:60:c0::60']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.61', '2001:6b0:60:c0::61']
backends:
default:
'dsmd-3.fidus.sunet.se':
ips: ['130.242.132.148']
'dsmd-4.fidus.sunet.se':
ips: ['130.242.132.20']
allow_ports:
- 80
- 443
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'
'fidusdsmd2':
site_name: 'dsmd-sto4.fidus.sunet.se'
frontends:
'tug-lb-1.sunet.se':
ips: ['37.156.192.112', '2001:6b0:60:c0::112']
'sthb-lb-1.sunet.se':
ips: ['37.156.192.113', '2001:6b0:60:c0::113']
backends:
default:
'dsmd-sto4-prod-mdq-1.fidus.sunet.se':
ips: ['89.46.20.201', '2001:6b0:6c::49f']
'dsmd-sto4-prod-mdq-2.fidus.sunet.se':
ips: ['89.46.21.205', '2001:6b0:6c::321']
allow_ports:
- 80
- 443
letsencrypt_server: 'acme-c.sunet.se'
haproxy_imagetag: '20230228-stable'
frontendtools_imagetag: '20230228'

View file

@ -1,71 +0,0 @@
#!/usr/bin/env python3
import yaml
import subprocess
import time
import sys
groupyaml = '/etc/hiera/data/group.yaml'
def get_frontends(data):
try:
return list(data['sunet_frontend']['load_balancer']['websites'].keys())
except KeyError:
return []
def check_docker_instance_status(instance):
cmd = f"docker inspect -f {r'{{.State.Status}}'} {instance}"
result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
return result.stdout.strip() == 'running'
def is_exabgp_running():
cmd = ["systemctl", "is-active", "exabgp.service"]
result = subprocess.run(cmd, capture_output=True, text=True)
return result.stdout.strip() == 'active'
def check_docker_instances(instances, max_retries=3, initial_wait=10):
for instance in instances:
retries = 0
while retries < max_retries:
if check_docker_instance_status(instance):
print(f"Instance: {instance} is running!")
break
else:
print(f"Instance: {instance} is not running! Will try again in {initial_wait * (2**retries)} seconds.")
time.sleep(initial_wait * (2**retries))
retries += 1
if retries == max_retries:
print(f"Max retries reached for instance: {instance}, exiting!")
sys.exit(1)
def check_exabgp_running(max_retries=3, initial_wait=10):
retries = 0
while retries < max_retries:
if is_exabgp_running():
print("ExaBGP service is running!")
break
else:
print(f"Exabgp is not running! Will try again in {initial_wait * (2**retries)} seconds.")
time.sleep(initial_wait * (2**retries))
retries += 1
if retries == max_retries:
print(f"Max retries reached for checking if exabgp is running, exiting!")
sys.exit(1)
with open(groupyaml, 'r') as f:
data = yaml.safe_load(f)
frontends = get_frontends(data)
instances = []
for frontend in frontends:
instances.append(frontend + '-haproxy-1')
instances.append(frontend + '-monitor-1')
instances.append(frontend + '-config-1')
instances.append('frontend-api-1')
instances.append('frontend-telegraf-1')
check_exabgp_running()
check_docker_instances(instances)
sys.exit(0)

View file

@ -1,20 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_cache', 'block_xss', 'hsts', 'no_sniff']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,21 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_frames', 'block_xss', 'hsts', 'no_sniff', 'no_cache']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,28 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{%- macro bind_ip_tls_extra(bind_ips, port, tls_cert, extra) -%}
{%- for ip in bind_ips %}
bind {{ ip }}:{{ port }} ssl crt {{ tls_cert }} {{ extra }}
{%- endfor %}
{%- endmacro %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls_extra(bind_ips, 443, tls_certificate_bundle, "verify optional crt-ignore-err all ca-file /etc/ssl/certs/ca-certificates.crt") }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
http-request set-header client-cert %{+Q}[ssl_c_der,base64]
{{ web_security_options(['no_frames', 'block_xss', 'hsts', 'no_sniff', 'no_cache']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,122 +0,0 @@
# haproxy for SUNET frontend load balancer nodes.
#
{% from "common/haproxy_macros.j2" import output_backends %}
{% block global %}
global
log stdout format raw local0 debug
daemon
maxconn 256
stats socket /haproxy_control/stats mode 660
#server-state-file /tmp/server_state
hard-stop-after 10s
# whole container is started as non-root
#user haproxy
#group haproxy
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Mozilla Guideline v5.7 intermediate configuration
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-bind-options prefer-client-ciphers no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets
ssl-default-server-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
ssl-default-server-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-server-options no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets
# end Mozilla config
tune.ssl.default-dh-param 2048
max-spread-checks 10s
spread-checks 5
{% endblock global %}
{% block defaults %}
defaults
log global
mode http
option httplog
option dontlognull
option redispatch
option forwardfor
# funny looking values because recommendation is to have these slightly
# above mulitples of three seconds to play nice with TCP resend timers
timeout check 5s
timeout connect 4s
timeout client 17s
timeout server 17s
timeout http-request 5s
balance roundrobin
# never fail on address resolution
default-server init-addr libc,none
{% endblock defaults %}
{% block stats %}
frontend LB-http
# expose stats info over HTTP to exabgp
bind 127.0.0.1:9000
http-request set-log-level silent
default_backend LB
backend LB
stats enable
#stats hide-version
stats uri /haproxy_stats
{% endblock stats %}
#
# Frontend section
#
{% block frontend_80 %}
{% endblock frontend_80 %}
{% block frontend %}
{% endblock frontend %}
#
# Backend section
#
{% block pre_backend %}
{% endblock pre_backend %}
{% block backend %}
{% if backends is defined %}
{%- for this in backends %}
backend {{ this.name }}
mode tcp
{{ config|join('\n ') }}
{%- for server in this.servers %}
{%- if server.server_args is defined %}
{%- set server_args = server.server_args %}
{%- endif %}
{% if server is defined %}
server {{ server.server }}_{{ server.address_family }} {{ server.ip }}:{{ server.port }} {{ server_args }}
{%- endif %}
{%- endfor %}
{%- endfor %}
{%- for this in backends %}
backend {{ this.name | replace("__default","__port80") }}
mode tcp
{{ config|join('\n ') }}
{%- for server in this.servers %}
{%- if server.server_args is defined %}
{%- set server_args = server.server_args %}
{%- endif %}
{% if server is defined %}
server {{ server.server }}_{{ server.address_family }} {{ server.ip }}:80 {{ server_args }}
{%- endif %}
{%- endfor %}
{%- endfor %}
{% else %}
# No backends found in context
{% endif %}
{% endblock backend %}

View file

@ -1,116 +0,0 @@
# haproxy for SUNET frontend load balancer nodes.
#
{% from "common/haproxy_macros.j2" import output_backends %}
{% block global %}
global
log stdout format raw local0 debug
daemon
maxconn 256
stats socket /haproxy_control/stats mode 660
#server-state-file /tmp/server_state
# whole container is started as non-root
#user haproxy
#group haproxy
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Mozilla Guideline v5.7 intermediate configuration
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-bind-options prefer-client-ciphers no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets
ssl-default-server-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
ssl-default-server-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-server-options no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets
# end Mozilla config
tune.ssl.default-dh-param 2048
spread-checks 20
{% endblock global %}
{% block defaults %}
defaults
log global
mode http
option httplog
option dontlognull
option redispatch
option forwardfor
# funny looking values because recommendation is to have these slightly
# above mulitples of three seconds to play nice with TCP resend timers
timeout check 5s
timeout connect 4s
timeout client 17s
timeout server 17s
timeout http-request 5s
# never fail on address resolution
default-server init-addr libc,none
balance roundrobin
{% endblock defaults %}
{% block stats %}
frontend LB-http
# expose stats info over HTTP to exabgp
bind 127.0.0.1:9000
http-request set-log-level silent
default_backend LB
backend LB
stats enable
#stats hide-version
stats uri /haproxy_stats
{% endblock stats %}
{% block global_backends %}
{% if letsencrypt_server is defined %}
backend letsencrypt_{{ letsencrypt_server }}
server letsencrypt_{{ letsencrypt_server }} {{ letsencrypt_server }}:80
{% else %}
# letsencrypt_backend not defined
{% endif %}
{% endblock global_backends %}
{% block https_everything %}
#
# Redirect _everything_ to HTTPS
frontend http-frontend
bind 0.0.0.0:80
bind :::80
redirect scheme https code 301 if !{ ssl_fc } ! { path_beg /.well-known/acme-challenge/ }
{% if letsencrypt_server is defined %}
use_backend letsencrypt_{{ letsencrypt_server }} if { path_beg /.well-known/acme-challenge/ }
{% else %}
# letsencrypt_backend not defined
{% endif %}
{% endblock https_everything %}
#
# Frontend section
#
{% block frontend %}
{% endblock frontend %}
#
# Backend section
#
{% block pre_backend %}
{% endblock pre_backend %}
{% block backend %}
{{ output_backends(backends, config=[]) }}
{% endblock backend %}

View file

@ -1,31 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
http-request set-header X-Proxy-Authenticate "{{ eidas_proxy_auth }}"
{{ web_security_options(['no_frames', 'block_xss', 'hsts', 'no_sniff', 'no_cache']) }}
{{ csp(["default-src " + ["'self'"]|join(' '),
"font-src " + ["'self'", "fonts.googleapis.com", "fonts.gstatic.com"]|join(' '),
"script-src " + ["'self'", "'unsafe-inline'", "swedenconnect.status.io", "api.status.io", "www.google-analytics.com", "ajax.googleapis.com"]|join(' '),
"connect-src " + ["'self'","api.status.io"]|join(' '),
"img-src " + ["*", "data:", "'self'"]|join(' '),
"style-src " + ["'self'", "'unsafe-inline'", "fonts.googleapis.com"]|join(' '),
]) }}
{{ acme_challenge(letsencrypt_server) }}
{% block usebackend %}
use_backend {{ site_name }}__default
{% endblock usebackend %}
{% endblock frontend %}

View file

@ -1,32 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['hsts', 'no_sniff', 'no_cache']) }}
{{ csp(["default-src " + ["'self'"]|join(' '),
"frame-src " + ["ds.fidus.skolverket.se"]|join(' '),
"font-src " + ["'self'", "fonts.googleapis.com", "ds.fidus.skolverket.se", "bootstrapcdn.com", "fonts.gstatic.com"]|join(' '),
"script-src " + ["'self'", "'unsafe-inline'", "'unsafe-eval'", "fidus.status.io", "ds.fidus.skolverket.se", "stackpath.bootstrapcdn.com", "api.status.io", "www.google-analytics.com", "ajax.googleapis.com"]|join(' '),
"connect-src " + ["'self'","api.status.io"]|join(' '),
"img-src " + ["*", "data:", "'self'"]|join(' '),
"style-src " + ["'self'", "'unsafe-inline'", "ds.fidus.skolverket.se", "stackpath.bootstrapcdn.com", "fonts.googleapis.com"]|join(' '),
"object-src " + ["'none'"]|join(' '),
]) }}
{{ acme_challenge(letsencrypt_server) }}
{% block usebackend %}
use_backend {{ site_name }}__default
{% endblock usebackend %}
{% endblock frontend %}

View file

@ -1,35 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
http-request return status 200 content-type "text/plain" file "/opt/frontend/config/common/robots.txt" hdr "cache-control" "no-cache" if { path /robots.txt }
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['hsts', 'no_sniff', 'no_cache']) }}
{{ csp(["default-src " + ["'self'"]|join(' '),
"frame-src " + ["ds.fidus.skolverket.se"]|join(' '),
"font-src " + ["data:", "'self'", "ds.fidus.skolverket.se"]|join(' '),
"script-src " + ["'self'", "'unsafe-inline'", "'unsafe-eval'", "ds.fidus.skolverket.se"]|join(' '),
"connect-src " + ["'self'", "dsmd.fidus.sunet.se"]|join(' '),
"img-src " + ["*", "data:", "'self'"]|join(' '),
"style-src " + ["'self'", "'unsafe-inline'", "ds.fidus.skolverket.se"]|join(' '),
"object-src " + ["'none'"]|join(' '),
]) }}
{{ acme_challenge(letsencrypt_server) }}
{% block usebackend %}
use_backend {{ site_name }}__default
{% endblock usebackend %}
{% endblock frontend %}

View file

@ -1,24 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_frames', 'block_xss', 'hsts', 'no_sniff']) }}
{{ csp(["default-src " + [csp_app_src]|join(' '),
"script-src " + [csp_script_src]|join(' '),
]) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,77 +0,0 @@
#
# Macros
#
{%- macro bind_ip_tls(bind_ips, port, tls_cert) -%}
{%- for ip in bind_ips %}
bind {{ ip }}:{{ port }} ssl crt {{ tls_cert }}
{%- endfor %}
{%- endmacro %}
{%- macro web_security_options(list) -%}
{%- for this in list %}
{%- if this == 'no_frames' %}
# Do not allow rendering the site within an frame, which prevents clickjacking.
http-response set-header X-Frame-Options "DENY"
{% endif %}
{%- if this == 'block_xss' %}
# Enable browser supplied XSS-protection, even if has been turned off.
# If XSS is detected by the browser, block it instead of trying to sanitize it.
http-response set-header X-XSS-Protection "1; mode=block"
{% endif %}
{%- if this == 'hsts' %}
# 20 years in seconds is 630720000 (86400 * 365 * 20)
http-response set-header Strict-Transport-Security "max-age=630720000"
{% endif %}
{%- if this == 'no_sniff' %}
# Prevent MIME-confusion attacks that can lead to e.g. XSS
http-response set-header X-Content-Type-Options "nosniff"
{% endif %}
{%- if this == 'no_cache' %}
# The information is intended for a single user and must not
# be cached by a shared cache and should always be revalidated.
http-response set-header Cache-Control "no-cache, no-store, must-revalidate"
http-response set-header Pragma "no-cache"
http-response set-header Expires "0"
{% endif %}
{%- endfor %}
{%- endmacro %}
{%- macro acme_challenge(letsencrypt_server) -%}
{%- if letsencrypt_server is defined %}
use_backend letsencrypt_{{ letsencrypt_server }} if { path_beg /.well-known/acme-challenge/ }
{%- else %}
# No letsencrypt_server specified
{%- endif %}
{%- endmacro %}
{%- macro csp(data) -%}
# Content Security Policy
http-response set-header Content-Security-Policy "{{ data|join('; ') }}"
{%- endmacro %}
{%- macro output_backends(backends, config=[], server_args='') -%}
{% if backends is defined %}
{%- for this in backends %}
backend {{ this.name }}
{{ config|join('\n ') }}
{%- for server in this.servers %}
{%- if server.server_args is defined %}
{%- set server_args = server.server_args %}
{%- endif %}
{% if server is defined %}
server {{ server.server }}_{{ server.address_family }} {{ server.ip }}:{{ server.port }} {{ server_args }}
{%- endif %}
{%- endfor %}
{%- endfor %}
{% else %}
# No backends found in context
{% endif %}
{%- endmacro %}

View file

@ -1,2 +0,0 @@
User-Agent: *
Disallow: /

View file

@ -1,21 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_frames', 'block_xss', 'hsts', 'no_sniff', 'no_cache']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,20 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_cache', 'block_xss', 'hsts', 'no_sniff']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,20 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_cache', 'block_xss', 'hsts', 'no_sniff']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,25 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
option forwardfor header X-Real-IP
http-request set-header X-Real-IP %[src]
{{ web_security_options(['no_cache', 'block_xss', 'hsts', 'no_sniff']) }}
{{ acme_challenge(letsencrypt_server) }}
## acl user_eudsign hdr(user-agent) -i edusign
## http-request redirect location https://www.sunet.se/maintenance/edusign/ if ! user_eudsign
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,20 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_cache', 'block_xss', 'hsts', 'no_sniff']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,20 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_cache', 'block_xss', 'hsts', 'no_sniff']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,6 +0,0 @@
{% extends 'common/haproxy_fidus_ds.j2' %}
{% block usebackend %}
use_backend {{ site_name }}__test if { path_beg /test/ }
use_backend {{ site_name }}__default
{% endblock usebackend %}

View file

@ -1 +0,0 @@
{% extends 'common/haproxy_idp.j2' %}

View file

@ -1 +0,0 @@
{% extends 'common/haproxy_idp.j2' %}

View file

@ -1,7 +0,0 @@
{% extends 'common/haproxy_fidus.j2' %}
{% block usebackend %}
use_backend {{ site_name }}__test if { path_beg /test/ }
use_backend {{ site_name }}__default
{% endblock usebackend %}

View file

@ -1,20 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_cache', 'block_xss', 'hsts', 'no_sniff']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,37 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{%- macro bind_ip_tls_extra(bind_ips, port, tls_cert, extra) -%}
{%- for ip in bind_ips %}
bind {{ ip }}:{{ port }} ssl crt {{ tls_cert }} {{ extra }}
{%- endfor %}
{%- endmacro %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls_extra(bind_ips, 443, tls_certificate_bundle, "verify optional crt-ignore-err all ca-file /etc/ssl/certs/ca-certificates.crt") }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
http-request set-header client-cert %{+Q}[ssl_c_der,base64]
{{ web_security_options(['no_frames', 'block_xss', 'hsts', 'no_sniff', 'no_cache']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}
{% block backend %}
{{ output_backends(backends,
config=[
'cookie SERVERID insert indirect nocache',
'option httpchk'
]
)
}}
{% endblock backend %}

View file

@ -1,21 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_frames', 'block_xss', 'hsts', 'no_sniff', 'no_cache']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1 +0,0 @@
{% extends 'common/haproxy_eidas.j2' %}

View file

@ -1,39 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{%- macro bind_ip_tls_extra(bind_ips, port, tls_cert, extra) -%}
{%- for ip in bind_ips %}
bind {{ ip }}:{{ port }} ssl crt {{ tls_cert }} {{ extra }}
{%- endfor %}
{%- endmacro %}
{% block frontend_80 %}
frontend {{ site_name }}_port80
{%- for ip in bind_ips %}
bind {{ ip }}:80
{%- endfor %}
mode tcp
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
use_backend {{ site_name }}__port80
{% endblock frontend_80 %}
{% block frontend %}
frontend {{ site_name }}
{%- for ip in bind_ips %}
bind {{ ip }}:443
{%- endfor %}
mode tcp
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,105 +0,0 @@
global
log stdout format raw local0 debug
daemon
maxconn 256
stats socket /haproxy_control/stats mode 660
#server-state-file /tmp/server_state
# whole container is started as non-root
#user haproxy
#group haproxy
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Mozilla Guideline v5.7 intermediate configuration
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-bind-options prefer-client-ciphers no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets
ssl-default-server-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
ssl-default-server-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-server-options no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets
# end Mozilla config
tune.ssl.default-dh-param 2048
spread-checks 20
defaults
log global
mode http
option httplog
option dontlognull
option redispatch
option forwardfor
# funny looking values because recommendation is to have these slightly
# above mulitples of three seconds to play nice with TCP resend timers
timeout check 5s
timeout connect 4s
timeout client 17s
timeout server 17s
timeout http-request 5s
# never fail on address resolution
default-server init-addr libc,none
balance roundrobin
frontend LB-http
# expose stats info over HTTP to exabgp
bind 127.0.0.1:9000
http-request set-log-level silent
default_backend LB
backend LB
stats enable
#stats hide-version
stats uri /haproxy_stats
{% block frontend %}
frontend http-frontend
bind 0.0.0.0:80
bind :::80
use_backend {{site_name}}__letsencrypt
frontend {{ site_name }}
log stdout format raw local0 debug
mode tcp
bind 0.0.0.0:443
bind :::443
stats enable
use_backend {{ site_name }}__default
frontend {{ site_name }}__16443
mode tcp
bind 0.0.0.0:16443
bind :::16443
use_backend {{ site_name }}__16443
{% endblock frontend %}
{% block backend %}
backend {{ site_name }}__16443
mode tcp
balance leastconn
server internal-dco-test-k8sc-1.streams.sunet.se_v4 89.47.191.134:16443 check inter 1s rise 30 fall 3
server internal-dco-test-k8sc-2.streams.sunet.se_v4 89.47.191.169:16443 check inter 1s rise 30 fall 3
server internal-dco-test-k8sc-3.streams.sunet.se_v4 89.47.190.18:16443 check inter 1s rise 30 fall 3
backend {{ site_name }}__default
mode tcp
balance leastconn
server internal-dco-test-k8sc-1.streams.sunet.se_v4 89.47.191.134:443 check inter 1s rise 30 fall 3
server internal-dco-test-k8sc-2.streams.sunet.se_v4 89.47.191.169:443 check inter 1s rise 30 fall 3
server internal-dco-test-k8sc-3.streams.sunet.se_v4 89.47.190.18:443 check inter 1s rise 30 fall 3
backend {{ site_name }}__letsencrypt
mode http
balance leastconn
server internal-dco-test-k8sc-1.streams.sunet.se_v4 89.47.191.134:80 check inter 1s rise 30 fall 3
server internal-dco-test-k8sc-2.streams.sunet.se_v4 89.47.191.169:80 check inter 1s rise 30 fall 3
server internal-dco-test-k8sc-3.streams.sunet.se_v4 89.47.190.18:80 check inter 1s rise 30 fall 3
{% endblock backend %}

View file

@ -1,20 +0,0 @@
{% extends 'common/haproxy_base.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{% block frontend %}
frontend {{ site_name }}
{{ bind_ip_tls(bind_ips, 443, tls_certificate_bundle) }}
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
http-request set-header X-Forwarded-Proto https
{{ web_security_options(['no_frames', 'block_xss', 'hsts', 'no_sniff', 'no_cache']) }}
{{ acme_challenge(letsencrypt_server) }}
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,37 +0,0 @@
{% extends 'common/haproxy_22_tcp_mode.j2' %}
{% from "common/haproxy_macros.j2" import bind_ip_tls, web_security_options, acme_challenge, csp %}
{%- macro bind_ip_tls_extra(bind_ips, port, tls_cert, extra) -%}
{%- for ip in bind_ips %}
bind {{ ip }}:{{ port }} ssl crt {{ tls_cert }} {{ extra }}
{%- endfor %}
{%- endmacro %}
{% block frontend_80 %}
frontend {{ site_name }}_port80
{%- for ip in bind_ips %}
bind {{ ip }}:80
{%- endfor %}
mode tcp
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
use_backend {{ site_name }}__port80
{% endblock frontend_80 %}
{% block frontend %}
frontend {{ site_name }}
{%- for ip in bind_ips %}
bind {{ ip }}:443
{%- endfor %}
mode tcp
timeout http-request 10s
timeout http-keep-alive 4s
option forwardfor
use_backend {{ site_name }}__default
{% endblock frontend %}

View file

@ -1,7 +0,0 @@
{% extends 'common/haproxy_eidas.j2' %}
{% block usebackend %}
http-response set-header Access-Control-Allow-Origin "*"
use_backend {{ site_name }}__default if { path_beg /testid }
{% endblock usebackend %}

View file

@ -1 +0,0 @@
{% extends 'common/haproxy_eidas.j2' %}

Some files were not shown because too many files have changed in this diff Show more