Docusaurus 3.8 prep integrations (#15483)
* website: Port gitignore. * website: Flesh out Integrations clean up.
@@ -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
|
||||||
@@ -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.
|
||||||
|
|||||||
@@ -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,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 />
|
|
||||||
@@ -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
|
||||||
@@ -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: 416 KiB After Width: | Height: | Size: 416 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 353 KiB After Width: | Height: | Size: 353 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);
|
||||||
|
|||||||
@@ -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,
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
],
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
import { createESLintPackageConfig, DefaultIgnorePatterns } from "@goauthentik/eslint-config";
|
||||||
|
|
||||||
|
export default createESLintPackageConfig({
|
||||||
|
ignorePatterns: [
|
||||||
|
// ---
|
||||||
|
...DefaultIgnorePatterns,
|
||||||
|
".docusaurus/",
|
||||||
|
"./build",
|
||||||
|
],
|
||||||
|
});
|
||||||