2022-08-07 17:27:17 +00:00
# File structure
2022-08-05 22:52:12 +00:00
Blueprints are YAML files, which can use some additional tags to ease blueprint creation.
2023-05-12 11:45:25 +00:00
## Schema
The blueprint schema is available under `https://goauthentik.io/blueprints/schema.json` . It is also possible to target a specific version's blueprint schema by using `https://version-2023-4.goauthentik.io/blueprints/schema.json` .
To use the schema with Visual Studio code and the YAML extension, add this comment at the top of your blueprint files:
```yaml
# yaml-language-server: $schema=https://goauthentik.io/blueprints/schema.json
```
## Example
2022-08-05 22:52:12 +00:00
```yaml
2023-05-07 10:32:01 +00:00
# yaml-language-server: $schema=https://goauthentik.io/blueprints/schema.json
2022-08-05 22:52:12 +00:00
# The version of this blueprint, currently 1
version: 1
# Optional block of metadata, name is required if metadata is set
metadata:
# Arbitrary key=value store, special labels are listed below
labels:
foo: bar
name: example-blueprint
2022-08-06 18:54:00 +00:00
# Optional default context, instance context is merged over this.
context:
foo: bar
2022-08-05 22:52:12 +00:00
# List of entries (required)
entries:
- # Model in app.model notation, possibilities are listed in the schema (required)
model: authentik_flows.flow
2022-11-22 13:27:20 +00:00
# The state this object should be in (optional, can be "present", "created" or "absent")
# Present will keep the object in sync with its definition here, created will only ensure
# the object is created (and create it with the values given here), and "absent" will
# delete the object
state: present
2022-12-21 17:04:00 +00:00
# An optional list of boolean-like conditions. If all conditions match (or
# no condiitons are provided) the entry will be evaluated and acted upon
# as normal. Otherwise, the entry is skipped as if not defined at all.
# Each condition will be evaluated in Python to its boolean representation
# bool(< condition > ). Furthermore, complex conditions can be built using
# a special !Condition tag. See the documentattion for custom tags for more
# information.
conditions:
- true
- text
- 2
- !Condition [AND, ...] # See custom tags section
2022-08-05 22:52:12 +00:00
# Key:value filters to uniquely identify this object (required)
identifiers:
slug: initial-setup
# Optional ID for use with !KeyOf
id: flow
# Attributes to set on the object. Only explicitly required settings should be stated
# as these values will override existing attributes
attrs:
denied_action: message_continue
designation: stage_configuration
name: default-oobe-setup
title: Welcome to authentik!
```
## Special Labels
#### `blueprints.goauthentik.io/system`:
Used by authentik's packaged blueprints to keep globals up-to-date. Should only be removed in special cases.
2022-08-07 17:27:17 +00:00
#### `blueprints.goauthentik.io/instantiate`:
2022-08-05 22:52:12 +00:00
2022-08-07 17:27:17 +00:00
Configure if this blueprint should automatically be instantiated (defaults to `"true"` ). When set to `"false"` , blueprints are listed and available to be instantiated via API/Browser.
2023-01-24 11:23:22 +00:00
#### `blueprints.goauthentik.io/description`:
Optionally set a description, which can be seen in the web interface.