From bcfbf609aedde72684748a356752ae6730741964 Mon Sep 17 00:00:00 2001 From: aggarwalakshun Date: Wed, 15 Oct 2025 12:46:05 +0530 Subject: [PATCH] add homepage config files --- .../monitoring/homepage/home-secrets.yml | 28 ++ .../homepage/homepage-clusterRole.yml | 62 +++ .../monitoring/homepage/homepage-config.yml | 395 ++++++++++++++++++ .../monitoring/homepage/homepage-pvc.yml | 14 + .../monitoring/homepage/homepage-secret.yml | 11 + .../homepage/homepage-svc-account.yml | 10 + .../monitoring/homepage/homepage-svc.yml | 13 + .../default/monitoring/homepage/homepage.yml | 95 +++++ 8 files changed, 628 insertions(+) create mode 100644 clusters/default/monitoring/homepage/home-secrets.yml create mode 100644 clusters/default/monitoring/homepage/homepage-clusterRole.yml create mode 100644 clusters/default/monitoring/homepage/homepage-config.yml create mode 100644 clusters/default/monitoring/homepage/homepage-pvc.yml create mode 100644 clusters/default/monitoring/homepage/homepage-secret.yml create mode 100644 clusters/default/monitoring/homepage/homepage-svc-account.yml create mode 100644 clusters/default/monitoring/homepage/homepage-svc.yml create mode 100644 clusters/default/monitoring/homepage/homepage.yml diff --git a/clusters/default/monitoring/homepage/home-secrets.yml b/clusters/default/monitoring/homepage/home-secrets.yml new file mode 100644 index 0000000..2f59719 --- /dev/null +++ b/clusters/default/monitoring/homepage/home-secrets.yml @@ -0,0 +1,28 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: homepage-secrets + namespace: monitoring +spec: + encryptedData: + ALLOWED_HOSTS: AgCyRYkyN6jBUOle+ezAJNEetq5FsaAQepIUuVgofjbksG+XmnZaIchXp+r5AmgrZMg0ZTKFXNE1Y1TewoYinASFhFEG5yFLHVBB4dO+0qOTum209gwZwlW4q346Y+gh3uZ7uk2PR3hCB9WYka6gPbzKWUwux+IrJsoUXiJSbIaXWftqob3vVMdKBAjEUZXkAl5QRaInhvlGgCp8pZV7o23g+7l1pNO1HEiuLCPhLFOgRNQvM99U2WsXIuSp7o5u7tqZKM1SELXY/ITL3OVrolJVABedcjvC5cS6ag55usO1/O+smvaHlqpoeshp3RM5FPIA0sEfhsvYkB9bVvfRio+DToWFyBUktbXHPpw01nLDUuMuRe+wl/Up7zIP4aLTH87zOLEeWiI0/vT4C3B5eNVEm4vljU6+pOavFVrJiJ4jurH9qHWpa2wy3TKvhw6VEehi6V/RBkQ6vAUPzok7c9LY2WFA/K0wvY6cvIUN1o/vkZtuTKTvrKGDJZhtQnUjTP8DO2O5Rd2i9IEc8zE5nwwfqqMy/JqAoBk8MY9xVkdyChdDYtkhiEtT0U5Zu4y4EIvoJMAZnjUOPV5kTK0YqDUh48H16BtvihOnFAwPGPIjBdAZYlggH/AE5gkdZR+zwW9iuMz8AFp3qccDB+yAFCLURyoBdi779Yz4HxCXtmCh0LYOPNeUoIKRHTe6ttySZfTuSBe2z4lxS9X4xMl2l/a8lio= + BAZARR_API_KEY: AgCUuUvh/1V+pOnehjOh/aJ3QgbS/dPsdFYZ6pAvFG9hS3VvLmuBTvRD3s+uysqxn/yFgvmCpjZD3Y57ahPOXoBwNrO6veXX8xl7PcECdsqfzWVD2p0koJt7Ci/ezPYJrFH8vY7PgYAti3GlK4y38g3JqRz9iAF2vCj4KosDPL1s8xVIVg+eGV7uHPZtjMMCOXLyYZ7SKblEdaicZYck2O3iUZpB7jTlug9Vn1Kht0LxgSlWcgrauGGrr+CjpdfnZsiT+0CBiaAwJfG6wyXh7vb3HbrSCQHTjHt8/Z2vqSuC8l60VfF5ONwgbOGMCNxSqW4szW8Cg4nF0VBPBZhltiWQ5h48iUkFEgNGFh9kW9DslU6JQkppa8GbPffSDc5RB27djoY9O/aqtygNHp/S+ZiHpShAfVROFDBRrLT4UHcVtZgJ+99NHrZBkQXieuyMmvAUNwdvi0AjmvqwiJW/vCt+LE4mPbPioLTh0sO7ThSyqp7NITq7bZm/EbxLuE9tQdMJI7xXt1Qff6g/Gxx4ykMyZ+LC0HS43YtLysJ/jyF66ZFzTHb5cf/dACERUxs/k5Zh3N4/0SQTqOO8EX4XXJzMz8rr9ZKpBkDPaQqhaKPwHi/OHyUUikDVCDKks1i190S4stbJ3JtZv8XTDTIO2XY27gyoSuP3fOTcmKdpCwZ28LkwwKSb9JFm14MSm/w1+8eewPsLqNoeKPsuhXj5i+wN/JjgMrEvh26mifDTSj+EBA== + DOMAIN: AgCJ5tcgzz2DqiHR8P8fzUE1/zz+8J/jW5/DMlrCJp9y/zSD1H2H4asGd/txOREfZXHbH7pWOe+MUjYtTB7tlMSs6nRY+Ng7Eow5MbToS8r2US67dk+d6ZYMZTCwEHtnubBD77wSHAx319CXyB5YIA7OBQ5iYMLwT0QYYWlfo/m1sG/sbHQYKJ239IwYInE9fonWOTw/7BxteXyyStpPSbxnZd9BfcjUhjh5pNv5Js+ip4LKVE9CMHqxou2cgqIfiQq6ul9l6mzB6D0IXXnaU4KUxY7utHZVGVjqZ/mefjtShgJ6zJYhOD9GUqA2VxvVf9aioHqHfY4rsqVgNLJ6w9gDf1XW9K4cvz3+ays0BhqeqRLLc8lVd51Q3lPs2R78MR7g5b6gryLKO87fGheY+WtqEAOhlq9GgrBmXSelWjVc0NvTY3S/MJJLooG6ruhTnOxEBO4wrQzNjdZ6iGUUZfsI2pJOREcng+85sUDrAlfLZXT6KG2m8HjnEKXYz52rDEcasOfuKxFsi3G4vk/YP7RFIlw7bMJujFiCtCuEXeJ/pZmSwUU4ikAGo70Ha9X52O2xevXDayVxnyN/ARXnex8NaD3BAKUcOt/tLtg9L1X2is4qlkUIYOV6SuRtGtXqZq+2uOiyWCFSUXSl7STjAifl7dmQXOVFNBzTRHP+sre4Mc58rXpxvi3qneZupUX1qV0S8FfA4qzvjptXThiJ + GITEA_API_KEY: AgBoVWmdNBwzRUp1CTplE7VSJZc+VTGv191G9UqeQKGeV5HIUyF9Bcd7+49uQ/0PfXJkRJFLn8vBEm+2CdHElvDn72JwhFO4QNklCtkQAecVAcHu+mHhU4JF4xoJzpjiajT64yBKiJpyNf05yvBmaByArAcMVfRkp57E6KpiVDQ67VNTF80qV+Bwr8wXYdgb9YFpPVvQAGg7n1Sw7M5xXk0YHQrLAAUcm5UF4FrvOY4FiG5evPvNsoVn8utRkOYUfgAYk95NilLjgZpC0v+sgX746PLODwKic+98dzzMeGCawTWLiHsQWIll5OOVjpGi1zVql0dUM2uJcOKSOStGFEqt8CrIqKI3JhA1k1fB6ro5i+WjW8cAf23FnyKzv7EsVGSkUfi2ilZVDUgK0h1IEAjy11iCjIkv0S4/muD7RWU+o13ExUUgViHQFj9ZgRCD0qF9t902bf4o0ZDn5hUNFGW0PgvltU3LYT1llNt/CZePkEtJNUkBO9GS1igri1vZo4V2ZXyjD47XqfWYIXx24oUAfSLPV8DorjorsWo50YqSNoqXoVyVr+oAuCiJQZGJ61HMFZggy0nRFyZfMZE9F6XHML4SdxW2u+m5teq4NTwnGqoowubgxn+9nasKw27oPPAcs3Bk4bzlnaQGdV5FgCt0yQqDtLTO/yG0CatuQ/WIXj1FsxpCwYL15hXmXwR2jkGpRrDOWxVXrtWUupXxzHRc+5GOSk/TNDI547gTwa0Z5Ez5Rkm6U+fY + IMMICH_API_KEY: AgA5J7L36M1XYLuwpRsdLGxLWh2SPdHewfueOLxlRoSL7ROz+PfXxkLtOzZVuu3dZ7op/QRL/yHt4YimIVHuerPCePmPxGovxX6a47BNkbe6kN+1yG0kc/t/EoAuwQqf7tGg3bBSIBf/opm7cy4Av83imbCsktwbjfiiu+omdTgiqB92bizWu/Av9FuG3f9i1WMX3L8jJWg9KE/IuONhfRzciE4K3r8ci6G5dIMGKk1WHGDGZGkquw0NWFk2dnRIMWKKB70QynfNcXdc6FRZRx2mZtXRNyWcbu+kvmC9LlcKWbrsrMW1HtN/+3CuUQvkUZjbQo2V97b5/zITe3aJGoC/Pjxk+uvwklhUD346Z//8tZEw/Z4FlZXOjyONIqs9DPx76bd5n2fc0mk8FbEZ2Bgj2HLtq6ZrCR0V6R0KwF4gIhV8YTMc0lYAWBNhckK2EEb+lN9etEDS8PJH7PI46QuFhi1xrP5W811wnzcqf3vs9O3JeFsX13/m2IokbPhc3hGVFyVGfNHCGENT4lfirN2Yct9EGkuHYMNWVpVKTsSQWdT03dJmCB84eKyskruz0XGukJIt9OFh79R3aeXVZB1JIyJX5u0Z6lFa4XGqGFKovry3JP7hGG98UNPMTBxqF2Ngu4Ei5jJ9azifF3oup80lq9bS1Zvin1AhAnrxW5m8Q2z4IKdVXWO3w80/qOBDmVzlUMuIjaEVj/zTZMZhP9QmXax7c8RO5nwW5J4x/yFxKNbnwF3PgsndMV0= + JELLYFIN_API_KEY: AgA7AncQWkgYfnBTLUj67lAYERi9AeKOt+UY5sk0pyVVIzrF62qZ6X8T3owLMFpDqYNDbRKMlqHNgbMjyo6O1Vj0mjMB1y9bPOfjjNKUEB/iI0Cxk9ZpoArEqjj0u0Yyts6Od7ASQ1JK0arkhT47FxQPBAqK/MMV9b8QOICb4/L6Tv5ciboBJHsiEaJnXrF2DHnc3A2ongsSZIYbOBvR6s7r7t17MNrOuidO7DHF+dw6gtIn07c3cKKmlCbQ5nDeXkRBk7fGR4jx5VDs8DdbaHxMCDeRXNTCT2jZawijyqBt8M/IE7CpRDeY4XKIVY3i59k9IiD5J/mfRSGmlhQeHvQQ+KbrumbVd+acNdABM3Gcc6qWPjZOJmmnl3BYET3uZm3yWAxU3FbKMhqyH27fySV8b+Eep+HqshiSTekwc6iphdHqPo1aW17xIxR9WJyrQycYH4N1KsDOlbI+T4HbAbXoR3obPpEbm9LyfXGp82/cnmxX5Sr3bbeBzjQ9BjtPTjsbvqR78nGktTVjwxi2fOdArx40IGI9dU3MEbxG6KP3nUHosAmHGcgpeX2tnKxCGChoEDB1AoxD2DfNiLK/WaqmiH2161X/+zEtki4tboCopO7Eb/dASJb43ix+5RlvxC7wS3MhLrzpHRTJogGdfN8OQtpCkkxUkWa4J1uEht6hqeDTagRXsP//SEJLFCt7ovuvIJrd37upn0wnEE/DfO6b/i97BcW3z+DQkqsW6nCAAA== + JELLYSEERR_API_KEY: AgCm/zo3jsGo4d7aWb7q07jfMnpwpdNiyp6Wpc4FsIhLmnaclr2+yrNC4N3nFvRK6h/s9nJaRC9fDXUQ673AcNcSujXQ8XzQ8SiS/47T3925ZZ1ni7ZJkpaxV1bJK4X8puq17NZ2XEUntdTNUtXywnMlAw0E/jEFF+um5BJuvwAo+cvKLY51eHR9sjxWCzrJIM3Ty6CjX2sixu/r+v9mtFxI3gnSvg3yw/bUXKBhYK7REPiIdlAnzX3Muh6IxB1Ag5tbSJJFMeJnoMXkvoEDfD7aCC256SbuPxr2skzQtL/Ai+glFPy8xVo2obgj03I7hHUJVLqi5lbYjO+gLTjIGPHSEmr0nv3/IKlxJDJDy/xzMwJbnCa40vtKmfvQLCR0e0jNfM0PZ7qcxx1UZTTE6Yvku0wWDgda/26fS4UNV/0MXmT9tjDK86ubJZwwuIDqMPi7H+HOFF7t+0O4OK4avPxF0G8xtejF1nhvAyGA0176qjeqEbo2MisNroc//F+lH3uSSaMa2G3BymIqjdVfBuI/RhEYpad8gFyu+/oBiGppfzjrz9qWLL+EcUyyarRMGNUPWAxgCn6wKbLc/OurfIBoXvZINucavo58S5OY4Yw4n2Fvff29GTszl0pzrOKuN1GisxdqsMvUsUxQjuf/HAazow1NAcKmj8pzVxlKvRDYcNzzkuvXI0FEoSB8mp+z2QAnzdHVvSHJlKZn5PBSKfQU8B4LKcZ3FTB1OETetqgIbB6G5Nfxk/Ibc/BD2jdbpf/olLQjH9zm8+UGFsgdX/ILRaZRHA== + NEXTCLOUD_PASSWORD: AgAQPkQEKvy8CzRTrpfxqz5YswiZSLkkzxf8H6k9KrNJFRim/qEbmAyyC+JdMdnuJMT84j5XuDcehPc42d6vfm+YaYF+cRA3xP/xkyyAB17UhLSJu8Go/JFqPLNcxEBmSsogh1MXUU2TFYl1uCQwBn0BoLjdBffEKTw9yL0Izizd9VbwBCNJFHWv5PMkcdquBhnfjNhb6fH7667YdCMBY++TVQ94X5AwgJrZgV2+C2b+7BR4QNmcCzevS3ahBfZFvQCVAnPuZ1Bzs2xKZw0eg77soGCXCh2KG6sjjYIx7+bPPMjRSxBOJYb/e4HdpDDscH27F7RYbSPdQx/+Xd3cwu7BU6S8+px/1RrX4w3HvpxjuSrelBje5qD9ezEx8+4OqQc/sd003j0pKJdv8U0V8qDgSjenmd/xujkgY3ooKwgj3cvdotR3RherUMYrfKtz2KEO0nfRH0nlwwkg+X2gfwTHRnM2ONWyLhuomwHRHlKH5XgPvjqQxm3wMGsShEXBJdQiNOHwyfcLG352dOFP6q2wRr98h/7vWZh0b5eR7d5rJmy4k5XF5R8auYkfzHGAUnDmWIhJweHmQJ/Xto2p3QjJVUm8ToPOYx/FDdHCHwf11Kz4qJIk48B4KKkr/7llwmw5/iQzvTyH/U04TBnltXosSbrndmWYm6fee+QbB9vVGOGdVYvCcISdmmjMzNuuXgoHpEknDE+O1P4SNA== + PIHOLE_PASSWORD: AgAFZHwzPUmNfWBDKHjdhmGJy4l+JzvYAKZ/95dmmNl4lFe9t8kwixy1gAoyoYHMUywTwSoD7HZkRqQigDrac0xyS2B/zglKg6MoIfGsMQ/WWGsHCZZLEt4E6FhSdz8BZYuT6aBtfRlGVI2Uwx1jfoO414LClNiYXv5mO4JvitQYOMo2tPxU7z02RZq5ZAA10bfC5yU6bbvNH+tnSWbmVVchptaYk9ssbk6TWtOu9oMYY9+Vkhyyg0UgVRTnTeBW8pA/HB6JsgCxwnXwzs+wD2LtO46Ev+aBrWtYAN3MyyeevGd41JqjCXowjCwVzT6SzCDcsN2NZT0EtHc7DwHYbrly1ZzMmSxRFhvMSDUht8Cfl+C36aBXz685rdj/+guzH+URxmMNXkUsoFXEnyvrrKbQnfBpeMsT//3YdO7Pd5MlkDwvqiNMSbNuZh5REk1f5XYDY5hubGQ1KMDxAPgEfPKOQSh+kbLLE5LOe9OngVrdEgY25nYYceJNZEE1z07biMQAS582QAyZjUWd2X1tzPyKLCLxkm8DC/FSkO86VTjkN3egJg+8F8Jn+w7mCyRlfYHVNzWxQ1Jt4sw7x9slH7Py03GeGGEoBsxG100RWMQqdiBcrZcow/psYzFaGeGvwDZHgQkzFpSAJTYcWoEoowfoFdAfxwEXEbkKf9FD+HQom5rrm/a1diPQZ/U3uqLmNffo2oaXGwad6jAOEQ== + PROWLARR_API_KEY: AgCj9aH1N2xav3cZzpdX7yrudiiwr6+k0bJwbUln3qkIviT2XrnjNOeCk4mridm25waYzIMGaoXe2qOsMX7xqASiSCkYTpP71RkC8XWme7SZGkpcuG3VZWr7PKhxHtSTKFxiHp+Dh0NfIFlaqm5bVRZMCfBVjjkaJgqOg06puyQ89ILsFvKkjLjBhYWfNQ9+exaFoAt6aZEbTjyENvjMnMdndfMcbM1UhWAVVmM6HAChlpg7nbrG4/RIL8I0Xu53vUF6WKslZ7sInNVFm8xakUn8oPBk+2quD8BqYgxp7jAO9IJUOskCkJYCG9Wa91Bn87iI7YYti1cdtFH6xYgx0tPWXZ6A6fShSB5ItWVvoZb2krTbdMC5W97yV9uQ+PBRhOzYslwLA1Wl3oYYfd6HUFi0i22UCG4YiZH9wSKBKKSxHVB/5IIDIMHhEl3kFVv4U2IP+UkQf14g5bIAbm8XZwKBlIKNDAjKjHHT0YQemmnQeRT1V8rb2bk6XLrhOAs2zE0hyjcYc6UvIz54a7Yrsxnu0qOauIaWtea7nNLCJoOoloYaBN8dsOxC3cElHVnay78psouaheMTkl4bd/raxoQjB5MeNXJgg+i57NC6XAYQOs+2HXrpRPkcWNn+SK0P/nYG9H/YOC8luB1CI76iNxETp59B/rsQmS99SNdT+pMd6NyuQ1LV83TPbK+N+GRUEAFk3PpvO2lErVbV860fXtMPrfzzBKlBxhh0gSIa1wcmNw== + PROXMOX_BACKUP_SERVER_PASSWORD: AgCVMXSjbcMi33l/lAvSpfK0hZIiem/BsAsytKLAgdCkhidl226OWm8zaecQdkE2lCLIJ9TBvk298QO7vK6Nh0snTTfJwTLDgMM6P5HnzwjmVG0zAYq0k8ilORC84IP5tKxvoK/9z3S7NNOi95aU17aMpugHRQKyAYEdnn6Qz6Le3cMc/asXaqdwxN3/jF8AjWcGP9kve+9sayiQDxeCoZD7HP+zN8UW1ts40SUM01wLvoMMVFWp9L+tzbxP+QogMIn75/SPhymRNK5YZg4Nb6NulJ2iQj7K8qPp1cwuaul3kJO6RD9QcSV0mvlIafFkzoISGSq6VFsPIMOvfGWS37u2aaBi7v7qiC4kudM2N3ArXyDA5aIWTbKG41QgVRxzwxkKSBHJWnUx7ZXyzldcAr9Sl+U6RQCATw93/o9JwAo2D36yvn5++SurfBP5GImGgI1aVNX6FbBeKUAte8sF7VV4usoeTdDQ/BQgEdaqtTtbc9+jv7G+6KacQcDvmEXN2L5cvw6C+KShEX0F8CnjjIoDg2RhzmGzJp4aWRaj8KXnqVJnlhpBVevoyNb651/eGc6c4ekj70drC/qvyM7EHPq4Lj/c/slsN9VxoZ+hjBNTM4G3eUBm2TsIfcmw03YRTd8Rl1iSDF41zb3oZe2167OGFPdxMqahZ1yqSSrw633mJBIz7DMLMbr2Bpt/Vb/8+8IJlBjhwOH6EViuQXuBDH+c06GWj7qzrG2mle7ZPOWDXzpo/74= + PROXMOX_PASSWORD: AgBQo8cxn6yQ/l6OyQBc6LJlvY46ddDIDVc8UcY210eGpUbmF7apcYp7uf62b/Z3qgZCTcfimlOeMTWnLqlWAHkp5ARE1H6ou8Z/X8kH7aaYoGR4mTlIaIASvkn5WAUfsnW/+AZRoMkwJc0l1Ns4XATbn7sMTexVqZei407iW8/yDshVsIbnv2en0np9vBB+cHwkjfCrJViLxc8vKhXuxNeJYG/w2qsnbQQeiAYFQ8KtC4J3J6xylVSLA5Qpur5r+XsElDSbxuB1V2R9BPRIz6pIutk99RhFeU1xkDrcyxYUBbiWg2w0c6c6Alp5GtkEQs+pOSpoaXbpBUcRJq4FEWPRt9mFIdtCtP1LK31lAL9K/Be+i5pHr1glCvtGM/IaFtgdU+LF7V1SxEHB37sRvInbsf00RN3rUUFy3lOsYVx9RzsrFLjFufJ/uZlYjiMoOUQV93v05LtBqSQhLj8IHGLuPUSp4c81sGKnyRj+j2Mp2gVdxmg0mDYZPopOpE7rh1s6F35hr/dYzaKVKCUo02XcmextvOEbmdHvJwsDeqmntbUh1C7aXN5wG4XXtTJkvyTvOA81wZxlkMuQHRnB1w6lUo8pGAbdTd+QIzibvnHbqpOEi5Z69GYfF8F5lPEEFSsidobu9ybRAGfKyAM/F3RQa5t515UDNJZxRAiEwaNukS6bI2/i9P+lj5EEisO3vf533cgpuDoersEHFaByr60vAz0P1/0WbfFnVs2ckBOlBq0JJ0I= + QBITTORRENT_PASSWORD: AgAwLB/GGtFpjQKwRdlxFjp5+r3J7UKNAnz86KaxEEDUyBrmed0KjdXskX5HUn2lbzktDD94MRCbez4mVODr2XjXunzNW+kY96qG1+Z632eC19FTRv/Ve4TVOOx75DVsjWp+UaPUHPJUuh+ojPER8IhhFNi1Yrr6EwljnBGSP9aKjazi6cAIYgcYm+n0UgMWOwVJ1sJiPB/EqJY7nh8QbnwxPIDL1lSuSq2VAcAUIAKDzT1GUYDux1BVM6qVaHEt+JVS6pa4Gyi3ArzfTYvX1Ph5e67BdTpjXoNOBeiQLLcrBRtqx7Q7WmoC1jsyReZRtIOvJzbA3IFYUuHgqMYD/sd1roW529Z7IHWmc38pEdbPS+VuTLw0Za1Oh1mFKTDVFepvIa97+aBOK1P1JJA+oFy3YSdk0pcjdRQ88jFLYUcS3IKnTi1oFNPjP5Y0PDUDTIDFA/26lTgEfraaHmCeEZ5vZaQr8uFQ8bsghpbiQAmIzLhg7+XlcGMcOaTWFtPuui8XVgmoStF7pCoIDZ+/RDXqAJ4YDZCW/Aw8BrIh8H3tbFGn+9xt4XDmoD/ORcwXn4PhAo8QTajnrsRd2z7zhK2EO7vJND2YzJ7Yi2E7wbBddUQApg4gTt3h+IO4doxNiRH+1SL/fR129Ofh2icofeQa4AugJERJBXz5ySOJkGz2iwrgQKFK6nYGkJQIqwZRV9nuYy7uq47NigSB + RADARR_API_KEY: AgC9iADuhEDNFW8tW9yl/Mut43g98t6xGe2TwxDubHRYUgAloJXbWvSh5LYW/O5UytjXoXC7XqLntqKDm2JOl1iKjtsXsHFM4Gyt9oPebfYdgMD2S8UZR5RI/O1gS81nerOZprO4ad6jzP0i5+wFf5q/7UaYRQuhaqPrDy5ecBwgdTHJTXbiw1UVzeWcidiyuTI7rKeUW7oBHbRFWY+7fb1M4kv+NWJA/BozzlA4NvtRLoaXQkPpqj4BqYJF5jdL9jvj6TuFZd5uBFKY5urM4jvbPM+ZrpRx6QM3BdzG7O4rnaVPUm1+O1Zkv3UJn3mx+7+h6HRzaCti8i2HklB8Qo6kAS/geBdnPwP/bBMfdfIhvpA4WUeGJ+Fsr3pmrrB07O2RtNfnrtAq4gy7Zx/e5TbxZm2QUNcWDTKHkgFd4UZQMDDZL0BTNOYCW+970Ozljh9Q+TlMwboH8fLwllvcjomkINKEt/ljwJ1gJqh2ioAe9SuGFw0X89pR7tP8CAWo5piJPZ1f/CbjJmL4frjE7NFCH4hWTQMV6x9Z5uDnu3zEuQDIlV692Gkrh3XFnQsBmWheR3ASoApP64gb/HVg5V/rZM2bP7+HUKR9S1A8ipn9M/chIbb5r07Q42iPsoJ9KjMB5v+IJgZX0xkX2API16l6rGib4/phFbCj+Yvl37EEwyPVvVlYi6G/PyIH/sAk5QAGVUteh1xENpG/1MM91xMxCSwaVN/1XK2HgFIrx04jJQ== + SONARR_API_KEY: AgAOgN6pcsz+r8JD+LCeytbSN3MM6qu+fJlfBWV/CHIoqap7HKTpny4jf9P5/sCXRuoNvqhECnGic6cn5HTukR6nbt+/J21hBYs1rQ99l1/QwF69x5K/6N0tG1gB8dD5B/ELsJO0bOask9yl0Bg5xj2gmZLXVRXMvyZZLG4j4+yxcgdaZbv7JbIAPQVxLkR7ijL7ZCir3rjcQ7DDDvjTNFpqYLgLRAhZ82rlMH3UB/pXpNu/44bnJ20jzwxwqjym1aVTL7YjdBg0w2Po03TnAOnX52Cesug1Q0MRwInrgWF7xPOqufd3BZOSFC5LGVVYyhc3wW/ZfvlY4U+bxy+WNUoJdsoWErW8MkmV7C9qN9v7b8jP6JR5r+gAVvw7reLo45KilxGek3ZHtzzbi8t+9KXJmyFVLhrrERhO4qQTFZKOR+6C61zSg1C1hTZ9OxRVbGsvHABo6TB2BOcctMLZBwh7AukPqBp4JfHWxmXEBpZhzeKKw/+x01c79V73BbowweKrfTrVrD/i9SW/veHsG1aosLSLkJhTNvH1iyQC+Kf5HJgQKL54yJWbS0dd9a7cNzo6gCOdUTsemGRK7/kA2WbOK++zJ+/j804K3JLBKsmG9qb+xZ22KJFsWg8A+Mx17CbAE7DP0AKhPxkOFx9b8ud5IhwKTQRt4JiLMpPpSa1Q2lhXEjGtyL0piBKOqkqBCxPPUJwHdEa4y0y+tGXshV9khpSb6hyHXiHdFzbXWDI7NA== + template: + metadata: + name: homepage-secrets + namespace: monitoring + type: Opaque diff --git a/clusters/default/monitoring/homepage/homepage-clusterRole.yml b/clusters/default/monitoring/homepage/homepage-clusterRole.yml new file mode 100644 index 0000000..bb455ca --- /dev/null +++ b/clusters/default/monitoring/homepage/homepage-clusterRole.yml @@ -0,0 +1,62 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: homepage + labels: + app.kubernetes.io/name: homepage +rules: + - apiGroups: + - "" + resources: + - namespaces + - pods + - nodes + verbs: + - get + - list + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses + verbs: + - get + - list + - apiGroups: + - traefik.io + resources: + - ingressroutes + verbs: + - get + - list + - apiGroups: + - gateway.networking.k8s.io + resources: + - httproutes + - gateways + verbs: + - get + - list + - apiGroups: + - metrics.k8s.io + resources: + - nodes + - pods + verbs: + - get + - list +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: homepage + labels: + app.kubernetes.io/name: homepage +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: homepage +subjects: + - kind: ServiceAccount + name: homepage + namespace: default diff --git a/clusters/default/monitoring/homepage/homepage-config.yml b/clusters/default/monitoring/homepage/homepage-config.yml new file mode 100644 index 0000000..3918ced --- /dev/null +++ b/clusters/default/monitoring/homepage/homepage-config.yml @@ -0,0 +1,395 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: homepage + namespace: monitoring + labels: + app.kubernetes.io/name: homepage +data: + docker.yaml: "" + bookmarks.yaml: "" + kubernetes.yaml: | + mode: cluster + widgets.yaml: | + - kubernetes: + cluster: + show: true + cpu: true + memory: true + showLabel: true + label: "cluster" + nodes: + show: true + cpu: true + memory: true + showLabel: true + - search: + provider: google + target: _blank + settings.yaml: | + layout: + Proxmox (NVIDIA GPU): + style: row + columns: 5 + tab: Stats + Proxmox (AMD GPU): + style: row + columns: 5 + tab: Stats + Proxmox (Asus): + style: row + columns: 5 + tab: Stats + Apps: + style: row + columns: 4 + tab: Apps + Bookmarks: + style: row + columns: 5 + tab: Bookmarks + useEqualHeights: true + hideErrors: true + statusStyle: "dot" + background: /images/sur.png + services.yaml: | + - Apps: + - Sonarr: + href: https://sonarr."${DOMAIN}" + description: series + icon: sonarr.png + namespace: arr-stack + podSelector: app=sonarr + app: sonarr + widget: + type: sonarr + url: http://10.0.0.202:8989 + key: "${SONARR_API_KEY}" + - Radarr: + href: https://radarr."${DOMAIN}" + description: movies + icon: radarr.png + namespace: arr-stack + podSelector: app=radarr + app: radarr + widget: + type: radarr + url: http://10.0.0.202:7878 + key: "${RADARR_API_KEY}" + - Bazarr: + href: https://bazarr."${DOMAIN}" + description: subtitles + icon: bazarr.png + namespace: arr-stack + podSelector: app=bazarr + app: bazarr + widget: + type: bazarr + url: http://10.0.0.202:6767 + key: "${BAZARR_API_KEY}" + - Jellyfin: + href: https://jellyfin."${DOMAIN}" + description: streaming + icon: jellyfin.png + namespace: media + podSelector: app=jellyfin + app: jellyfin + widget: + type: jellyfin + url: http://10.0.0.202:8096 + key: "${JELLYFIN_API_KEY}" + - qBittorrent: + href: https://qbittorrent."${DOMAIN}" + description: torrent client + icon: qbittorrent.png + namespace: arr-stack + podSelector: app=qbittorrent + app: qbittorrent + widget: + type: qbittorrent + username: admin + password: "${QBITTORRENT_PASSWORD}" + url: http://10.0.0.202:8080 + - Jellyseerr: + href: https://jellyseerr."${DOMAIN}" + description: request movies and shows + icon: jellyseerr.png + namespace: arr-stack + podSelector: app=jellyseerr + app: jellyseerr + widget: + type: jellyseerr + url: http://10.0.0.202:5055 + key: "${JELLYSEERR_API_KEY}" + - Prowlarr: + href: https://prowlarr."${DOMAIN}" + description: indexers + icon: prowlarr.png + namespace: arr-stack + podSelector: app=prowlarr + app: prowlarr + widget: + type: prowlarr + url: http://10.0.0.202:9696 + key: "${PROWLARR_API_KEY}" + - Speedtest: + href: https://speedtest."${DOMAIN}" + description: speedtest + icon: si-speedtest.svg + namespace: monitoring + podSelector: app=speedtest + app: speedtest + widget: + type: speedtest + url: http://10.0.0.202:8181 + - Immich: + href: https://immich."${DOMAIN}" + description: photos + icon: immich.png + namespace: media + podSelector: app=immich-app + app: immich-app + widget: + type: immich + url: http://10.0.0.202:2283 + key: "${IMMICH_API_KEY}" + version: 2 + - Gitea: + href: https://gitea."${DOMAIN}" + description: Git Server + icon: gitea.png + namespace: git-ops + podSelector: app=gitea-app + app: gitea-app + widget: + type: gitea + url: http://10.0.0.202:3011 + key: "${GITEA_API_KEY}" + fields: ["repositories", "issues", "pulls"] + - Pihole: + href: https://pihole."${DOMAIN}"/admin + description: ad blocker + icon: pi-hole.png + namespace: tools + podSelector: app=pihole + app: pihole + widget: + type: pihole + url: http://10.0.0.202:8585 + version: 6 + key: "${PIHOLE_PASSWORD}" + - Nextcloud: + href: https://nextcloud."${DOMAIN}" + description: files + icon: nextcloud.png + namespace: media + podSelector: app=nextcloud + app: nextcloud + widget: + type: nextcloud + url: https://10.0.0.202:9200 + key: "${NEXTCLOUD_PASSWORD}" + - Crafty: + href: https://crafty."${DOMAIN}" + description: minecraft server manager + icon: crafty-controller.png + widget: + type: minecraft + url: udp://192.168.1.3:25565 + - Proxmox: + href: https://proxmox."${DOMAIN}" + description: VMs + icon: proxmox.png + widget: + type: proxmox + url: https://10.0.0.100:8006 + username: api@pam!homepage + password: "${PROXMOX_PASSWORD}" + - Proxmox Backup Server: + href: https://pbs."${DOMAIN}" + description: backup server + icon: proxmox.png + widget: + type: proxmoxbackupserver + url: https://192.168.1.112:8007 + username: root@pam!homepage + password: "${PROXMOX_BACKUP_SERVER_PASSWORD}" + datastore: backups + fields: ["datastore_usage", "cpu_usage", "memory_usage"] + - Invidious: + href: https://invidious."${DOMAIN}" + description: youtube frontend + namespace: media + podSelector: app=invidious + app: invidious + icon: invidious.png + - VS Code: + href: https://vs."${DOMAIN}" + description: VS code server + icon: vscode.png + namespace: tools + podSelector: app=code-server + app: code-server + - Semaphore: + href: https://semaphore."${DOMAIN}" + description: ansible gui + icon: semaphore.png + namespace: git-ops + podSelector: app=semaphore + app: semaphore + - Ersatztv: + icon: ersatztv.png + description: live tv for jellyfin + href: https://ersatztv."${DOMAIN}" + namespace: media + podSelector: app=ersatztv + app: ersatztv + - Jellystat: + icon: jellystat.png + description: jellyfin stats + href: https://jellystat."${DOMAIN}" + namespace: monitoring + podSelector: app=jellystat + app: jellystat + - Paperless NGX: + icon: paperless.png + description: documents OCR + href: https://ngx."${DOMAIN}" + namespace: media + podSelector: app=paperless-ngx + app: paperless-ngx + - Ghostfolio: + icon: ghostfolio.png + description: portfolio analyzer + href: https://ghost."${DOMAIN}" + namespace: monitoring + podSelector: app=ghostfolio + app: ghostfolio + - Searxng: + icon: searxng.png + description: search engine + href: https://sear."${DOMAIN}" + namespace: tools + podSelector: app=searxng + app: searxng + - Open Media Vault: + href: http://192.168.1.4 + description: NAS + icon: openmediavault.png + - Bookmarks: + - Disney: + href: https://www.hotstar.com + - Prime Video: + href: https://primevideo.com + - AngelOne: + href: https://www.angelone.in/trade/watchlist/chart + - MoneyControl: + href: https://moneycontrol.com + - SBI Netbanking: + href: https://retail.onlinesbi.sbi/retail/login.htm + - GW2 Wiki: + href: https://wiki.guildwars2.com/wiki/Event_timers + - GW2 Efficiency: + href: https://gw2efficiency.com + - Youtube: + href: https://youtube.com + - Reddit: + href: https://reddit.com + - Github: + href: https://github.com + - Twitch: + href: https://twitch.tv + - Proxmox (AMD GPU): + - CPU Usage: + widget: + version: 4 + type: glances + url: http://192.168.1.113:61208 + metric: cpu + - Memory Usage: + widget: + version: 4 + type: glances + url: http://192.168.1.113:61208 + metric: memory + - Processes: + widget: + version: 4 + type: glances + url: http://192.168.1.113:61208 + metric: process + - Sensor: + widget: + version: 4 + type: glances + url: http://192.168.1.113:61208 + metric: sensor:Tctl + - Disk Usage: + widget: + version: 4 + type: glances + url: http://192.168.1.113:61208 + metric: disk:sdb + - Proxmox (NVIDIA GPU): + - CPU Usage: + widget: + version: 4 + type: glances + url: http://192.168.1.126:61208 + metric: cpu + - Memory Usage: + widget: + version: 4 + type: glances + url: http://192.168.1.126:61208 + metric: memory + - Processes: + widget: + version: 4 + type: glances + url: http://192.168.1.126:61208 + metric: process + - Sensor: + widget: + version: 4 + type: glances + url: http://192.168.1.126:61208 + metric: sensor:Package id 0 + - Disk Usage: + widget: + version: 4 + type: glances + url: http://192.168.1.126:61208 + metric: disk:nvme0n1 + - Proxmox (Asus): + - CPU Usage: + widget: + version: 4 + type: glances + url: http://192.168.1.199:61208 + metric: cpu + - Memory Usage: + widget: + version: 4 + type: glances + url: http://192.168.1.199:61208 + metric: memory + - Processes: + widget: + version: 4 + type: glances + url: http://192.168.1.199:61208 + metric: process + - Sensor: + widget: + version: 4 + type: glances + url: http://192.168.1.199:61208 + metric: sensor:Sensor 1 + - Disk Usage: + widget: + version: 4 + type: glances + url: http://192.168.1.199:61208 + metric: disk:nvme0n1 diff --git a/clusters/default/monitoring/homepage/homepage-pvc.yml b/clusters/default/monitoring/homepage/homepage-pvc.yml new file mode 100644 index 0000000..c5ea2e2 --- /dev/null +++ b/clusters/default/monitoring/homepage/homepage-pvc.yml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: homepage-longhorn + namespace: monitoring +spec: + accessModes: + - ReadWriteOnce + volumeMode: Filesystem + resources: + requests: + storage: 100Mi + storageClassName: longhorn diff --git a/clusters/default/monitoring/homepage/homepage-secret.yml b/clusters/default/monitoring/homepage/homepage-secret.yml new file mode 100644 index 0000000..b778f9d --- /dev/null +++ b/clusters/default/monitoring/homepage/homepage-secret.yml @@ -0,0 +1,11 @@ +--- +apiVersion: v1 +kind: Secret +type: kubernetes.io/service-account-token +metadata: + name: homepage + namespace: monitoring + labels: + app.kubernetes.io/name: homepage + annotations: + kubernetes.io/service-account.name: homepage diff --git a/clusters/default/monitoring/homepage/homepage-svc-account.yml b/clusters/default/monitoring/homepage/homepage-svc-account.yml new file mode 100644 index 0000000..1d47d21 --- /dev/null +++ b/clusters/default/monitoring/homepage/homepage-svc-account.yml @@ -0,0 +1,10 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: homepage + namespace: monitoring + labels: + app.kubernetes.io/name: homepage +secrets: + - name: homepage diff --git a/clusters/default/monitoring/homepage/homepage-svc.yml b/clusters/default/monitoring/homepage/homepage-svc.yml new file mode 100644 index 0000000..59d57c7 --- /dev/null +++ b/clusters/default/monitoring/homepage/homepage-svc.yml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: homepage-service + namespace: monitoring +spec: + type: LoadBalancer + selector: + app.kubernetes.io/name: homepage + ports: + - port: 30001 + targetPort: 3000 diff --git a/clusters/default/monitoring/homepage/homepage.yml b/clusters/default/monitoring/homepage/homepage.yml new file mode 100644 index 0000000..dfea017 --- /dev/null +++ b/clusters/default/monitoring/homepage/homepage.yml @@ -0,0 +1,95 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: homepage + namespace: monitoring + labels: + app.kubernetes.io/name: homepage +spec: + revisionHistoryLimit: 3 + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app.kubernetes.io/name: homepage + template: + metadata: + labels: + app.kubernetes.io/name: homepage + spec: + serviceAccountName: homepage + automountServiceAccountToken: true + enableServiceLinks: true + initContainers: + - name: substitute-config + image: alpine + envFrom: + - secretRef: + name: homepage-secrets + command: + - "sh" + - "-c" + - apk add gettext && envsubst < /mnt/init/services.yaml > /mnt/services.yaml + volumeMounts: + - name: homepage-config + mountPath: /mnt/init/services.yaml + subPath: services.yaml + - name: tmp + mountPath: /mnt + subPath: services.yaml + containers: + - name: homepage + image: "ghcr.io/gethomepage/homepage:v1.5.0" + imagePullPolicy: IfNotPresent + env: + - name: HOMEPAGE_ALLOWED_HOSTS + valueFrom: + secretKeyRef: + name: homepage-secrets + key: ALLOWED_HOSTS + ports: + - name: http + containerPort: 3000 + protocol: TCP + volumeMounts: + - mountPath: /app/config/custom.js + name: homepage-config + subPath: custom.js + - mountPath: /app/config/custom.css + name: homepage-config + subPath: custom.css + - mountPath: /app/config/bookmarks.yaml + name: homepage-config + subPath: bookmarks.yaml + - mountPath: /app/config/docker.yaml + name: homepage-config + subPath: docker.yaml + - mountPath: /app/config/kubernetes.yaml + name: homepage-config + subPath: kubernetes.yaml + - mountPath: /app/config + name: tmp + subPath: services.yaml + - mountPath: /app/config/settings.yaml + name: homepage-config + subPath: settings.yaml + - mountPath: /app/config/widgets.yaml + name: homepage-config + subPath: widgets.yaml + - mountPath: /app/config/logs + name: logs + - mountPath: /app/public/images + name: images + volumes: + - name: homepage-config + configMap: + name: homepage + - name: images + persistentVolumeClaim: + claimName: homepage-longhorn + - name: logs + emptyDir: {} + - name: tmp + emptyDir: {}