Commit 281dd451251b

Vincent Demeester <vincent@sbr.pm>
2026-03-31 17:03:14
feat(gmailctl): add missing email filters
Added filters for mailing lists, external newsletters, calendar cancelations, and Google Meet notes that were landing unfiltered in the Inbox.
1 parent 6aec3fc
Changed files (1)
systems
systems/kyushu/config.jsonnet
@@ -157,13 +157,19 @@ local google_groups(name, label = '', archive = true) =
     google_groups('tekton-dev', '00-tekton/dev', false) +
     google_groups('tekton-users', '00-tekton/users', false) +
     google_groups('tekton-governance', '00-tekton/governance', false) +
-    google_groups('tekton-vmt', '00-tekton/vmt', false) +
+    google_groups('tekton-vmt', '00-tekton/vmt', false) +  // Security: always keep in inbox
     google_groups('tekton-code-of-conduct', '00-tekton', false) +
     rh_mailing_list('engineering-advocate', 'engineering-advocate') +
     rh_mailing_list('engineering-advocate-nomination', 'engineering-advocate') +
     google_groups('kubernetes-sig-cli', 'kubernetes/sig/cli') +
     google_groups('operator-framework', 'operator/dev') +
     google_groups('google-summer-of-code-mentors-list', 'gsoc/mentors') +
+    // New mailing lists (2026-03)
+    rh_mailing_list('team-pipelines-product', '00-pipelines/product') +
+    rh_mailing_list('atlassian-migration-jira-group', 'announce') +
+    rh_mailing_list('global-engineering-all', 'announce') +
+    rh_mailing_list('cloudnativespeakers', 'area/conference') +
+    google_groups('wg-batch', 'kubernetes/batch', true) +
     rh_mailing_list('cpaas-ops', '_tracker/cpaas') +
     label_archive({from: 'do-not-reply@trello.com'}, '_tracker/trello') +
     label_archive({from: 'help-ops@redhat.com'}, '_tracker/rh_service_now') +
@@ -181,6 +187,8 @@ local google_groups(name, label = '', archive = true) =
     #label_archive({from: 'cvp-ops@redhat.com'}, '_build/cvp') +
     label_archive({from: 'buildsys@redhat.com'}, '_build/buildsys') +
     label_archive({from: 'meet-recordings-noreply@google.com'}, '_recordings') +
+    // Meet notes & calendar noise (2026-03)
+    label_archive({from: 'gemini-notes@google.com'}, 'Notes') +
     rh_mailing_list('bugzilla', '_tracker/bz') +
   [
     {
@@ -254,6 +262,30 @@ local google_groups(name, label = '', archive = true) =
         ]
       }
     },
+    // Calendar cancelations — archive (2026-03)
+    {
+      filter: {
+        subject: "Canceled event"
+      },
+      actions: {
+        archive: true,
+        markRead: true,
+      }
+    },
+    // External newsletters — archive (2026-03)
+    {
+      filter: {
+        or: [
+          { from: "team@mail.cursor.com" },
+          { from: "info@newsletters.hellocse.fr" },
+          { from: "innovation@team.outsystems.com" },
+        ]
+      },
+      actions: {
+        archive: true,
+        markRead: true,
+      }
+    },
   ],
   labels: [
     {
@@ -352,13 +384,7 @@ local google_groups(name, label = '', archive = true) =
     {
       name: "area/meetup"
     },
-    {
-      name: "area/conference",
-      color: {
-        background: "#e3d7ff",
-        text: "#3d188e"
-      }
-    },
+    // area/conference now managed by rulesLabels (cloudnativespeakers filter)
     {
       name: "area/travel",
       color: {
@@ -366,6 +392,5 @@ local google_groups(name, label = '', archive = true) =
         text: "#594c05"
       }
     },
-    { name: "Notes" },
   ] + lib.rulesLabels(self.rules),
 }