# nocheck: file-size: curated edge data table; one obvious home for the # matrix's source-of-truth lists, splitting it only adds indirection. """Data tables for the role×role integration matrix generator. Kept as a sibling importable module so the generator entrypoint stays small and the curated edge data has one obvious home. The generator reads: * ``WEB_APP`` / ``WEB_SVC``: the entity-name axes (role suffix of every ``web-app-*`` / ``web-svc-*`` role); * ``FRAMEWORK``: top-level ``meta/services.yml`` integration keys mapped to the in-axis target entity they wire the role into (the infinito-native, group-gated service flags), distinct from the curated upstream edges; * ``EDGES``: the curated, web-verified upstream app↔app plugin/integration pages, each ``(source, target, url, kind)`` with ``kind`` in ``{"check", "coin"}``. """ from __future__ import annotations FRAMEWORK: dict[str, str] = { "sso": "keycloak", "matomo": "matomo", "prometheus": "prometheus", "email": "mailu", "dashboard": "dashboard", "css": "css", "logout": "logout", "cdn": "cdn", "coturn": "coturn", "collabora": "collabora", "onlyoffice": "onlyoffice", "libretranslate": "libretranslate", } WEB_APP: list[str] = [ "akaunting", "baserow", "bigbluebutton", "bluesky", "bookwyrm", "bridgy-fed", "chess", "confluence", "dashboard", "decidim", "discourse", "erpnext", "espocrm", "fediwall", "fider", "flowise", "friendica", "funkwhale", "fusiondirectory", "gitea", "gitlab", "hugo", "jenkins", "jira", "jitsi", "joomla", "keycloak", "kix", "lam", "listmonk", "littlejs", "magento", "mailu", "mastodon", "matomo", "matrix", "mattermost", "mediawiki", "mig", "minio", "mini-qr", "mobilizon", "moodle", "navigator", "nextcloud", "odoo", "opencloud", "openproject", "opentalk", "openwebui", "peertube", "pgadmin", "phpldapadmin", "phpmyadmin", "pixelfed", "postmarks", "pretix", "prometheus", "roulette-wheel", "shopware", "snipe-it", "socialhome", "sphinx", "suitecrm", "taiga", "wordpress", "xwiki", "yourls", "zammad", ] WEB_SVC: list[str] = [ "asset", "cdn", "collabora", "coturn", "css", "file", "html", "legal", "libretranslate", "logout", "onlyoffice", "simpleicons", "xmpp", ] ENTITIES: list[str] = WEB_APP + WEB_SVC EDGES: list[tuple[str, str, str, str]] = [ ( "nextcloud", "openproject", "https://github.com/nextcloud/integration_openproject", "check", ), ("nextcloud", "gitlab", "https://github.com/nextcloud/integration_gitlab", "check"), ( "nextcloud", "discourse", "https://github.com/nextcloud/integration_discourse", "check", ), ( "nextcloud", "mattermost", "https://github.com/nextcloud/integration_mattermost", "check", ), ("nextcloud", "matrix", "https://github.com/nextcloud/integration_matrix", "check"), ("nextcloud", "jira", "https://github.com/nextcloud/integration_jira", "check"), ("nextcloud", "zammad", "https://github.com/nextcloud/integration_zammad", "check"), ( "nextcloud", "openwebui", "https://github.com/nextcloud/integration_openai", "check", ), ( "nextcloud", "flowise", "https://github.com/nextcloud/integration_openai", "check", ), ( "nextcloud", "mastodon", "https://github.com/nextcloud/integration_mastodon", "check", ), ( "nextcloud", "peertube", "https://github.com/nextcloud/integration_peertube", "check", ), ("nextcloud", "moodle", "https://github.com/nextcloud/integration_moodle", "check"), ( "nextcloud", "suitecrm", "https://github.com/eneiluj/integration_suitecrm", "check", ), ("nextcloud", "bigbluebutton", "https://apps.nextcloud.com/apps/bbb", "check"), ("nextcloud", "xwiki", "https://apps.nextcloud.com/apps/xwiki", "check"), ("nextcloud", "collabora", "https://github.com/nextcloud/richdocuments", "check"), ( "nextcloud", "onlyoffice", "https://github.com/ONLYOFFICE/onlyoffice-nextcloud", "check", ), ("nextcloud", "keycloak", "https://github.com/nextcloud/user_oidc", "check"), ("nextcloud", "matomo", "https://apps.nextcloud.com/apps/matomo", "check"), ( "mattermost", "gitlab", "https://github.com/mattermost/mattermost-plugin-gitlab", "check", ), ( "mattermost", "jira", "https://github.com/mattermost/mattermost-plugin-jira", "check", ), ( "mattermost", "jenkins", "https://github.com/mattermost/mattermost-plugin-jenkins", "check", ), ( "mattermost", "jitsi", "https://github.com/mattermost-community/mattermost-plugin-jitsi", "check", ), ( "mattermost", "openwebui", "https://github.com/mattermost/mattermost-plugin-agents", "check", ), ( "mattermost", "prometheus", "https://github.com/cpanato/mattermost-plugin-alertmanager", "check", ), ( "mattermost", "keycloak", "https://docs.mattermost.com/administration-guide/onboard/sso-saml.html", "coin", ), ( "gitlab", "mattermost", "https://docs.gitlab.com/user/project/integrations/mattermost_notifications/", "check", ), ("gitlab", "jira", "https://docs.gitlab.com/integration/jira/", "check"), ("gitlab", "jenkins", "https://docs.gitlab.com/integration/jenkins/", "check"), ( "gitlab", "matrix", "https://docs.gitlab.com/user/project/integrations/matrix/", "check", ), ( "gitlab", "confluence", "https://docs.gitlab.com/user/project/integrations/confluence/", "check", ), ("gitlab", "keycloak", "https://docs.gitlab.com/integration/saml/", "check"), ( "discourse", "mattermost", "https://github.com/discourse/discourse-chat-integration", "check", ), ( "discourse", "matrix", "https://github.com/discourse/discourse-chat-integration", "check", ), ( "discourse", "prometheus", "https://github.com/discourse/discourse-prometheus", "check", ), ( "discourse", "bigbluebutton", "https://github.com/discourse/discourse-bbb", "check", ), ("discourse", "jitsi", "https://github.com/discourse/discourse-jitsi", "check"), ("discourse", "openwebui", "https://github.com/discourse/discourse-ai", "check"), ( "discourse", "matomo", "https://github.com/discourse/discourse-matomo-analytics", "check", ), ( "discourse", "keycloak", "https://github.com/discourse/discourse-openid-connect", "check", ), ( "discourse", "mastodon", "https://github.com/discourse/discourse-activity-pub", "check", ), ("matrix", "gitlab", "https://github.com/matrix-org/matrix-hookshot", "check"), ("matrix", "jira", "https://github.com/matrix-org/matrix-hookshot", "check"), ( "matrix", "keycloak", "https://matrix-org.github.io/synapse/latest/openid.html", "check", ), ( "matrix", "prometheus", "https://matrix-org.github.io/synapse/latest/metrics-howto.html", "check", ), ( "matrix", "jitsi", "https://github.com/element-hq/element-web/blob/develop/docs/jitsi.md", "check", ), ( "moodle", "bigbluebutton", "https://moodle.org/plugins/mod_bigbluebuttonbn", "check", ), ("moodle", "nextcloud", "https://moodle.org/plugins/repository_owncloud", "check"), ("moodle", "matrix", "https://docs.moodle.org/en/Matrix", "check"), ("moodle", "keycloak", "https://moodle.org/plugins/auth_oidc", "check"), ("moodle", "jitsi", "https://moodle.org/plugins/mod_jitsi", "check"), ("moodle", "matomo", "https://moodle.org/plugins/tool_webanalytics", "check"), ("moodle", "openwebui", "https://moodle.org/plugins/aiprovider_openwebui", "check"), ("jenkins", "gitlab", "https://plugins.jenkins.io/gitlab-plugin", "check"), ("jenkins", "gitea", "https://plugins.jenkins.io/gitea/", "check"), ("jenkins", "mattermost", "https://plugins.jenkins.io/mattermost/", "check"), ("jenkins", "prometheus", "https://plugins.jenkins.io/prometheus", "check"), ("jenkins", "keycloak", "https://plugins.jenkins.io/oic-auth/", "check"), ( "openproject", "nextcloud", "https://www.openproject.org/docs/system-admin-guide/integrations/nextcloud/", "check", ), ( "openproject", "gitlab", "https://www.openproject.org/docs/system-admin-guide/integrations/gitlab-integration/", "check", ), ( "openproject", "keycloak", "https://www.openproject.org/docs/system-admin-guide/authentication/openid-providers/", "coin", ), ("wordpress", "matomo", "https://wordpress.org/plugins/matomo/", "check"), ("wordpress", "mastodon", "https://wordpress.org/plugins/activitypub/", "check"), ("wordpress", "discourse", "https://wordpress.org/plugins/wp-discourse/", "check"), ( "wordpress", "keycloak", "https://wordpress.org/plugins/daggerhart-openid-connect-generic/", "check", ), ( "wordpress", "listmonk", "https://wordpress.org/plugins/integration-for-listmonk-mailing-list-and-newsletter-manager/", "check", ), ( "wordpress", "bigbluebutton", "https://wordpress.org/plugins/video-conferencing-with-bbb/", "check", ), ( "wordpress", "peertube", "https://wordpress.org/plugins/video-manager-for-peertube/", "check", ), ( "mediawiki", "keycloak", "https://www.mediawiki.org/wiki/Extension:OpenID_Connect", "check", ), ("mediawiki", "matomo", "https://www.mediawiki.org/wiki/Extension:Matomo", "check"), ( "mediawiki", "discourse", "https://www.mediawiki.org/wiki/Extension:DiscourseSsoConsumer", "check", ), ( "mediawiki", "peertube", "https://www.mediawiki.org/wiki/Extension:PeerTubeEmbed", "check", ), ( "mediawiki", "libretranslate", "https://www.mediawiki.org/wiki/Extension:MachineTranslation", "check", ), ("mediawiki", "minio", "https://www.mediawiki.org/wiki/Extension:AWS", "check"), ( "mediawiki", "openwebui", "https://www.mediawiki.org/wiki/Extension:AIEditingAssistant", "check", ), ( "xwiki", "keycloak", "https://extensions.xwiki.org/xwiki/bin/view/Extension/OpenID%20Connect/", "check", ), ( "xwiki", "matomo", "https://extensions.xwiki.org/xwiki/bin/view/Extension/Piwiki%20Integration", "check", ), ( "joomla", "keycloak", "../../roles/web-app-joomla/files/joomla-oidc-plugin/", "check", ), ( "joomla", "matomo", "https://extensions.joomla.org/extension/itcs-matomo/", "check", ), ("friendica", "matomo", "https://github.com/friendica/friendica-addons", "check"), ( "pretix", "keycloak", "https://docs.pretix.eu/en/latest/admin/installation/index.html", "check", ), ( "peertube", "keycloak", "https://www.npmjs.com/package/peertube-plugin-auth-openid-connect", "check", ), ( "bigbluebutton", "keycloak", "https://docs.bigbluebutton.org/greenlight/v3/external-authentication/", "check", ), ( "zammad", "keycloak", "https://admin-docs.zammad.org/en/latest/settings/security/third-party/saml.html", "check", ), ( "zammad", "mailu", "https://admin-docs.zammad.org/en/latest/channels/email/index.html", "check", ), ("espocrm", "keycloak", "https://docs.espocrm.com/administration/oidc/", "check"), ( "espocrm", "mailu", "https://docs.espocrm.com/user-guide/imap-smtp-configuration/", "check", ), ( "suitecrm", "keycloak", "https://docs.suitecrm.com/8.x/admin/configuration/saml/8.7.0-saml-configuration/", "check", ), ( "suitecrm", "mailu", "https://github.com/SuiteCRM/SuiteCRM", "check", ), ( "odoo", "keycloak", "https://github.com/OCA/server-auth/tree/16.0/auth_oidc", "check", ), ( "odoo", "mailu", "https://www.odoo.com/documentation/latest/applications/general/email_communication.html", "check", ), ( "odoo", "nextcloud", "https://apps.odoo.com/apps/modules/19.0/nextcloud_odoo_integration", "coin", ), ( "erpnext", "keycloak", "https://docs.frappe.io/framework/user/en/guides/integration/openid_connect_and_frappe_social_login", "check", ), ( "erpnext", "mailu", "https://docs.frappe.io/erpnext/user/manual/en/setting-up-email-account", "check", ), ( "baserow", "keycloak", "https://baserow.io/user-docs/configure-openid-connect-for-oauth-2-sso", "coin", ), ( "taiga", "keycloak", "https://github.com/taigaio/taiga-contrib-oidc-auth", "check", ), ]