* Choices can have value and label
Value and label are set turned to a string.
This will make choices into a Array<{ [key: string]: any; }> | null which at some point it should be a defined interface.
* Auto Updated schema.yml
* Used label and value in choice
Label and Value are used for Dropdown and RadioButtonGroup. Strings are still accepted.
* docs: Updated stages/prompt documentation
* Updated docs for initial-value
Also fixed wrong choice example in previous docs changes
* Check if choice is dict
Choice can of course be anything, we shouldn't assume it's string or dict
* Check if choice is dict for initial value
Same as before, choice can be anything. We check if it's explicitely a dict
* Added tests for dict choices
* ran make lint-fix
* Apply typo fix from code review
Co-authored-by: macmoritz <49832924+macmoritz@users.noreply.github.com>
Signed-off-by: Erik Ahlund <erik@ahlund.me>
* stages/prompt: add PromptChoiceSerializer
choices are now a list of PromptChoiceSerializer instead of a generic DictField.
The PromptChallenge also forces the use of value/label object.
* web: use PromptChoice object
The front end can now safely use choices as an array of PromptChoice instead of it being either a string or an object.
* slight revise
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* small ui
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* Apply suggestion from @dominic-r
Signed-off-by: Dominic R <dominic@sdko.org>
* Apply suggestion from @dominic-r
Signed-off-by: Dominic R <dominic@sdko.org>
* Apply suggestion from @dominic-r
Signed-off-by: Dominic R <dominic@sdko.org>
---------
Signed-off-by: Erik Ahlund <erik@ahlund.me>
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Signed-off-by: Dominic R <dominic@sdko.org>
Co-authored-by: macmoritz <49832924+macmoritz@users.noreply.github.com>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Dominic R <dominic@sdko.org>
authentik documentation source
This directory contains the source files for the authentik technical documentation, integration guides, and API documentation.
Contributions are welcome! Please refer to our contributor guidelines for details about contributing code or docs.
For instructions to set up your local environment for building docs locally, refer to our Docs development environment page.
For instructions for writing the docs and then testing in your local build, plus tips on writing, links to our Style Guide and templates, see the Writing documentation guide.
To ensure a smooth review process, we encourage you to build the documentation locally to preview and test your documentation contributions. Be sure to test locally before opening a pull request. Let us know if you have any questions or want help with any part of the process.
Package structure
At the root of the website directory is a package.json file that defines an NPM Workspace. This allows us to have multiple packages in the same repository, and to install their dependencies via a single command: make docs-install
---
config:
layout: dagre
---
flowchart TD
Root["NPM Workspace<br><code>./website</code>"]
Root --> Topics["Topics<br><code>./docs</code>"] & Integrations["Integration Guides<br><code>./integrations</code>"] & API
Schema["Schema<br><code>../schema.yml</code>"] --> API["Generated Documentation<br><code>./api</code>"]
HoistedDependencies["Hoisted Dependencies<br><ul>
<li>Docusaurus</li>
<li>React</li>
<li>MDX</li>
</ul>"]
style HoistedDependencies text-align:left
NPM packages which are in a parent workspace share a common node_modules directory. Sibling packages define their dependencies in their own package.json files. The dependencies which they share in common are lifted or "hoisted" to the parent node_modules directory.
Topics (AKA "The Docs")
The website/docs directory contains documentation on how to use authentik. It is organized into topics, which are defined by the sidebar.mjs file.
Integrations
The website/integrations directory contains documentation on how to use authentik with various third-party services.
API
The website/api directory contains documentation on the authentik API.
Deployment
Deployment is handled by a combination of Netlify and GitHub Action workflows.