From 853b66f3426dda01e2ff3973b14b5f9937dba489 Mon Sep 17 00:00:00 2001
From: Tobias Reisinger <tobias@msrg.cc>
Date: Tue, 29 Apr 2025 18:42:50 +0200
Subject: [PATCH] Remove linkwarden service

---
 playbooks/for-ansible-lint.yml            |  1 -
 playbooks/roles/linkwarden/tasks/main.yml | 12 -------
 playbooks/roles/linkwarden/vars/main.yml  | 38 -----------------------
 scripts/visualize.py                      |  1 -
 services.auto.tfvars                      | 16 ----------
 5 files changed, 68 deletions(-)
 delete mode 100644 playbooks/roles/linkwarden/tasks/main.yml
 delete mode 100644 playbooks/roles/linkwarden/vars/main.yml

diff --git a/playbooks/for-ansible-lint.yml b/playbooks/for-ansible-lint.yml
index 1a84708..58d6fe3 100644
--- a/playbooks/for-ansible-lint.yml
+++ b/playbooks/for-ansible-lint.yml
@@ -20,7 +20,6 @@
     - influxdb
     - jellyfin
     - lego
-    - linkwarden
     - mailcowdockerized
     - minecraft_2
     - minio
diff --git a/playbooks/roles/linkwarden/tasks/main.yml b/playbooks/roles/linkwarden/tasks/main.yml
deleted file mode 100644
index 8a4ed11..0000000
--- a/playbooks/roles/linkwarden/tasks/main.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- name: Set common facts
-  ansible.builtin.import_tasks: tasks/set-default-facts.yml
-
-- name: Deploy {{ role_name }}
-  vars:
-    svc: "{{ linkwarden_svc }}"
-    env: "{{ linkwarden_env }}"
-    compose: "{{ linkwarden_compose }}"
-  block:
-    - name: Import tasks to deploy common service
-      ansible.builtin.import_tasks: tasks/deploy-common-service.yml
diff --git a/playbooks/roles/linkwarden/vars/main.yml b/playbooks/roles/linkwarden/vars/main.yml
deleted file mode 100644
index 8157572..0000000
--- a/playbooks/roles/linkwarden/vars/main.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-linkwarden_secret: "{{ vault_linkwarden.secret }}"
-
-linkwarden_db_host_port: "{{ postgres.host }}:{{ postgres.port }}"
-linkwarden_db_user: "{{ opentofu.postgresql_data.linkwarden.user }}"
-linkwarden_db_pass: "{{ opentofu.postgresql_data.linkwarden.pass }}"
-linkwarden_db_database: "{{ opentofu.postgresql_data.linkwarden.database }}"
-
-linkwarden_s3_accesskey: "{{ opentofu.scaleway_data.linkwarden.access_key }}"
-linkwarden_s3_secretkey: "{{ opentofu.scaleway_data.linkwarden.secret_key }}"
-
-linkwarden_svc:
-  domain: "{{ all_services | service_get_domain(role_name) }}"
-  port: 3000
-
-linkwarden_env:
-  NEXTAUTH_SECRET: "{{ linkwarden_secret }}"
-  NEXTAUTH_URL: https://bookmarks.serguzim.me/api/v1/auth
-  DATABASE_URL: postgres://{{ linkwarden_db_user }}:{{ linkwarden_db_pass }}@{{ linkwarden_db_host_port }}/{{ linkwarden_db_database }}
-
-  SPACES_KEY: "{{ linkwarden_s3_accesskey }}"
-  SPACES_SECRET: "{{ linkwarden_s3_secretkey }}"
-  SPACES_ENDPOINT: "{{ opentofu.scaleway_data.linkwarden.api_endpoint }}"
-  SPACES_BUCKET_NAME: "{{ opentofu.scaleway_data.linkwarden.name }}"
-  SPACES_REGION: "{{ opentofu.scaleway_data.linkwarden.region }}"
-  SPACES_FORCE_PATH_STYLE: false
-
-  NEXT_PUBLIC_DISABLE_REGISTRATION: true
-  NEXT_PUBLIC_CREDENTIALS_ENABLED: false
-  NEXT_PUBLIC_AUTHENTIK_ENABLED: true
-  AUTHENTIK_CUSTOM_NAME: auth.serguzim.me
-  AUTHENTIK_ISSUER: "{{ opentofu.authentik_data.linkwarden.base_url }}"
-  AUTHENTIK_CLIENT_ID: "{{ opentofu.authentik_data.linkwarden.client_id }}"
-  AUTHENTIK_CLIENT_SECRET: "{{ opentofu.authentik_data.linkwarden.client_secret }}"
-
-linkwarden_compose:
-  watchtower: update
-  image: ghcr.io/linkwarden/linkwarden:latest
diff --git a/scripts/visualize.py b/scripts/visualize.py
index 934594d..d288d15 100755
--- a/scripts/visualize.py
+++ b/scripts/visualize.py
@@ -25,7 +25,6 @@ icon_overrides = {
 
 icon_format = {
     "restic": "webp",
-    "linkwarden": "webp",
     "telegraf": "webp",
     "tiny-tiny-rss": "webp",
 }
diff --git a/services.auto.tfvars b/services.auto.tfvars
index 0ea62d7..43f65f2 100644
--- a/services.auto.tfvars
+++ b/services.auto.tfvars
@@ -348,22 +348,6 @@ services = {
     s3 = false
   },
 
-  "linkwarden" = {
-    host = "node001"
-    dns = [{
-      domain = "bookmarks.serguzim.me"
-    }]
-    monitoring = {
-      url = "/api/v1/logins"
-      group = "3-services"
-    }
-    auth = true
-    auth_cert = "rsa"
-    auth_redirects = ["https://bookmarks.serguzim.me/api/v1/auth/callback/authentik"]
-    database = true
-    s3 = true
-  },
-
   mailcowdockerized = {
     host = "node003"
     dns = [{