From beb484aa9f528ee357b03e96cd8f7727e80d9fd3 Mon Sep 17 00:00:00 2001 From: aggarwalakshun Date: Sun, 28 Dec 2025 06:58:08 +0530 Subject: [PATCH] add secerts, clusterRole, configmap, ingress, pvc, svc, svc-account and deployment for homepage --- .../ipv6/monitoring/homepage/home-secrets.yml | 30 ++ .../homepage/homepage-clusterRole.yml | 62 +++ .../monitoring/homepage/homepage-config.yml | 410 ++++++++++++++++++ .../monitoring/homepage/homepage-ingress.yml | 27 ++ .../ipv6/monitoring/homepage/homepage-pvc.yml | 14 + .../monitoring/homepage/homepage-secret.yml | 11 + .../homepage/homepage-svc-account.yml | 10 + .../ipv6/monitoring/homepage/homepage-svc.yml | 12 + .../ipv6/monitoring/homepage/homepage.yml | 95 ++++ 9 files changed, 671 insertions(+) create mode 100644 clusters/ipv6/monitoring/homepage/home-secrets.yml create mode 100644 clusters/ipv6/monitoring/homepage/homepage-clusterRole.yml create mode 100644 clusters/ipv6/monitoring/homepage/homepage-config.yml create mode 100644 clusters/ipv6/monitoring/homepage/homepage-ingress.yml create mode 100644 clusters/ipv6/monitoring/homepage/homepage-pvc.yml create mode 100644 clusters/ipv6/monitoring/homepage/homepage-secret.yml create mode 100644 clusters/ipv6/monitoring/homepage/homepage-svc-account.yml create mode 100644 clusters/ipv6/monitoring/homepage/homepage-svc.yml create mode 100644 clusters/ipv6/monitoring/homepage/homepage.yml diff --git a/clusters/ipv6/monitoring/homepage/home-secrets.yml b/clusters/ipv6/monitoring/homepage/home-secrets.yml new file mode 100644 index 0000000..8c8f4a2 --- /dev/null +++ b/clusters/ipv6/monitoring/homepage/home-secrets.yml @@ -0,0 +1,30 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: homepage-secrets + namespace: monitoring +spec: + encryptedData: + ALLOWED_HOSTS: AgChqXwOFgFhPfa2mILpIFA4xfkqEb+QSnOzhsB4xkmfUpFc4TqHgCBt094kJzL8O5k874FGe2A0EfQ6R/EtHXkndnHcM6uLzW/QbmSvalFyAgb0pCyln45Kv02wo90q0GB2YBoLgJ6ow9Kleju9aLjbSXcPrYxGZrGT2/ckFI1PF7WS4avvFUIRqSbR+VDRVfNW2G1kjyNWzubZ+t3MRKIrIsDynJFOM4FVn/uKZa1VgaEC38iJek9ciH/WrswZXYFLymlzJGAjswURFx9df3FvPDg7rZ6OdSSq1iiJkH3BhaUr/2FBw8/WkZ4HfcFtxdsagZBlzGDWm4/Y2fBM/dFByh3MZ+Jv+WH5BPpLoY87ERNPddxeK2RDnVdiPMGvSqEnk9nhyUEbxAgYNEyQyXmswNUFQg6EJQ2wgg6K+pOxNPvzuC4qI9ZYEgnU8M8DTrDDd+Sy+3YL3hnETGhjsqYnOpaH0h7iYd6tQImEC9gtWtvySrwYq3dwjZVoYT9QydZnMmWZakcTh/U9VPYfecx1pz9+gSRkfS9ISfUvfbFdR1a9TFx2VIaQh4b3/Aqhxi9mhQICLFcssM3wjkBHcOu3AEL8eASRJ73PbmKQ9Sllw3oEdLJbPR5MA+s6VzlKB07uFRepgaECQrfPMiaYM1qH3syqTlbedBxL+NlGHk0+uWkKiFzpZlKLwhvCMbdcGimI2YypqvIWIR6AVj3SrHckS9g= + BAZARR_API_KEY: AgAtsYLFHfD6zjH+HYtNXUXCEcg36/Yc0U/lmxiskTmiNPuFtYLHAZVP5y4jYCobitPqJCZ1VZByYQFRQPm8NhIGDokGnw7JPxY5yAo0kg9wSaLZd3vStNTKMsVOxIbc79WR46apoZDna/jClPXpB4tflV94ENSBLsHrXypi4tnZrqv1/RZl2MY3LNcgXzwLnuGAC6d7lDMeJbMGGVuAK94M4kdMfHhb1/sQsqNQkJ7VbIAbZQFFEx3cd0Oyq2p0mE2efcxbciggMCXKJM8X0wtFbahjeV42n/zZLZURrI03pjX6hHbcyGjpKUup2krXl4XMbweHpenPRI2FMvYnG3JhVV+DE5AKdYfVMY0Xm3Vgcv9Q8D7vq06HyRtrAlBtlJv3MNpyLxk4/X0Ngdlg+0wCKrgixtk5OxqJSqmwWR18MsGtgSwX8/lPpvr7nxwHaUTCV/WLaQGyzAOKJoHyfGWdLrlHu7LR94hEkxui72it8o+fiasp7WhI8H9+s/gENFNjBW9Acw+5WmivmA+ivV6/jjXgu1lyqINhZpDWbT/HL/Skf28JZZ4E1p1FJ+a6HTa/inb3o4s50ueLOGVS0QuFDZIqNQwtStZHrkNsUHZb5/VBxHAcNQyAEw+ZEx7mLpwcfM4BBR/HcPQlrPQlwbqjp6P74FscZOrmW18F+EzF82EPLao31BdBBYckhN+vVlc703lnTpDaJJPrZ06/6jWXS91uxM8r4j/DG/xQ1KzUFw== + DOMAIN: AgCMoXYx4U5m4qpyMTl0cimsMntmEbCveeKiNY22hTpk/vzl6+ibSVruy+Ik391UZxGexSo/1TYfYe6yy4hm2voVFJHTT4h/DU7piiv9Pwqwhj0Xy2pu0AGRMTbN8bI7cKYdzzsmRhXwu4ySsKxqLPkqP/KpFc7OdUMm2gVbm8nT3+J5L8LUZFVDk3W3wNd1qn7wKXoyJu1xOuZG3gs+tJDD86Tyc7ID4kEPUDFIXWOML1EMuQzaCq3aLox0aFtrTfVSIoxWal43w9yK9Bx9W/v2xO6Mu/rMsz+AR5SEsgBfv5BkrsidW8hxbczxwiL9HiBLjW7jdiWHkpd/yrtlBTXQAfJF9SEfjkkaLoqIT0xgqpCFtom8VAc/rYgbVHhkmD7kwEN4EqXOs5F/0R9GKW8wxaY5oIcG+9btRd63bGanAAfSPTKNpRKm38rpckf+p0JJmA20mm+h0FG/GqpFPmoRY2GjH+XlDKPY4T1eYLbOnRP2Ce/uhaWKTRqxlESrMPjk//Nxu248fWkuqA0NpDaOtAFVV0wDLT2B0Pw9Na1Jj1n2PbOu8Yi+kiEYwk9tocJOztC1f8sLVUqZ+VJRRoGIzuJUrWbL0/CEOCz8BL6F6BG3/kiPm49cJX/rI5Q26FjCNChT9uhdUwVGFlnrwdSB6bE1jhmU8faW56nE4SPhnGPOhZdjgczkAIUR5hmGzuCM0T3B+fCQ1kw2sp39 + GITEA_API_KEY: AgB+vahqqcrA+gl3vfMV4wh8LTxFCoB1fQ397dtbmhsJlUsJL4MobADltI7EJWQeo8MSD2uNojA2abxqoO2sV35lXqiJlYX7s/dIlHlrarSFcEdg9BqFzBDGg0AWCKUv3933QPVi/yxf7BDerMznEoAcQUakUGNwoGeAEEQPxhz6X/bQhQg/FFTl0tr3kG78GSHwSWZ4NXcwGbkvaA4qi6elSIP3GVKPJ2OYpAu5AngFjyLcy3jgnTp6D0e99P+T00bTdG6awruJhvnl/El5EM/2Nuw9BMcdRS+8xFWYohJUutpkXQHSuFLi3awp4sbWzsKgrKgjSmkeSTo6ar1s51bh2XC230TdQAm4mwEzS/nslvUm5VYA8n8Wy0nLJJr398lGMebyoLql/esPny3bvNMVDraRCxirKIMgtd0po75SUZb/dszAe70UbqvjxLqfV7XpRIc+ic0rg/rY9HYTL44TqOCxMzByLD+7S8y52ksXT7bnvkZpNXzToU78XXAe/6ifDim+P6vuKyjCoyttqKYbutEdlBZFiu3hQhqtjPQJAlYkGJayGGDXunUjCnb8+9CdGpbkoNMPecgGw49wUSflHXkv7iza8mi9lyH05vXx54yxFS9W6nwA9cG73yB2ZZmGTnc101/iaQumUnBL2Bm9yWBxyFW+0Xmxj1q4w9FsrjwuWaRhQOGq4JXkG+GQfD3K7KbWNKlc2tza4U4a6S7yEF3RrdflxLIY+B2sTWIDJjAwRgflFjA3 + IMMICH_API_KEY: AgBv4abjnF4sU8IaMHJbJtxcrShZyg6B/W24F/+RAcobj2YEaH8cRxFC7y8eb/BDn9g+1RO0MErpoTg373+/ZNbkRe1y1vcc8kUZvzVWp+ckZM13CaJOArsX0F0LjPIqe35XjZRJAjENf1DwkzrnXlY6DHiv24JiNtl4XoVl3Ntuwm6iHcsb5328YIDaHlaEkHf5yIozWqG8aa0ndiXF6QkPAyMfUKBsU7jl82FD4jVs2KyIiRcznoju1JMrZYLZx1xyftAE4ct9QARPD+zCIq5zCgIdPvCWetxpCS+4Y98pFlqSOrg5vCH7EGqZ1INpfEKamTnkHV4Jm4qr1e9QiKC2Z5Jikrg4sjWtDB8neEGocKpARZe2uPf9HMxhp294+PM4CW7kBDrrzns6iDpEwwEtFADLciStfazArh96qITfKOE4xE/4dFKIf4CVacPnW2+i653zFdepwVNdazD1THskMK6PFwikgrnVvcTmrXz0REwp0I54YkhFn/4xkTPhkJ7hs0ZVotkeNRes+9K8eG6fZZbmEeOYubwa6l+S3CQDkmM4R7Bc4g8oIA+2qchHwe6T7Jg8YeDWWYFu63hWk8sWDqzK/LHahmK3jZR68uMcl4t74zBSxi0FqEthnV27vyMkmWo53RIvxyXMwSiAEClVOo2MJ4UZUg43B4L+iAjAltCiH4LbPBjL5GaNdLq1vDjURMg3ZZ7QpCLLHvrSBr5JXNXD7eTFpSn/YQGTt1hPBMb0gZXUwsg107A= + JELLYFIN_API_KEY: AgAd1Mxud758Cuuembyu0tpjBp5TYfd6IS/HxHFi+ZVhi5EpJELPFcHcdugTEyFx+TOMYyUewwfz3Ng/CpfvKp2te9cwEwBSt4Pa9qbTN93OlFccQH54S+Q0IDlHxbmcKpzED7RPg2msXTUbjw6A5clb7IZ7oDiELqFC4XSxdtuUvY2GexzUyC+f40/sSk/FXp7QGNxA6ewOaiMOsw0Q8cczxx2XsE6XyZuazOgJeBzOhg6TL6x+mIpDASETZYpaUpIvi4VfTb9oFcp2ZvwbkA2TcObgo5skltOm8dO7JKiTAxxelITHZpQX12tQXRJHHNOtVubryICqX07jI/oI/dYXL5wLUaqL2oFehWLhnep+iBlSgy4NGbx3qGc9DrR2W4llPVATOROhgFDrgVZ3IQ8dtESq4koweKj8GrRKmH6uDA6GtvvtCCcHC71i4mCI8ixxGu3W+IxPzR9VYOrOR1ma7eGDec5cM9Cm/U/FEQmFnBQtWMXQDmPBfhRpz2NGLccG/w+tEw8I/dAu6khdmNiMmnqk7jGit1iXs2Nxq9H8EukvNpzZTR8TDxtCZMHLJhkS+XhZeHYVgUEIZfM6/UJ8R0CmcM4XOl+3L3rnFWV07SC61kP7qYw6wjyoNc2C47PpzKoXvLvX0483mM+ESdrC443Y8Ne67/Y9yCyNJtD0PYEDW17RcrRfeggM1fsk/J6vZ0bs4dPPDQ2oyhyW4pZfno7AG2nNdD2A7YPrs2ZigA== + JELLYSEERR_API_KEY: AgC0nxj7krR8L2MrlyLFoMqXybuM5c0Qtt+RJxNq38MvmYJv+3lPlYC9Dqj5gWJQ/bR8FdPjjFvsHakHqIGzWNLPDMhWqGxK+nG8kuEWgpe5BkLbVKmI8d28XsFeyU9NS8ujUNoFuciiPuA7VSh3bSHNKT7IjskLSUBSSZysc+LoUQRNWPAHhgsDOILnDbvykyDVy7ZXgWkb/l8uIq5MZw0qmohMERWkbKeyv9iz2F3Xzdm85MeqNld5rxEEcAdZAmjr5Hj/dyIO7Ry3K9y5MgCb+VOVLN2WGzY+afGef47UUm7mu5StOkgBpSt87bCF22eFJhGMMgZRLuhYb14fpT4D+s9lrEqrWoc9MJKuJtPrw+tfNsmxYBHlnx8odKvN5dk4Oj/2btVgocOCU6dzr80CVvhlY6OYwljBIkU4KiqO1k6RFj9HvLGox5MqdU7dhU/bSnust1Fwv5Ec+R0tm+ySfae0fNCrkws7SUxfCfkVDjP/Hr1+7zSjzYyYOdo2UQgle5JA50TX7njZajfbC8PezDCMyLG6KexTLKf5DumF6Xp7SUjFXZeriFMc24rWfW8+X+/dSM5Dlrg7XgX9yYp8N5i9jLbYOAAEbt3dbWf5saMSgcmNZBSnOeOfSckFyr+vWrtz252v5WobqxnBQwlLdn+5iqiCNn4qh0OC1VpARzfL6aZCNdvIcCbpiA3EzEIu2l2RSMilYi0oVzX1qKKlVvGpJ9EP1S8s/sx1IPCQ//agjRxDQ2u1hzfO3O00MxHPUa84OX0+6rVttJHP25ULeoFTpw== + NEXTCLOUD_PASSWORD: AgBC9sEPqKpbnWxHUe5eotqlrs74TFD31a9cVRXYbervTOMgaE+63Ctz/jmjc6HOYwHmatlOYAsXo0G9cgDqYw38V9Mg2cuE0qu72b7yPDqGsS82rYAVR5SotEnotusA0ZuLmbtp9k/TuCjq0e/3FBUddvL7x+XY2n4aqLM6gLSfigmdqHOYZvp51a7yeHXHl4nubycL/fcqx6EdprQGIz5NmfDh1MKnLx7YxP87ekFr1JOepZFat5r2dxnR4cM7niuWT5iuOBOBgEzgwE0bPzH9N4k7hCQ6Wdv9mMArJL258N8NcJ6stQWqHFzcoZcAkWfIzkdl4ZUlloiVnF0Jpg7dhUmz61QbJj5Ya8QJanRvnw/2CTPZShwXESy4g+qhIGaqkAJAOk4y+xPFLCwhzpnDnh2laAbWUo9n39OY5OsJfCEKmpTnWiBi+xG+ySP+DhgzIFG40JVjUWJRnW5fWPA3cYVUhy1MxebaPA0GojexPgh7CLb1rOzuLVf/DW7MQcJXeQf5Kv2BV8L4M9bC7VWvDvaABY7dOzPHe6Kl5IC4CcaxEjMDrrlAn6NLJ/Citw13dvpNplH6Y4fVGeVy2F3qFPgNCo8y8UzJapaEIrN+SoOGZQnGXszQhkWvmIK296BBLHmm9MuhqWr/SibUsmhntYgjIKnN0i9Jf+G7O82WcpXNtQeMItKEKVniC8VYgJ3UWheORuIczFCMuA== + PIHOLE_API_KEY: AgBpOuHPtz0gjHK7ExvYkXSFRPdbWVcfQOmRAiKJeQgw7n89X6uTXv6v8bYi4COqDORqx7a8ReGP8uPH0qxUirH+1zr2sRj3oRYCow8OBfGr/5f8ski0V6eHVeufl26xDCZ4xQ8/KDI5hBjlN/Dsnq0AIOXxufGLjybEJ7lw/KwzdK+NCc9uW3AL93UTwx54iHFw7JEi5ICSJkLysLsIEF4QtcCMAW+opMW8Dm6utnx3pQ1u1VDWdgCyaLgIHfgLBEcHjhjf8or1kD5eEmk8BN48b1TJ2qs19J4Dwh5jwrCG9JvoaapZkhkEEuJVKZmWdBG2xwdlNFV8oXZZCzJwap4Z/J7a8gqFNi7OL1avicAGuBNwnyZZnGeLkURAjm9VSlMuJ5KQgu0kg3A0WOpcSxTYpeaAb+IFm7H8IV6VjILUkNSB65BA6DTipeU6R2vMZBlOpIH/8sYjWeCkMzueYEQ2iyzeqDYxIrNjE2XN2XNrndxlZF2i4KKcovyzFLOLErq7M254CWlRK8YNNY8P9LVsXIuBppmzO+e30rGFqxfxnBa/i/aTq3VjtCltD5OrQU1YEz43HEdBWilVgny0CahsedyYk4zoTvLu5KLE6uxRDO+sFTnQ4f7gHIIqDMmrj+ppTu6U3jcg9BSoc4irvIp8uqzdj3FtDvBboFKXLIQNymc2kItUhxfqwXTpkVypdSgIFTF7koJ5f+6N + PIHOLE_PASSWORD: AgAMdfpQKS5R7npY9jkqh62dWVC+G1yH58qyzbEkNKEetrbQEdZ1GKDa2QUntkxgA/HbvW0XIpcHQVcNTqsmv+9nRr2iDuHg2CuR115p1vkAt4ETrcC9G9J80Zp8DyRssF7HdaGY+mpYmgUfMqcPydwOBuejvA9oy0M2Jvl1rPjhvJHe5XW68UPyPrSehvbS94gYbGHw8IC5z1u0HSy8n40/1pHz/JwBlMaVwXq2EPZ2yhBf/TWmM1+ghyvF5wGvqeXZRWybPG+Cb2p6NynPk4MT2voa4CQWIB1XEhgQ7Q0sDs+Fv9yvLjmU26Z7pawWRtUTRHtgkzchXhzTuh+uNc7j+4BJ6pWE/8Bw52TOZgpJQA/tPNyHGkDqSTokxmh0ojFyAQkbCPECrS2c8t5pRPZXgGWZGAhL7tz49ydgSN7CWszQpHOJN8tBHv7r2xRO7wegLQZoMZVX/oJu096PopG66tpfuLCoGzdzAtDxmuRQIjgUGJj35qUAIaGZU5oxNnxPAZTYBkHr9TqDa4TA6JAx9Ir49f+GHwk4Xe3CrLNBAJCQ+4K+3aydo23orwpBz+UGTJO7c/RLG88z5+7veKthS3hLlIy+UOPVjCLc89UIUxQ3ka6V9KRkpQyfKAJ53d26kArGCTthiKUPLT6yc5OxvCdZUaldOnO6AkdYIwHvaUiRDlIO+Snzq0A73mhSCF748AB3jducKUnD5A== + PROWLARR_API_KEY: AgBwL1sojHshPWbelnrpiUjt+Ud9DGslBmCK38F/zP99zbmTOb7RbTXSFME0o0oU0C4TUI32r9blxyoGJJLjwoTM4G0MBUfjYy6Tqz9L+l1wp7uet75KgKmJZbpkJ2ObSR37qC8b84EIiDSRmbTPHQCKdkCFClrX6Zn1NCqtTvwECeyFKWBsSl9KUMRUvPQvhgG6/EYM33QybDCrjRKtvJU7+UuLm6HBP+ZQhjR2qA3ieMLb5kjOdRa/lcgGaHJK7jocoKWKHb8cX77Qj3M7a0cOrtRcGQxZO/dinRYe5zNeYYPB8RdRxlX3M6m58ExDVKWt2qrjIP8zp/8oBAe86ozUn+eob3CBRAA23TJfecOg4B+0VUYO7Xex8l8LXEjUr6qO1Mo+I6a7Fji419bV5W7YrKSrDB/rQOxQuLT0yJdUlsL2RPoBsAmh5I3zyA+SfVcndf1ihX/jASa1Wwi2/bXuPrkvXg6DYpk4UVsIGGEAU5fGs3pRhOHBdlcCYYOjHJjTL2F9VyirwI3SDJqUYTy/P5H0uD5k/e80eXJ6w77u1RoZNuh2A4LQo/Bulgfd91HR7rcovty/GsYetDJCt0YXOQLxUc/3l5oY+vQ6cjUXGtiHsmo1X15GUUkHQ+zsBwyb2X15wnoNUiqFy60JWdjZgzt+WqZ1hX+k2qSckNa9b0+C5eyqz1zcUG+6XiEQ4C++HVSTFo689UzWGjWBbSokdmRwqry+dZ4L3e08s4uS7A== + PROXMOX_BACKUP_SERVER_PASSWORD: AgApTZ1rfrtZKHun+XiEgJa9OPxBGHuy6g16uUn6LFkOwEu25m6BoiaYZFQ/4D98FK36NbAgTrft+DA4hAATDGupezljx4Pw8y7yzlWb/OkFazwz7L6G/Mc11cO8cFAY3zIkzzLVxJ2nZ6r7Ng/OipTnb7ux50faFfYwPnVBPT3eJeqJXziuypzVRppb1WOHLBwXlZNsaAZRggE8yVQTdkYWsdpO9EBgc7Wjh+x5G/yyoAumu9DleEBvdOjETcW366jC6xXcyF1cQprKLYahv0nRSmsOp3SJHpGvz2zxezLbbrWNbWPciTBG0kyl5K/arPP0czttnTZRxxNDPeerBRB1eWAzJcWxsZTYMHP0cyJMoW5v9lbFmLvO0wlnHGuKA4FhPMzDin4UqPkXhUP1iv/MRrIS7OZNUWrjPlk5dqOVywRrqcYyXm6IpSPPWB+QnqmfJpxc84ryCqCJP02TxY8PkZep7FAC2l1syu5dueGNKuAsmT/jox3phEOqJN0fjAh3faI6Fpm3n0Nw+6XYd5msBiYAYRLdrPHChnE8JUyXMuBsqjHrjKpYgtgIkAgSKqCsgbcoCsAAjlSFyiU/HcjSOL0YF8Bsw3U9szkopLlaC1bAa1MzEdaLo9eKsy+tAEVV6C47gzkye5X5y+DgcwDy4sslPs269x7+13SqDTMXyRBVbEHTKO9onpiWeT1dvOs0U3hKilQ7srkmAYg2wtCApAWn3c4htyPxO7MyeRqVjbRwbSk= + PROXMOX_PASSWORD: AgAl1V/dddNnJDn3AmJlp6rrFszjNqrYTZkI2LAKLwhYYLd7EZTVPvgaN5Ha38ws7AnMAevV7XrGxSqY1hYhLbS+aYkXRTi0xuVs5+J6mBebKXmDpLqXj8Bzzf5TsJ64gSZp2klz5IfI0cKGSKxjjyiFX7JtrM5FSXUDBRyBP7XLllzQbKgL9t2KSqafjdtY/NzBmv6GimM8vFqzkyytCnFz53EtLnhhl8kukGYjhu4M5mtJAjxzFDzjCVEQxaWShDTxhhTJTZWwkYui2ES08YoXgPEMU2AmBxuHDUCdcGvn2NF4Z0VvwAvuY1LzoKUgY6HI8rYI0X/abEuVgVDk6NX/dZeLIohCIy/h6o9WE1acih+Rj7htwfnsFSQQYz3v7G8OiRnwPreO9B4ovyegk8eIYTKrIULopcsZZH5aqxy6mNBNuhHqfZEPlyHjJPEm/IFpo02U7C7PqrQWs0ucWZoGKgMcJfBmWI5sLsFDCZGmWP5Jjold4YVAUkVfZSs47wkVGCRg+ppldS8illqD0bDUQBl7epaJ9N5FLL5Csla1FB37ZARGweOswOiOshbzZAgQUGzMdMVByIXyhCWPN40CqsPZkzGdAu1X6s6EOAPGyzBZtDSMa/QodF+rLqIHp23Hzz+hGaUv88P6R6b/P8PgSYvl1M2oHaBrNnDNhK4UJPAcOhy1RoqUh/URZ9QCu2N22DH6aBcOL/Iz1sA/QhMhBFiBJjJw17i+ctGK0hoxSaNVFxc= + QBITTORRENT_PASSWORD: AgB/colwHSSf+8CoaquQ2DkdRjZU2tgHiyZgz6Vqkt2iWg3oK48372lYQxq13OH1RCC2GZyI5PrBRVt0dDtU6qcQlAQMo1gTRWDfEmQTmNJTKYD+bY0YNlHC3EuMrnLH1zgxVsuT1OWqHMEta9GR/DAwgvJVMVQzqIKDqNGkPQNspKDbvFR6XexgwHjJSaMU9Gj7vTe2rC4RutfkT2P13s4F4OOZRwJuuVoy7YF4F2s+3CbpZJSgM7TK5KT4779U9fpWg6BLl2UobguhtkIItwOKxDk3JrIqD1qSM1bBR6/3AQlKXPC4uyuqmlkZ/m2OCPPaCJq99Zo3g3ibe9LVrkJDviPY+r0U9HHwAPXuc+FdhhRMeOVGxqgBnIwbz8/cfzAPeDwiGZB50p7NwH9dmgBi41z7hmzbsOho6amGIr1CwGt5XbUPKZw8ykkNr+pNsEi4uYSN7VP6iKTFnoizW63krKynckezdWhhdbYtjyRvmm80V6X3yxUcF8GFykr9WGk/HW+SxYuj6H3ojetGvANRLPKl4Ua2xqqUyqQyaa8iFeS9yhXXT8Y1M8jmrGzww7EyyOYiBkl+K8ID1P5PNkyGCiw2FvfIZ/hUip0zPOQxK1Y8AsULXwxmQKvkuvGGDdGfff2+a9NQat0vza+ttLjyualMpM+q7oo8P4MgmJctD314yLMxAluSNb/rzT7MF7239iv+851hKj2H + RADARR_API_KEY: AgDROXICiLAcutE4uvBh3t6ZlVMLFvAC1LinWkSv6UvilXI9b9HKMK6iP9EAZUmMirlVQRIReXC1TSCpYVJWok3U9ukakreFYKyFN7ImU4Nmyw0h9cUDnKmnb4D4PdJ7Bi3aQZlB+7OTZVkhytvccUnUD1HtoRDXea7qCqRS1okqX3cn5DOYuG5kB5XUqNGRieEUIGT1QDjpiA0ZyVSRfYi1gRoRaXVj9H4oc74VVIvTUpnCHL/M/o7mGFUwUlR0HsUsQORq4V45g9Zz/qMvmGMopn7hchQxoUCkcDnbGEWvHbp1BJtTPRYWa8JEVzmaskQsVzXLYBBEuVLCBjD17QukdaBXXiqhRv4flFkyWoLlAVX/4mKqbb29jHXxn/ovMpSBlbMN2ZBMop5OZ91fhO+HOkowPqxCu0MmDTTH0NenYVPw7xrm21ZJNAIn1GVFmpbiBq4ulPmIxMS9p99+do5WSvV8ofgOT4hT2u/XkqqXSE8/S0PknnMOOEe5/nlam92RDqhiz+sfL2bgVdOoW/AAV0ae3HAA3at1UQDIgQYUCGKFVZQ7VJ3jnkSn/PetLmNuLdHgEKMlET42osdWulUwxc5ttsTDv/iT2n5So3ykdBsctjIKskuTqoL/Iy9bsFVxHE7/ctr/yHhgSsgZrBFxBhd4IyvP9QPTiVA3D1LTYJMsxniMPNYWvVxlyVzBXYrKHdeWXMnlEgXvERRLzDmK9PS9mhSiulyZCN+BJby8BA== + SABNZBD_API_KEY: AgDU0ARg9y3NK+y5m41nKYUBYuZTxjH/GWduk4B34hLr9b6yluk/59CrFVuoEdbErDCwTfBQ8fMlACta48EtIjsPCxhrN7GSVFKILUDNCk5pSyGn+qQ9YCEiFOsCL+yd29JK+AeruE+LfrOGEqwSNbP4vSNrJtQ7b6khZSlvYL/6CZOkDzPEDXZps/yvif9hcr9XuKCT0oiZgVEyLKpTKQfjCKj/wRx+AkB8rRJCiD96MQB1rrP6rxmkCJuvKDIch/kftTkPPNO7u8HrAz6UOwVPVQasORF0K/iJu8CH2hmsDGLOUkZgYN7juy3yx8802QGX9sigVVMQ9M+yX9RnCmnOJQFu0wy4FFqA5rAuhU+keeEqAazkN3O7ckB8cN0Mw2o92dJrEb1RYFXFH6/odPHwzBA4vpusxlNT72XX34epelvbtpbBrhX5MzdYoRhk6RcGUPcDk3CEexry0uv7CUdvDoaE2qoYj2E3fFiKtGaY/cuN3JWKRmAaZDUdO4hEph6Jg3XnP38mFWo8M2fITH5h4z3eXCtqh8gouqk3xTFkNgdMd6xdMjUwhbQsSoeqHqoM+L7nGpc27UgL7dSF053wbp/B9HsG2VemWAHlxIf38x9vEy8olXHyShn632NMeTpMSl39EAS9nLfwjccMxeEk9RSATT0PoPW8PeYgrYf6JBU/5t/LC81gVqoEv0WjPjKrzHQLE6hnUNLW+/MKXaUDbTmEHO6Ti1VehKwggKdffQ== + SONARR_API_KEY: AgAiDFR68d/cxlwCegjxQPvjROlAuarde5a3nG56mrwXKKPsUVe7eFCFMnEUe6LiJB7PpkambrwhArq53YXs5PStMKeJg6aBSMGqzhnFdtrqMHaQD3UkaeJ7LQIkCbFRRTMjuJ9bbGRInu2HILnY3SOQ3DLB/fdGDYIUiLw9/4vYGwj2HRN5UBk9Yul7cp480r5hzfWFGZcfdVam9U2dXgzUBagQdJOSAnR7FFtjFS08FwlEuxUTLi4tTF8rFHvRkKRmKWJflmsrAVPozPK/L2bzOqIWzRshtF7Cttjw7LDgDdX0Plh0W/LGatz6ExX8qqXYg4sUTNjXvOJ0WBGLBAMozvYohchPg58mIVnNT50+54myp8FMkItY8dLeZ789TPy+nWyJu97MiUSCrxTafiT2dAilHq65kCDHdaQOUfn89/3kpbpdkG3cTJfQDkgkTYr1q147pD4cLOgdf6rq1ZzT7yh0RAM/+oRStv+6uLcvw8XhXvgXFcm30eIQkkF0ExIht9GR2LMMbAY8Yv9HC+/x1H6hNLBXZBA9lFWUI38O8FrtyHeHB+40g0DnCC8Wbf7lecBbVaNRA/7dShMR1j3yobLv5V4kNWJoh8X6ix6Thi9LtXqBxlG+FCCwF9VetneI5iX32fsw1UEQZMwwsGSo+UwAq3OjmzqaAOb1mn8hgvkPoJGFcZLGNGSTwJNnntFptn2pa6o24gfQI/lVNr5KBlprVbs5FrslAdpCBmBcQw== + template: + metadata: + name: homepage-secrets + namespace: monitoring + type: Opaque diff --git a/clusters/ipv6/monitoring/homepage/homepage-clusterRole.yml b/clusters/ipv6/monitoring/homepage/homepage-clusterRole.yml new file mode 100644 index 0000000..e99e594 --- /dev/null +++ b/clusters/ipv6/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: monitoring diff --git a/clusters/ipv6/monitoring/homepage/homepage-config.yml b/clusters/ipv6/monitoring/homepage/homepage-config.yml new file mode 100644 index 0000000..e495437 --- /dev/null +++ b/clusters/ipv6/monitoring/homepage/homepage-config.yml @@ -0,0 +1,410 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: homepage + namespace: monitoring + labels: + app.kubernetes.io/name: homepage +data: + docker.yaml: | + "" + bookmarks.yaml: | + "" + custom.css: | + "" + custom.js: | + "" + kubernetes.yaml: | + mode: cluster + widgets.yaml: | + - kubernetes: + cluster: + show: true + cpu: true + memory: true + showLabel: true + label: "k3s-cluster" + nodes: + show: false + - longhorn: + expanded: true + total: true + labels: true + nodes: false + 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.jpg + providers: + longhorn: + url: http://longhorn-ui.longhorn-system.svc.cluster.local:8000 + 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://sonarr-service.arr-stack.svc.cluster.local: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://radarr-service.arr-stack.svc.cluster.local: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://bazarr-service.arr-stack.svc.cluster.local: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://jellyfin-service.media.svc.cluster.local: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://qbittorrent-service.arr-stack.svc.cluster.local:8080 + - Sabnzbd: + href: https://sabnzbd.${DOMAIN} + description: nzb client + icon: sabnzbd.png + namespace: arr-stack + podSelector: app=sabnzbd + app: sabnzbd + widget: + type: sabnzbd + url: http://sabnzbd-service.arr-stack.svc.cluster.local:8080 + key: "${SABNZBD_API_KEY}" + - 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://jellyseerr-service.arr-stack.svc.cluster.local: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://prowlarr-service.arr-stack.svc.cluster.local: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://speedtest-service.monitoring.svc.cluster.local:80 + - Immich: + href: https://immich.${DOMAIN} + description: photos + icon: immich.png + namespace: media + podSelector: app=immich-app + app: immich-app + widget: + type: immich + url: http://immich-service.media.svc.cluster.local: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://gitea-service.git-ops.svc.cluster.local:3000 + key: "${GITEA_API_KEY}" + fields: ["repositories", "issues", "pulls"] + - 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://192.168.1.113: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"] + - Pi-hole: + href: https://pihole.${DOMAIN}/admin + description: network adblocker + icon: pi-hole.png + namespace: tools + podSelector: app=pihole + app: pihole + widget: + type: pihole + url: http://192.168.1.212 + key: "${PIHOLE_API_KEY}" + version: 6 + - Invidious: + href: https://invidious.${DOMAIN} + description: youtube frontend + namespace: media + podSelector: app=invidious + app: invidious + icon: invidious.png + - Nextcloud: + href: https://nextcloud.${DOMAIN} + description: files + icon: nextcloud.png + namespace: tools + podSelector: app=nextcloud + app: nextcloud + - 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: tools + podSelector: app=paperless-ngx + app: paperless-ngx + - Searxng: + icon: searxng.png + description: search engine + href: https://sear.${DOMAIN} + namespace: tools + podSelector: app=searxng + app: searxng + - Pulse: + icon: pulse.png + description: Proxmox monitoring + href: https://pulse.${DOMAIN} + namespace: monitoring + podSelector: app=pulse + app: pulse + - 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/ipv6/monitoring/homepage/homepage-ingress.yml b/clusters/ipv6/monitoring/homepage/homepage-ingress.yml new file mode 100644 index 0000000..5aa539d --- /dev/null +++ b/clusters/ipv6/monitoring/homepage/homepage-ingress.yml @@ -0,0 +1,27 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: homepage-ingress + namespace: monitoring + annotations: + cert-manager.io/cluster-issuer: letsencrypt-cloudflare + traefik.ingress.kubernetes.io/router.middlewares: tools-authelia@kubernetescrd + traefik.ingress.kubernetes.io/router.entrypoints: websecure +spec: + ingressClassName: traefik + tls: + - hosts: + - home.akshun-lab.cc + secretName: homepage-tls + rules: + - host: home.akshun-lab.cc + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: homepage-service + port: + number: 3000 diff --git a/clusters/ipv6/monitoring/homepage/homepage-pvc.yml b/clusters/ipv6/monitoring/homepage/homepage-pvc.yml new file mode 100644 index 0000000..c5ea2e2 --- /dev/null +++ b/clusters/ipv6/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/ipv6/monitoring/homepage/homepage-secret.yml b/clusters/ipv6/monitoring/homepage/homepage-secret.yml new file mode 100644 index 0000000..b778f9d --- /dev/null +++ b/clusters/ipv6/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/ipv6/monitoring/homepage/homepage-svc-account.yml b/clusters/ipv6/monitoring/homepage/homepage-svc-account.yml new file mode 100644 index 0000000..1d47d21 --- /dev/null +++ b/clusters/ipv6/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/ipv6/monitoring/homepage/homepage-svc.yml b/clusters/ipv6/monitoring/homepage/homepage-svc.yml new file mode 100644 index 0000000..1cc4b42 --- /dev/null +++ b/clusters/ipv6/monitoring/homepage/homepage-svc.yml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: homepage-service + namespace: monitoring +spec: + selector: + app.kubernetes.io/name: homepage + ports: + - port: 3000 + targetPort: 3000 diff --git a/clusters/ipv6/monitoring/homepage/homepage.yml b/clusters/ipv6/monitoring/homepage/homepage.yml new file mode 100644 index 0000000..8ef0298 --- /dev/null +++ b/clusters/ipv6/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.8.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: {}