From 105ab0d2fff2e1e937f4b5be68ed515e3744ade4 Mon Sep 17 00:00:00 2001 From: Mike Fotinakis Date: Tue, 30 Jul 2024 07:24:58 -0400 Subject: [PATCH] website/docs: explain guarantees around blueprint ordering (#10595) * Load blueprints in deterministic order. * Update docs. * Remove doc update Signed-off-by: Mike Fotinakis * Update documentation only. --------- Signed-off-by: Mike Fotinakis --- website/developer-docs/blueprints/index.md | 6 ++++++ website/developer-docs/blueprints/v1/meta.md | 2 ++ 2 files changed, 8 insertions(+) diff --git a/website/developer-docs/blueprints/index.md b/website/developer-docs/blueprints/index.md index 68507028c1..b3d26dee10 100644 --- a/website/developer-docs/blueprints/index.md +++ b/website/developer-docs/blueprints/index.md @@ -36,6 +36,12 @@ To disable existing blueprints, an empty file can be mounted over the existing b File-based blueprints are automatically removed once they become unavailable, however none of the objects created by those blueprints afre affected by this. + :::info + Please note that, by default, blueprint discovery and evaluation is not guaranteed to follow any specific order. + + If you have dependencies between blueprints, you should use [meta models](/developer-docs/blueprints/v1/meta#authentik_blueprintsmetaapplyblueprint) to make sure that objects are created in the correct order. + ::: + ## Storage - OCI Blueprints can also be stored in remote [OCI](https://opencontainers.org/) compliant registries. This includes GitHub Container Registry, Docker hub and many other registries. diff --git a/website/developer-docs/blueprints/v1/meta.md b/website/developer-docs/blueprints/v1/meta.md index 432ede89e7..c51ad0e451 100644 --- a/website/developer-docs/blueprints/v1/meta.md +++ b/website/developer-docs/blueprints/v1/meta.md @@ -6,6 +6,8 @@ Since blueprints have a pretty strict mapping of each entry mapping to an instan This meta model can be used to apply another blueprint instance within a blueprint instance. This allows for dependency management and ensuring related objects are created. +See [examples](https://github.com/search?q=repo%3Agoauthentik%2Fauthentik+path%3A%2F%5Eblueprints%5C%2F%2F+metaapplyblueprint&type=code) in the default blueprints for more information. + #### Attributes - `identifiers`: Key-value attributes used to match the blueprint instance