From e83d134ec71b0945fb3c5ae51e8a3798a694a62b Mon Sep 17 00:00:00 2001
From: Tobias Reisinger <tobias@msrg.cc>
Date: Sun, 21 Jan 2024 00:33:04 +0100
Subject: [PATCH] Remove gethomepage (dashboard)

---
 filter_plugins/tailscale_to_dashboard.py |  24 -----
 node002.yml                              |   2 -
 roles/gethomepage/tasks/main.yml         |  69 -------------
 roles/gethomepage/vars/main.yml          | 117 -----------------------
 4 files changed, 212 deletions(-)
 delete mode 100644 filter_plugins/tailscale_to_dashboard.py
 delete mode 100644 roles/gethomepage/tasks/main.yml
 delete mode 100644 roles/gethomepage/vars/main.yml

diff --git a/filter_plugins/tailscale_to_dashboard.py b/filter_plugins/tailscale_to_dashboard.py
deleted file mode 100644
index c398d68..0000000
--- a/filter_plugins/tailscale_to_dashboard.py
+++ /dev/null
@@ -1,24 +0,0 @@
-class FilterModule(object):
-    def filters(self):
-        return {
-            'tailscale_to_dashboard': self.tailscale_to_dashboard,
-        }
-
-    def tailscale_to_dashboard(self, tailscale):
-        ts_key = tailscale["key"]
-        machines = tailscale["machines"]
-
-        result = []
-        for (key, props) in machines.items():
-            result.append({
-                key: {
-                    "href": "https://login.tailscale.com/admin/machines/" + props["ip"],
-                    "widget": {
-                        "type": "tailscale",
-                        "deviceid": props["id"],
-                        "key": ts_key
-                        }
-                    }
-                })
-
-        return result
diff --git a/node002.yml b/node002.yml
index f218d5a..a3234ab 100644
--- a/node002.yml
+++ b/node002.yml
@@ -29,8 +29,6 @@
       tags: [forgejo, git, development]
     - role: forgejo_runner
       tags: [forgejo-runner, ci, development]
-    - role: gethomepage
-      tags: [gethomepage, dashboard]
     - role: harbor
       tags: [harbor, registry, development]
     - role: healthcheck
diff --git a/roles/gethomepage/tasks/main.yml b/roles/gethomepage/tasks/main.yml
deleted file mode 100644
index 0ea2756..0000000
--- a/roles/gethomepage/tasks/main.yml
+++ /dev/null
@@ -1,69 +0,0 @@
----
-- name: Set common facts
-  ansible.builtin.import_tasks: tasks/set-default-facts.yml
-
-- name: Deploy {{ svc.name }}
-  vars:
-    svc: "{{ gethomepage_svc }}"
-    compose: "{{ gethomepage_compose }}"
-  block:
-    - name: Import prepare tasks for common service
-      ansible.builtin.import_tasks: tasks/prepare-common-service.yml
-
-    - name: Set config path
-      ansible.builtin.set_fact:
-        config_path: "{{ (service_path, 'config') | path_join }}"
-
-    - name: Create config directory
-      ansible.builtin.file:
-        path: "{{ config_path }}"
-        state: directory
-        mode: "0755"
-
-    - name: Template settings
-      ansible.builtin.template:
-        src: yml.j2
-        dest: "{{ (config_path, 'settings.yaml') | path_join }}"
-        mode: "0644"
-      vars:
-        yml: "{{ gethomepage_settings_yml }}"
-      register: cmd_result_settings
-
-    - name: Template services
-      ansible.builtin.template:
-        src: yml.j2
-        dest: "{{ (config_path, 'services.yaml') | path_join }}"
-        mode: "0644"
-      vars:
-        yml: "{{ gethomepage_services_yml }}"
-      register: cmd_result_services
-
-    - name: Template booksmarks
-      ansible.builtin.template:
-        src: yml.j2
-        dest: "{{ (config_path, 'booksmarks.yaml') | path_join }}"
-        mode: "0644"
-      vars:
-        yml: "{{ gethomepage_bookmarks_yml }}"
-      register: cmd_result_booksmarks
-
-    - name: Template widgets
-      ansible.builtin.template:
-        src: yml.j2
-        dest: "{{ (config_path, 'widgets.yaml') | path_join }}"
-        mode: "0644"
-      vars:
-        yml: "{{ gethomepage_widgets_yml }}"
-      register: cmd_result_widgets
-
-    - name: Set the docker force-recreate flag
-      ansible.builtin.set_fact:
-        docker_force_recreate: --force-recreate
-      when: | # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
-        cmd_result_settings.changed
-        or cmd_result_services.changed
-        or cmd_result_booksmarks.changed
-        or cmd_result_widgets.changed
-
-    - name: Import start tasks for common service
-      ansible.builtin.import_tasks: tasks/start-common-service.yml
diff --git a/roles/gethomepage/vars/main.yml b/roles/gethomepage/vars/main.yml
deleted file mode 100644
index ced8481..0000000
--- a/roles/gethomepage/vars/main.yml
+++ /dev/null
@@ -1,117 +0,0 @@
----
-gethomepage_svc:
-  domain: dashboard.serguzim.me
-  name: gethomepage
-  port: 3000
-  caddy_extra: import auth_serguzim_me
-
-gethomepage_settings_yml:
-  title: serguzim.net Dashboard
-  startUrl: https://{{ gethomepage_svc.domain }}
-
-  useEqualHeights: true
-
-  layout:
-    - Infrastructure:
-        style: row
-        columns: 4
-    - Services:
-        style: row
-        columns: 4
-    - External:
-        style: row
-        columns: 4
-    - VPN:
-        style: row
-        columns: 4
-
-gethomepage_services_yml:
-  - Infrastructure:
-      - reverse-proxy@node002.serguzim.net:
-          widget:
-            type: caddy
-            url: http://node002.vpn.serguzim.net:2019
-      - faas.serguzim.me:
-          href: https://faas.serguzim.me
-      - s3.serguzim.me:
-          href: https://s3.serguzim.me
-  - Services:
-      - analytics.serguzim.me:
-          href: https://analytics.serguzim.me
-      - auth.serguzim.me:
-          href: https://auth.serguzim.me
-          widget:
-            type: authentik
-            url: https://auth.serguzim.me
-            key: "{{ vault_gethomepage.authentik.key }}"
-      - coder.serguzim.me:
-          href: https://coder.serguzim.me
-      - gallery.serguzim.me:
-          href: https://gallery.serguzim.me
-      - git.serguzim.me:
-          href: https://git.serguzim.me
-      - inventory.serguzim.me:
-          href: https://inventory.serguzim.me
-      - mail.serguzim.me:
-          href: https://mail.serguzim.me
-      - media.serguzim.me:
-          href: https://media.serguzim.me
-      - push.serguzim.me:
-          href: https://push.serguzim.me
-      - recipes.serguzim.me:
-          href: https://recipes.serguzim.me
-      - registry.serguzim.me:
-          href: https://registry.serguzim.me
-      - rss.serguzim.me:
-          href: https://rss.serguzim.me
-      - status.serguzim.me:
-          href: https://status.serguzim.me
-          widget:
-            type: uptimekuma
-            url: https://status.serguzim.me
-            slug: serguzim-net
-      - tick.serguzim.me:
-          href: https://tick.serguzim.me
-      - todo.serguzim.me:
-          href: https://todo.serguzim.me
-      - wiki.serguzim.me:
-          href: https://wiki.serguzim.me
-  - External:
-      - Nextdns:
-          href: https://my.nextdns.io
-          widget:
-            type: nextdns
-            profile: "{{ vault_gethomepage.nextdns.profile }}"
-            key: "{{ vault_gethomepage.nextdns.key }}"
-  - VPN: "{{ vault_tailscale | tailscale_to_dashboard }}"
-
-gethomepage_bookmarks_yml:
-  - Developer:
-      - Github:
-          - abbr: GH
-            href: https://github.com/
-  - Social:
-      - Reddit:
-          - abbr: RE
-            href: https://reddit.com/
-  - Entertainment:
-      - YouTube:
-          - abbr: YT
-            href: https://youtube.com/
-
-gethomepage_widgets_yml:
-  - resources:
-      cpu: true
-      memory: true
-      disk: /
-
-  - search:
-      provider: duckduckgo
-      target: _blank
-
-gethomepage_compose:
-  watchtower: true
-  image: ghcr.io/gethomepage/homepage
-  volumes:
-    - /var/run/docker.sock:/var/run/docker.sock
-    - ./config:/app/config/