Skip to main content

Urbalurba Authentik Test Users Package

Overview

This document provides a complete guide for creating and managing test users in Authentik that mirror the organizational structure found in production Okta. The goal is to provide developers with a realistic test environment that includes all Okta fields and organizational relationships while maintaining data anonymity.

This package includes:

  • Complete user specification with all Okta fields
  • Organizational structure mirroring organizational departments
  • Blueprint conversion methodology for automated deployment
  • Implementation guide for Authentik integration

Table of Contents

  1. User Specification
  2. Okta Field Mapping
  3. Organizational Structure
  4. Blueprint Implementation
  5. Deployment Guide
  6. Testing and Validation
  7. Maintenance and Updates

User Specification

User Distribution

Total Users: 11

  • HQ Users: 9 - Covering all major departments from the national office
  • District Users: 2 - Representing regional/district level operations

Complete User Table

UsernameEmailNameDepartmentvi_departmentvi_departmentIDvi_unitnamevi_unitIDcostCentervi_Localevi_StateProvincevi_positionvi_employeeformemployeeNumbersamAccountNamemanagerIdmanagerManagerdisplayNameisEmployeeisVolunteeru_start_dateu_end_datemobilePhonesecondEmailbankid_birthdatebankid_nnin_altsubbankid_altsubbankid_verification_timestampbankid_user_verifiedbankid_subbankid_firstnamebankid_lastnameAgressoDomainUserRelationNumberAzure_lastNonInteractiveSignInDateTimeServiceNowManagerIdExternalIDextensionAttribute7u_crm_guidstreetAddresscityzipCodestatedeliveryOfficedivisiontitle
ok1ok1@urbalurba.noOla NordmannØkonomi og administrasjonØkonomi og administrasjonN750Økonomi og administrasjon#5421000#N750#N750#N750OsloNasjonalkontoretØkonomi- og administrasjonsmedarbeider1 Fast ansatt25001105010OK1105010MGR1manager1@urbalurba.noManager Persontruefalse01/01/2020+4790012345ola.nordmann@example.no80-01-1515018012345Pass2020-01-01T09:00:00true12345678-1234-1234-1234-123456789012OlaNordmannZ94\105010OK1105010OK12024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbf25207a9ec-a6bf-ec11-8117-001dd8b74416bb0a469d-905c-ef11-bfe3-0022489bed2bStorgata 1Oslo0155NasjonalkontoretRK Hovedkontor105010-001 - RK HovedkontorØkonomi- og administrasjonsmedarbeider
re1re1@urbalurba.noKari HansenØkonomi og administrasjonRegnskap og rapporteringN760Regnskap og rapportering#5421000#N760#N760#N760OsloNasjonalkontoretRegnskapsmedarbeider1 Fast ansatt25002105010RE1105010OK1ola.nordmann@urbalurba.noOla Nordmanntruefalse01/02/2020+4790012346kari.hansen@example.no85-03-2222038512345Pass2020-02-01T09:00:00true12345678-1234-1234-1234-123456789013KariHansenZ94\105010RE1105010RE12024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbf35207a9ec-a6bf-ec11-8117-001dd8b74417bb0a469d-905c-ef11-bfe3-0022489bed2cStorgata 2Oslo0155NasjonalkontoretRK Hovedkontor105010-001 - RK HovedkontorRegnskapsmedarbeider
it1it1@urbalurba.noErik LarsenØkonomi og administrasjonITN770IT#5421000#N770#N770#N770OsloNasjonalkontoretIT Specialist1 Fast ansatt25003105010IT1105010OK1ola.nordmann@urbalurba.noOla Nordmanntruefalse01/03/2020+4790012347erik.larsen@example.no82-07-1010078212345Pass2020-03-01T09:00:00true12345678-1234-1234-1234-123456789014ErikLarsenZ94\105010IT1105010IT12024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbf45207a9ec-a6bf-ec11-8117-001dd8b74418bb0a469d-905c-ef11-bfe3-0022489bed2dStorgata 3Oslo0155NasjonalkontoretRK Hovedkontor105010-001 - RK HovedkontorIT Specialist
hr1hr1@urbalurba.noAnna OlsenHR og organisasjonsutviklingHRN780HR#5421000#N780#N780#N780OsloNasjonalkontoretHR Medarbeider1 Fast ansatt25004105010HR1105010OK1ola.nordmann@urbalurba.noOla Nordmanntruefalse01/04/2020+4790012348anna.olsen@example.no88-11-0505118812345Pass2020-04-01T09:00:00true12345678-1234-1234-1234-123456789015AnnaOlsenZ94\105010HR1105010HR12024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbf55207a9ec-a6bf-ec11-8117-001dd8b74419bb0a469d-905c-ef11-bfe3-0022489bed2eStorgata 4Oslo0155NasjonalkontoretRK Hovedkontor105010-001 - RK HovedkontorHR Medarbeider
ko1ko1@urbalurba.noLars AndersenKommunikasjon og samfunnKommunikasjonN790Kommunikasjon#5421000#N790#N790#N790OsloNasjonalkontoretKommunikasjonsmedarbeider1 Fast ansatt25005105010KO1105010OK1ola.nordmann@urbalurba.noOla Nordmanntruefalse01/05/2020+4790012349lars.andersen@example.no79-09-1818097912345Pass2020-05-01T09:00:00true12345678-1234-1234-1234-123456789016LarsAndersenZ94\105010KO1105010KO12024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbf65207a9ec-a6bf-ec11-8117-001dd8b74420bb0a469d-905c-ef11-bfe3-0022489bed2fStorgata 5Oslo0155NasjonalkontoretRK Hovedkontor105010-001 - RK HovedkontorKommunikasjonsmedarbeider
in1in1@urbalurba.noMaria JohansenInntekterInntekterN800Inntekter#5421000#N800#N800#N800OsloNasjonalkontoretInntektsmedarbeider1 Fast ansatt25006105010IN1105010OK1ola.nordmann@urbalurba.noOla Nordmanntruefalse01/06/2020+4790012350maria.johansen@example.no83-12-0303128312345Pass2020-06-01T09:00:00true12345678-1234-1234-1234-123456789017MariaJohansenZ94\105010IN1105010IN12024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbf75207a9ec-a6bf-ec11-8117-001dd8b74421bb0a469d-905c-ef11-bfe3-0022489bed30Storgata 6Oslo0155NasjonalkontoretRK Hovedkontor105010-001 - RK HovedkontorInntektsmedarbeider
sr1sr1@urbalurba.noThomas PedersenNasjonale programmer og beredskapSøk og redningN810Søk og redning#5421000#N810#N810#N810OsloNasjonalkontoretBeredskapsmedarbeider1 Fast ansatt25007105010SR1105010OK1ola.nordmann@urbalurba.noOla Nordmanntruefalse01/07/2020+4790012351thomas.pedersen@example.no81-04-1414048112345Pass2020-07-01T09:00:00true12345678-1234-1234-1234-123456789018ThomasPedersenZ94\105010SR1105010SR12024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbf85207a9ec-a6bf-ec11-8117-001dd8b74422bb0a469d-905c-ef11-bfe3-0022489bed31Storgata 7Oslo0155NasjonalkontoretRK Hovedkontor105010-001 - RK HovedkontorBeredskapsmedarbeider
ip1ip1@urbalurba.noIngrid SvendsenInternasjonale programmer og beredskapTechnical UnitN820Technical Unit#5421000#N820#N820#N820OsloNasjonalkontoretTeknisk rådgiver1 Fast ansatt25008105010IP1105010OK1ola.nordmann@urbalurba.noOla Nordmanntruefalse01/08/2020+4790012352ingrid.svendsen@example.no86-06-2727068612345Pass2020-08-01T09:00:00true12345678-1234-1234-1234-123456789019IngridSvendsenZ94\105010IP1105010IP12024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbf95207a9ec-a6bf-ec11-8117-001dd8b74423bb0a469d-905c-ef11-bfe3-0022489bed32Storgata 8Oslo0155NasjonalkontoretRK Hovedkontor105010-001 - RK HovedkontorTeknisk rådgiver
di1di1@urbalurba.noPer KristiansenØkonomi og administrasjonDigital innovasjonN830Digital innovasjon#5421000#N830#N830#N830OsloNasjonalkontoretDigital innovasjonsrådgiver1 Fast ansatt25009105010DI1105010OK1ola.nordmann@urbalurba.noOla Nordmanntruefalse01/09/2020+4790012353per.kristiansen@example.no84-02-1111028412345Pass2020-09-01T09:00:00true12345678-1234-1234-1234-123456789020PerKristiansenZ94\105010DI1105010DI12024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbfa5207a9ec-a6bf-ec11-8117-001dd8b74424bb0a469d-905c-ef11-bfe3-0022489bed33Storgata 9Oslo0155NasjonalkontoretRK Hovedkontor105010-001 - RK HovedkontorDigital innovasjonsrådgiver
dist1dist1@urbalurba.noBjørn NilsenDistriktskontorBuskerud RKD006Buskerud RK#5421000#D006#D006#D006DrammenDistriktDistriktsmedarbeider1 Fast ansatt25010105010DIST1105010OK1ola.nordmann@urbalurba.noOla Nordmanntruefalse01/10/2020+4790012354bjorn.nilsen@example.no87-08-2525088712345Pass2020-10-01T09:00:00true12345678-1234-1234-1234-123456789021BjørnNilsenZ94\105010DIST1105010DIST12024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbfb5207a9ec-a6bf-ec11-8117-001dd8b74425bb0a469d-905c-ef11-bfe3-0022489bed34Drammensveien 1Drammen3015DistriktBuskerud RK105010-002 - Buskerud RKDistriktsmedarbeider
dist2dist2@urbalurba.noSolveig BergDistriktskontorHordaland RKD010Hordaland RK#5421000#D010#D010#D010BergenDistriktDistriktsmedarbeider1 Fast ansatt25011105010DIST2105010OK1ola.nordmann@urbalurba.noOla Nordmanntruefalse01/11/2020+4790012355solveig.berg@example.no89-01-0808018912345Pass2020-11-01T09:00:00true12345678-1234-1234-1234-123456789022SolveigBergZ94\105010DIST2105010DIST22024-01-15T08:30:00Zd1b50bf41ba56690825da711604bcbfc5207a9ec-a6bf-ec11-8117-001dd8b74426bb0a469d-905c-ef11-bfe3-0022489bed35Bryggen 1Bergen5003DistriktHordaland RK105010-003 - Hordaland RKDistriktsmedarbeider

Okta Field Mapping

Field Categories

The user specification includes all fields found in production Okta, organized into these categories:

Core Identity Fields

  • username: Unique identifier for each user (ok1, re1, it1, etc.)
  • email: Primary email address using @urbalurba.no domain
  • name: Full name using generic Norwegian names
  • login: Same as email (standard Okta pattern)

Organizational Fields

  • department: Main department from organizational chart
  • vi_department: Visma integration department field
  • vi_departmentID: Unique department identifier (N750-N830 for HQ, D006/D010 for districts)
  • vi_unitname: Unit name within department
  • vi_unitID: Unique unit identifier with organizational hierarchy
  • costCenter: Cost center code matching department
  • vi_Locale: Geographic location (Oslo for HQ, Drammen/Bergen for districts)
  • vi_StateProvince: Organizational level (Nasjonalkontoret/Distrikt)

Employment Fields

  • vi_position: Job title/position
  • vi_employeeform: Employment type (1 Fast ansatt = Full-time employee)
  • employeeNumber: Sequential employee number (25001-25011)
  • samAccountName: Active Directory account name
  • managerId: Manager's samAccountName
  • manager: Manager's email address
  • ManagerdisplayName: Manager's full name
  • isEmployee: Always true for all users
  • isVolunteer: Always false for all users
  • u_start_date: Employment start date (DD/MM/YYYY format)
  • u_end_date: Employment end date (empty for active employees)

Contact Fields

  • mobilePhone: Norwegian mobile phone number (+47XXXXXXXX)
  • secondEmail: Personal email address using @example.no domain
  • streetAddress: Generic Norwegian street address
  • city: City name (Oslo, Drammen, Bergen)
  • zipCode: Norwegian postal code
  • state: Organizational state (Nasjonalkontoret/Distrikt)
  • deliveryOffice: Office location name (RK Hovedkontor, Buskerud RK, Hordaland RK)
  • division: Full division name with code (105010-001 - RK Hovedkontor, etc.)

BankID Fields (Norwegian National ID)

  • bankid_birthdate: Birth date in YY-MM-DD format
  • bankid_nnin_altsub: Norwegian national identification number (fake)
  • bankid_altsub: BankID alternative subject (Pass)
  • bankid_verification_timestamp: When BankID was verified
  • bankid_user_verified: Whether user is BankID verified (true)
  • bankid_sub: BankID subject identifier (UUID format)
  • bankid_firstname: First name from BankID
  • bankid_lastname: Last name from BankID

System Integration Fields

  • AgressoDomainUser: Agresso system domain user (Z94\samAccountName)
  • RelationNumber: Relation number (same as samAccountName)
  • Azure_lastNonInteractiveSignInDateTime: Last Azure sign-in timestamp
  • ServiceNowManagerIdExternalID: ServiceNow manager external ID
  • extensionAttribute7: Extension attribute (UUID format)
  • u_crm_guid: CRM system GUID (UUID format)

Data Anonymization Strategy

Personal Information

  • Names: Generic Norwegian names (Ola Nordmann, Kari Hansen, etc.)
  • Emails: @urbalurba.no for work, @example.no for personal
  • Phone Numbers: Norwegian format but fake numbers
  • Addresses: Generic Norwegian addresses
  • BankID Data: Valid Norwegian format but invalid numbers

Organizational Data

  • Department Names: Real department names (not sensitive)
  • Cost Centers: Realistic codes but generic
  • Employee IDs: Sequential numbers starting from 25001
  • Manager Relationships: Realistic hierarchy for testing

Organizational Structure

Manager Relationships

  • ok1 (Ola Nordmann) is the manager for all other users
  • All users report to ok1 via managerId and manager fields
  • This creates a realistic organizational hierarchy for testing

Department Structure

  • HQ Departments: 9 departments covering all major functions
  • District Offices: 2 districts representing regional operations
  • Cost Centers: Unique codes for each department/unit
  • Geographic Distribution: Oslo (HQ), Drammen (Buskerud), Bergen (Hordaland)

Group Assignment Logic

  • HQ Group: Users with state or vi_StateProvince = "Nasjonalkontoret"
  • Distrikt Group: Users with state or vi_StateProvince = "Distrikt"
  • Alternative Logic: Infer from vi_departmentID prefix: N...HQ, D...Distrikt

Blueprint Implementation

Blueprint Structure

The Authentik blueprint follows this structure:

apiVersion: v1
kind: ConfigMap
metadata:
name: users-groups-test-blueprint
namespace: authentik
labels:
app.kubernetes.io/name: authentik
app.kubernetes.io/component: blueprint
blueprints.goauthentik.io/instantiate: "true"
data:
users-groups-test-setup.yaml: |
# yaml-language-server: $schema=https://goauthentik.io/blueprints/schema.json
version: 1
metadata:
name: "Complete Okta-Compatible Test Users - Urbalurba Development Environment"
labels:
blueprints.goauthentik.io/instantiate: "true"

context: {}

entries:
# Groups first
- model: authentik_core.group
state: present
identifiers:
name: "HQ"
attrs:
name: "HQ"
is_superuser: false
attributes:
type: "org_group"
scope: "hq"

- model: authentik_core.group
state: present
identifiers:
name: "Distrikt"
attrs:
name: "Distrikt"
is_superuser: false
attributes:
type: "org_group"
scope: "district"

# User entries go here

Field Mapping Rules

Core Authentik Fields (Direct Mapping)

  • usernameusername
  • emailemail
  • namename
  • passwordpassword (always "Password123")
  • is_activeis_active (always true)

Custom Attributes (All Other Fields)

All other fields from the specification go into the attributes section:

  • departmentattributes.department
  • vi_departmentattributes.vi_department
  • employeeNumberattributes.employeeNumber
  • samAccountNameattributes.samAccountName
  • managerIdattributes.managerId
  • managerattributes.manager
  • ManagerdisplayNameattributes.ManagerdisplayName
  • isEmployeeattributes.isEmployee
  • isVolunteerattributes.isVolunteer
  • u_start_dateattributes.u_start_date
  • u_end_dateattributes.u_end_date
  • mobilePhoneattributes.mobilePhone
  • secondEmailattributes.secondEmail
  • bankid_birthdateattributes.bankid_birthdate
  • bankid_nnin_altsubattributes.bankid_nnin_altsub
  • bankid_altsubattributes.bankid_altsub
  • bankid_verification_timestampattributes.bankid_verification_timestamp
  • bankid_user_verifiedattributes.bankid_user_verified
  • bankid_subattributes.bankid_sub
  • bankid_firstnameattributes.bankid_firstname
  • bankid_lastnameattributes.bankid_lastname
  • AgressoDomainUserattributes.AgressoDomainUser
  • RelationNumberattributes.RelationNumber
  • Azure_lastNonInteractiveSignInDateTimeattributes.Azure_lastNonInteractiveSignInDateTime
  • ServiceNowManagerIdExternalIDattributes.ServiceNowManagerIdExternalID
  • extensionAttribute7attributes.extensionAttribute7
  • u_crm_guidattributes.u_crm_guid
  • streetAddressattributes.streetAddress
  • cityattributes.city
  • zipCodeattributes.zipCode
  • stateattributes.state
  • deliveryOfficeattributes.deliveryOffice
  • divisionattributes.division
  • titleattributes.title
  • vi_employeeformattributes.vi_employeeform
  • vi_departmentIDattributes.vi_departmentID
  • vi_unitnameattributes.vi_unitname
  • vi_unitIDattributes.vi_unitID
  • costCenterattributes.costCenter
  • vi_Localeattributes.vi_Locale
  • vi_StateProvinceattributes.vi_StateProvince
  • vi_positionattributes.vi_position

Complete User Entry Example

Here's a complete example for user ok1:

- model: authentik_core.user
state: present
identifiers:
username: "ok1"
attrs:
username: "ok1"
name: "Ola Nordmann"
email: "ok1@urbalurba.no"
password: "Password123"
is_active: true
attributes:
department: "Økonomi og administrasjon"
vi_department: "Økonomi og administrasjon"
vi_departmentID: "N750"
vi_unitname: "Økonomi og administrasjon"
vi_unitID: "#5421000#N750#N750#"
costCenter: "N750"
vi_Locale: "Oslo"
vi_StateProvince: "Nasjonalkontoret"
vi_position: "Økonomi- og administrasjonsmedarbeider"
vi_employeeform: "1 Fast ansatt"
employeeNumber: "25001"
samAccountName: "105010OK1"
managerId: "105010MGR1"
manager: "manager1@urbalurba.no"
ManagerdisplayName: "Manager Person"
isEmployee: "true"
isVolunteer: "false"
u_start_date: "01/01/2020"
u_end_date: ""
mobilePhone: "+4790012345"
secondEmail: "ola.nordmann@example.no"
bankid_birthdate: "80-01-15"
bankid_nnin_altsub: "15018012345"
bankid_altsub: "Pass"
bankid_verification_timestamp: "2020-01-01T09:00:00"
bankid_user_verified: "true"
bankid_sub: "12345678-1234-1234-1234-123456789012"
bankid_firstname: "Ola"
bankid_lastname: "Nordmann"
AgressoDomainUser: "Z94\\105010OK1"
RelationNumber: "105010OK1"
Azure_lastNonInteractiveSignInDateTime: "2024-01-15T08:30:00Z"
ServiceNowManagerIdExternalID: "d1b50bf41ba56690825da711604bcbf2"
extensionAttribute7: "5207a9ec-a6bf-ec11-8117-001dd8b74416"
u_crm_guid: "bb0a469d-905c-ef11-bfe3-0022489bed2b"
streetAddress: "Storgata 1"
city: "Oslo"
zipCode: "0155"
state: "Nasjonalkontoret"
deliveryOffice: "RK Hovedkontor"
division: "105010-001 - RK Hovedkontor"
title: "Økonomi- og administrasjonsmedarbeider"
groups:
- !Find [authentik_core.group, [name, "HQ"]]

Data Type Handling

String Values

Most fields are strings and should be quoted:

attributes:
department: "Økonomi og administrasjon"
employeeNumber: "25001"
isEmployee: "true"

Boolean Values

Boolean fields should be strings in Authentik:

attributes:
isEmployee: "true"
isVolunteer: "false"
bankid_user_verified: "true"

Empty Values

For empty fields, use empty strings:

attributes:
u_end_date: ""

Deployment Guide

Prerequisites

  1. Authentik namespace must exist
  2. Blueprint ConfigMaps must be applied BEFORE deploying Authentik with Helm
  3. Proper labels must be set for automatic discovery
  4. Blueprint names must be listed in Helm values under blueprints.configMaps

Helm Configuration

Add the following to your Authentik Helm values file:

# Blueprint system configuration
blueprints:
# List of ConfigMaps containing blueprints
# Only keys ending with .yaml will be discovered and applied
configMaps:
- "whoami-forward-auth-blueprint" # Proxy authentication setup
- "openwebui-authentik-blueprint" # OAuth2/OIDC application setup
- "users-groups-test-blueprint" # Test blueprint for users and groups
# Add your blueprint ConfigMap names here

Complete Deployment Workflow

# 1. Deploy blueprint ConfigMaps FIRST (before Authentik)
kubectl apply -f manifests/074-authentik-users-groups-blueprint.yaml

# 2. Verify ConfigMaps are created
kubectl get configmaps -n authentik -l app.kubernetes.io/component=blueprint

# 3. Deploy/upgrade Authentik with Helm (with blueprint references in values)
helm upgrade --install authentik authentik/authentik \
-n authentik \
-f values-authentik.yaml # Contains the blueprints.configMaps configuration

# 4. Monitor blueprint application
kubectl logs -n authentik deployment/authentik-server | grep -i blueprint

Blueprint Discovery Process

  1. ConfigMap Creation: Blueprint ConfigMaps are deployed to the authentik namespace
  2. Helm Reference: ConfigMap names are listed in blueprints.configMaps in Helm values
  3. Authentik Startup: When Authentik starts, it reads the configured ConfigMap list
  4. Blueprint Loading: Authentik loads and applies blueprints from the referenced ConfigMaps
  5. Automatic Reapplication: Changes to ConfigMaps trigger reapplication (monitored every 60 minutes)

Testing and Validation

Validation Checklist

Before finalizing the blueprint, verify:

  • All 11 users are included
  • All fields from specification are mapped
  • YAML syntax is valid
  • Authentik blueprint format is correct
  • All string values are properly quoted
  • Boolean values are strings ("true"/"false")
  • Empty fields use empty strings ("")
  • Metadata and labels are correct
  • Blueprint instantiation label is present

Testing the Blueprint

After creating the blueprint:

  1. Apply to cluster: kubectl apply -f manifests/074-authentik-users-groups-blueprint.yaml
  2. Restart Authentik (to pick up changes immediately): kubectl rollout restart deployment/authentik-server -n authentik
  3. Check Authentik: Verify users appear in Authentik admin interface
  4. Test authentication: Try logging in with test credentials
  5. Verify fields: Check that all custom attributes are present
  6. Test applications: Verify integration with OpenWebUI and other apps

Note: Authentik automatically detects blueprint changes within 60 minutes, but restarting ensures immediate application of changes.

Usage Notes

For Developers

  • All users have password "Password123" for easy testing
  • Users cover all major organizational scenarios
  • Field values are realistic but anonymous
  • Easy to modify for specific test scenarios

For Testing

  • Authentication: All users can log in with their credentials
  • Authorization: Manager relationships can be tested
  • Integration: All Okta fields are present for app testing
  • Edge Cases: Some fields are empty to test null handling

For Maintenance

  • Users are created once when Authentik starts
  • No updates needed after initial deployment
  • Easy to add more users following the same pattern
  • Clear documentation for future modifications

Maintenance and Updates

Adding New Users

  1. Add user to specification table
  2. Follow conversion process for new user
  3. Add user entry to blueprint
  4. Reapply blueprint to cluster

Modifying Existing Users

  1. Update user data in specification
  2. Regenerate user entry in blueprint
  3. Reapply blueprint to cluster

Field Changes

  1. Update field mapping rules if needed
  2. Regenerate entire blueprint
  3. Reapply blueprint to cluster

Blueprint Updates and Redeployment

When updating blueprints:

# Update blueprint ConfigMaps
kubectl apply -f manifests/074-authentik-users-groups-blueprint.yaml

# Authentik automatically detects changes (within 60 minutes)
# Or force immediate reapplication:
kubectl rollout restart deployment/authentik-server -n authentik

Note: New blueprints require updating Helm values and redeploying Authentik, but existing blueprint changes are automatically detected.


Implementation Notes

This specification will be used to create the Authentik blueprint file manifests/074-authentik-users-groups-blueprint.yaml which will:

  1. Create all 11 users with complete field mappings
  2. Set up realistic organizational relationships with manager hierarchies
  3. Provide comprehensive test data for development
  4. Maintain data anonymity while preserving structure
  5. Support all applications that depend on Okta field structure

The blueprint ensures that the user specification is accurately converted into a functional Authentik configuration that provides comprehensive test data for development environments. The structured approach guarantees consistency and completeness while maintaining the flexibility to modify and extend the test data as needed.


Resources


Last updated: January 2025