Docusaurus 3.8 prep integrations (#15483)

* website: Port gitignore.

* website: Flesh out Integrations clean up.
This commit is contained in:
Teffen Ellis
2025-07-09 22:41:11 +02:00
committed by GitHub
parent d8a3098329
commit 0ec5ea69ef
220 changed files with 913 additions and 885 deletions
+9
View File
@@ -0,0 +1,9 @@
[production]
> 0.2%
not dead
not op_mini all
[development]
last 1 chrome version
last 1 firefox version
last 1 safari version
+8 -3
View File
@@ -2,6 +2,8 @@
/node_modules /node_modules
# Production # Production
/api/build
/integrations/build
/build /build
/out /out
/help /help
@@ -9,6 +11,7 @@
# Generated files # Generated files
.docusaurus .docusaurus
.cache-loader .cache-loader
cache-output.json
# Misc # Misc
.DS_Store .DS_Store
@@ -24,7 +27,9 @@ npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*
static/docker-compose.yml **/static/docker-compose.yml
static/schema.yml **/static/schema.yml
static/releases.gen.json **/static/releases.gen.json
docs/developer-docs/api/reference/** docs/developer-docs/api/reference/**
api/reference
!integrations/**/media
@@ -44,7 +44,7 @@ When adding the Google Workspace provider in authentik, you must define the **Ba
1. Log in as an admin to authentik, and go to the Admin interface. 1. Log in as an admin to authentik, and go to the Admin interface.
2. In the Admin interface, navigate to **Applications -> Applications**. 2. In the Admin interface, navigate to **Applications -> Applications**.
:::info :::info
If you have also configured Google Workspace to log in using authentik following [these](https://docs.goauthentik.io/integrations/services/google/index), then this configuration can be done on the same app by adding this new provider as a backchannel provider on the existing app instead of creating a new app. If you have also configured Google Workspace to log in using authentik following this [ integration guide](/integrations/cloud-providers/google), then this configuration can be done on the same app by adding this new provider as a backchannel provider on the existing app instead of creating a new app.
::: :::
3. Click **Create**, and in the **New provider** box, and define the following fields: 3. Click **Create**, and in the **New provider** box, and define the following fields:
- **Slug**: enter the name of the app as you want it to appear in the URL. - **Slug**: enter the name of the app as you want it to appear in the URL.
+4 -1
View File
@@ -5,8 +5,11 @@
* @import * as OpenApiPlugin from "docusaurus-plugin-openapi-docs"; * @import * as OpenApiPlugin from "docusaurus-plugin-openapi-docs";
* @import { BuildUrlValues } from "remark-github"; * @import { BuildUrlValues } from "remark-github";
*/ */
import { createDocusaurusConfig } from "@goauthentik/docusaurus-config";
import { createRequire } from "node:module"; import { createRequire } from "node:module";
import { createDocusaurusConfig } from "@goauthentik/docusaurus-config";
import remarkDirective from "remark-directive"; import remarkDirective from "remark-directive";
import remarkGithub, { defaultBuildUrl } from "remark-github"; import remarkGithub, { defaultBuildUrl } from "remark-github";
+1 -1
View File
@@ -1,4 +1,4 @@
import { DefaultIgnorePatterns, createESLintPackageConfig } from "@goauthentik/eslint-config"; import { createESLintPackageConfig, DefaultIgnorePatterns } from "@goauthentik/eslint-config";
// @ts-check // @ts-check
@@ -1,10 +1,10 @@
--- ---
title: Integrate with Applications title: Integrate with Applications
sidebar_label: Applications sidebar_label: Applications
sidebar_position: 2
--- ---
import SupportBadge from "@site/src/components/SupportBadge"; import SupportBadge from "../src/components/SupportBadge";
import DocCardList from "@theme/DocCardList";
# Applications # Applications
@@ -28,9 +28,3 @@ To add documentation for a new application (with support level Community or Vend
```shell ```shell
wget https://raw.githubusercontent.com/goauthentik/authentik/main/website/integrations/template/service.md wget https://raw.githubusercontent.com/goauthentik/authentik/main/website/integrations/template/service.md
``` ```
Don't forget to edit the `website/sidebars/integrations.mjs` file to add your new integration to the appropriate section in the lefthand navigation pane.
## Integration categories
<DocCardList />
+19
View File
@@ -0,0 +1,19 @@
/**
* @type {ReadonlyArray<readonly [string, string]>}
*/
export default [
["chat-communication-collaboration", "Chat, Communication & Collaboration"],
["device-management", "Device Management"],
["cloud-providers", "Cloud Providers"],
["dashboards", "Dashboards"],
["development", "Development"],
["documentation", "Documentation"],
["hypervisors-orchestrators", "Hypervisors / Orchestrators"],
["infrastructure", "Infrastructure"],
["networking", "Networking"],
["media", "Media"],
["miscellaneous", "Miscellaneous"],
["monitoring", "Monitoring"],
["platforms", "Platforms"],
["security", "Security"],
];

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

@@ -19,7 +19,7 @@ The following placeholders are used in this guide:
This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application. This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application.
::: :::
For additional information about integrating with Slack, refer to their [documentation](https://slack.com/help/articles/205168057-Custom-SAML-single-sign-on). For additional information about integrating with Slack, refer to their [documentation](https://slack.com/help/docs/205168057-Custom-SAML-single-sign-on).
## authentik configuration ## authentik configuration

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

@@ -11,7 +11,7 @@ support_level: community
> -- https://writefreely.org/ > -- https://writefreely.org/
:::caution :::caution
Currently it is not possible to connect writefreely to authentik without making an adjustment in the database. See [here](https://github.com/writefreely/writefreely/issues/516) and [Writefreely Setup](https://goauthentik.io/integrations/services/writefreely/#writefreely-setup) Currently it is not possible to connect Writefreely to authentik without making an adjustment in the database. See [here](https://github.com/writefreely/writefreely/issues/516) and [Writefreely Setup](../writefreely/index.md#writefreely-setup)
::: :::
## Preparation ## Preparation
+11
View File
@@ -0,0 +1,11 @@
.theme-doc-sidebar-item-link.theme-doc-sidebar-item-link-level-1.menu__list-item,
.theme-doc-sidebar-item-category-level-1 .menu__list-item-collapsible {
font-weight: 600;
}
.theme-doc-sidebar-item-category-level-1 .menu__list-item-collapsible {
border-top: 0.5px solid;
border-top-color: var(--ifm-category-color, var(--ifm-menu-color-background-active));
border-radius: 0;
padding-block: 0.25em;
}
@@ -10,7 +10,7 @@ support_level: community
> >
> -- https://github.com/causefx/Organizr > -- https://github.com/causefx/Organizr
This integration leverages authentik's LDAP for the identity provider to achieve an SSO experience. See [ldap provider generic setup](https://docs.goauthentik.io/add-secure-apps/providers/ldap/generic_setup) for setting up the LDAP provider. This integration leverages authentik's LDAP for the identity provider to achieve an SSO experience. See [ldap provider generic setup](https://docs.goauthentik.io/docs/add-secure-apps/providers/ldap/generic_setup) for setting up the LDAP provider.
## Preparation ## Preparation

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 242 KiB

After

Width:  |  Height:  |  Size: 242 KiB

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Before

Width:  |  Height:  |  Size: 544 KiB

After

Width:  |  Height:  |  Size: 544 KiB

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Before

Width:  |  Height:  |  Size: 187 KiB

After

Width:  |  Height:  |  Size: 187 KiB

@@ -1,12 +1 @@
/**
* @file CommonJS Docusaurus config adapter.
*
* This exists to allow an ESM Docusaurus configuration to be imported in a CommonJS.
*
* @import Config from "./docusaurus.config.esm.mjs"
*/
/**
* @see {@linkcode Config} for the Docusaurus configuration type.
*/
module.exports = import("./docusaurus.config.esm.mjs").then(($) => $.default); module.exports = import("./docusaurus.config.esm.mjs").then(($) => $.default);
+85 -45
View File
@@ -1,11 +1,19 @@
/** /**
* @file Docusaurus config. * @file Docusaurus config.
* *
* @import * as Preset from "@docusaurus/preset-classic";
* @import { BuildUrlValues } from "remark-github"; * @import { BuildUrlValues } from "remark-github";
* @import { Options as DocsPluginOptions } from "@docusaurus/plugin-content-docs";
* @import { Options as RedirectsPluginOptions } from "@docusaurus/plugin-client-redirects";
*/ */
import { createDocusaurusConfig } from "@goauthentik/docusaurus-config";
import { createRequire } from "node:module"; import { createRequire } from "node:module";
import * as path from "node:path";
import { fileURLToPath } from "node:url";
import { createDocusaurusConfig } from "@goauthentik/docusaurus-config";
import { GlobExcludeDefault } from "@docusaurus/utils";
import remarkDirective from "remark-directive"; import remarkDirective from "remark-directive";
import remarkGithub, { defaultBuildUrl } from "remark-github"; import remarkGithub, { defaultBuildUrl } from "remark-github";
@@ -14,8 +22,10 @@ import remarkLinkRewrite from "../remark/link-rewrite-directive.mjs";
import remarkPreviewDirective from "../remark/preview-directive.mjs"; import remarkPreviewDirective from "../remark/preview-directive.mjs";
import remarkSupportDirective from "../remark/support-directive.mjs"; import remarkSupportDirective from "../remark/support-directive.mjs";
import remarkVersionDirective from "../remark/version-directive.mjs"; import remarkVersionDirective from "../remark/version-directive.mjs";
import { legacyRedirects } from "./legacy-redirects.mjs";
const require = createRequire(import.meta.url); const require = createRequire(import.meta.url);
const __dirname = fileURLToPath(new URL(".", import.meta.url));
/** /**
* Documentation site configuration for Docusaurus. * Documentation site configuration for Docusaurus.
@@ -43,7 +53,7 @@ const config = createDocusaurusConfig({
target: "_self", target: "_self",
}, },
{ {
to: "integrations/", to: "https://integrations.goauthentik.io",
label: "Integrations", label: "Integrations",
position: "left", position: "left",
}, },
@@ -90,51 +100,81 @@ const config = createDocusaurusConfig({
externalUrlRegex: /.*/.source, externalUrlRegex: /.*/.source,
}, },
}, },
presets: [
[
"@docusaurus/preset-classic",
/** @type {Preset.Options} */ ({
docs: {
id: "docsIntegrations",
path: "integrations",
routeBasePath: "integrations",
sidebarPath: "./sidebars/integrations.mjs",
editUrl: "https://github.com/goauthentik/authentik/edit/main/website/",
showLastUpdateTime: false,
beforeDefaultRemarkPlugins: [ plugins: [
remarkDirective, [
remarkLinkRewrite(new Map([["/docs", "https://docs.goauthentik.io"]])), "@docusaurus/plugin-google-gtag",
remarkVersionDirective, {
remarkEnterpriseDirective, trackingID: ["G-9MVR9WZFZH"],
remarkPreviewDirective, anonymizeIP: true,
remarkSupportDirective, },
], ],
remarkPlugins: [
[ [
remarkGithub, "@docusaurus/theme-classic",
{ {
repository: "goauthentik/authentik", customCss: [
/** require.resolve("@goauthentik/docusaurus-config/css/index.css"),
* @param {BuildUrlValues} values path.join(__dirname, "custom.css"),
*/ ],
buildUrl: (values) => { },
// Only replace issues and PR links ],
return values.type === "issue" || values.type === "mention"
? defaultBuildUrl(values) [
: false; "@docusaurus/plugin-content-docs",
}, /** @type {DocsPluginOptions} */ ({
id: "docsIntegrations",
exclude: [...GlobExcludeDefault],
include: ["**/*.mdx", "**/*.md"],
path: "integrations",
routeBasePath: "/",
sidebarPath: "./integrations/sidebar.mjs",
editUrl: "https://github.com/goauthentik/authentik/edit/main/website/",
showLastUpdateTime: false,
beforeDefaultRemarkPlugins: [
remarkDirective,
remarkLinkRewrite(new Map([["/docs", "https://docs.goauthentik.io"]])),
remarkVersionDirective,
remarkEnterpriseDirective,
remarkPreviewDirective,
remarkSupportDirective,
],
remarkPlugins: [
[
remarkGithub,
{
repository: "goauthentik/authentik",
/**
* @param {BuildUrlValues} values
*/
buildUrl: (values) => {
// Only replace issues and PR links
return values.type === "issue" || values.type === "mention"
? defaultBuildUrl(values)
: false;
}, },
], },
], ],
}, ],
gtag: { }),
trackingID: ["G-9MVR9WZFZH"], ],
anonymizeIP: true, [
}, "@docusaurus/plugin-client-redirects",
theme: { /** @type {RedirectsPluginOptions} */ ({
customCss: require.resolve("@goauthentik/docusaurus-config/css/index.css"), redirects: [
}, {
from: "/integrations",
to: "/",
},
...Array.from(legacyRedirects, ([from, to]) => {
return {
from: [from, `/integrations${from}`],
to,
};
}),
],
}), }),
], ],
], ],
+10
View File
@@ -0,0 +1,10 @@
import { createESLintPackageConfig, DefaultIgnorePatterns } from "@goauthentik/eslint-config";
export default createESLintPackageConfig({
ignorePatterns: [
// ---
...DefaultIgnorePatterns,
".docusaurus/",
"./build",
],
});

Some files were not shown because too many files have changed in this diff Show More