Skip to content

Commit 2ea7780

Browse files
VCF SSO with Authentik support for Holodeck
1 parent c36fcdd commit 2ea7780

2 files changed

Lines changed: 103 additions & 0 deletions

File tree

docs/cmd_reference.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -810,4 +810,81 @@ Retrieves and displays IP pool allocations used by Holodeck infrastructure servi
810810
Displays IP pool allocations for all Holodeck services in Site A
811811
```powershell
812812
Get-HolodeckServiceIPPools -Site "a"
813+
```
814+
815+
---
816+
817+
## Initialize-Authentik
818+
819+
Initializes Authentik to act as the Identity Provider (IdP) for VCF SSO.
820+
821+
```powershell
822+
Initialize-Authentik -AdminPassword <String> -Site <String> -UserPassword <String> -BootstrapToken <String>
823+
```
824+
825+
---
826+
827+
### Description
828+
829+
Connects to the Authentik instance deployed on HoloRouter and bootstraps everything VCF SSO needs on the IdP side. This includes creating the VCF Administrators group, creating an admin user, registering the holodeck OIDC provider, and binding it to the vcf application. Returns an OIDC provider object containing the client ID and secret.
830+
831+
---
832+
833+
### Parameters
834+
835+
| Name | Description | Required | Default |
836+
|------|-------------|----------|---------|
837+
| `-AdminPassword` | Password for the Authentik admin user || |
838+
| `-Site` | Site identifier (a or b) || |
839+
| `-UserPassword` | Password for the new VCF admin user || |
840+
| `-BootstrapToken` | Token used for bootstrapping || |
841+
842+
---
843+
844+
### Examples
845+
846+
Example 1
847+
848+
Initializes Authentik and stores the OIDC provider object in a variable
849+
```powershell
850+
$oidcProvider = Initialize-Authentik -AdminPassword 'VMware123!VMware123!' -Site a -UserPassword 'VMware123!VMware123!' -BootstrapToken 'holodeck'
851+
```
852+
853+
---
854+
855+
## Set-VCFSSOConfiguration
856+
857+
Configures VCF Operations to use Authentik as the external Identity Provider.
858+
859+
```powershell
860+
Set-VCFSSOConfiguration -Site <String> -Username <String> -Password <String> -BootstrapToken <String> -oidcProvider <Object>
861+
```
862+
863+
---
864+
865+
### Description
866+
867+
Calls the VCF Operations IAM API to wire Authentik in as the trusted external IdP and kick off the initial SCIM synchronisation. It creates the SSO realm, registers Authentik as the OIDC/SCIM IdP, generates a SCIM sync token, triggers SCIM sync, and assigns the `vcf_administrator` role to the synced group.
868+
869+
---
870+
871+
### Parameters
872+
873+
| Name | Description | Required | Default |
874+
|------|-------------|----------|---------|
875+
| `-Site` | Site identifier (a or b) || |
876+
| `-Username` | Username for VCF Operations admin || |
877+
| `-Password` | Password for VCF Operations admin || |
878+
| `-BootstrapToken` | Token used for bootstrapping || |
879+
| `-oidcProvider` | OIDC provider object returned by `Initialize-Authentik` || |
880+
881+
---
882+
883+
### Examples
884+
885+
Example 1
886+
887+
Configures VCF SSO using the OIDC provider object
888+
```powershell
889+
Set-VCFSSOConfiguration -Site a -Username admin -Password 'VMware123!VMware123!' -BootstrapToken 'holodeck' -oidcProvider $oidcProvider
813890
```

docs/index.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -878,6 +878,32 @@ Update-HoloDeckInstance -Site a -DeployNewHosts -CPU 12 -MemoryInGb 96 -Nodes 4
878878
| VIDomain | String | **Optional** | Target domain | "Management", "Workload", "Unknown" |
879879
| DiskSizeInGB | Array | **Optional** | Custom disk sizes (max 3) | Array of numbers |
880880

881+
##### Configure VCF SSO with Authentik (Holodeck 9.1)
882+
883+
Holodeck 9.1 ships Authentik as a first-class service on the Holorouter. Authentik is a self-hosted, open-source Identity Provider (IdP) that supports OIDC, OAuth2, SAML 2.0, and SCIM 2.0. It is deployed automatically inside the HoloRouter's single-node Kubernetes cluster at `auth.vcf.lab` as part of the `Set-HoloRouter` command.
884+
885+
VCF Operations 9.0 introduced a fleet-level Single Sign-On (SSO) layer that federates authentication across every VCF component (vCenter, NSX, VCF Automation, and VCF Operations) through a single external identity provider.
886+
887+
You can integrate Authentik as the VCF SSO Identity Provider using two PowerShell commands exposed by the Holodeck module. Run them in order after your VCF deployment is complete.
888+
889+
**Step 1: Initialize Authentik**
890+
891+
`Initialize-Authentik` connects to the Authentik instance at `auth.vcf.lab` and bootstraps everything VCF SSO needs on the IdP side (creates VCF Administrators group, admin user `admin@vcf.lab`, registers holodeck OIDC provider, and creates vcf application).
892+
893+
```powershell
894+
$oidcProvider = Initialize-Authentik -AdminPassword 'VMware123!VMware123!' -Site a -UserPassword 'VMware123!VMware123!' -BootstrapToken 'holodeck'
895+
```
896+
897+
**Step 2: Set VCF SSO Configuration**
898+
899+
`Set-VCFSSOConfiguration` calls the VCF Operations IAM API to wire Authentik in as the trusted external IdP and kick off the initial SCIM synchronisation. Pass the OIDC provider returned by `Initialize-Authentik` directly into this command.
900+
901+
```powershell
902+
Set-VCFSSOConfiguration -Site a -Username admin -Password 'VMware123!VMware123!' -BootstrapToken 'holodeck' -oidcProvider $oidcProvider
903+
```
904+
905+
After both commands complete, users can log into VCF Operations at `https://ops-a.site-a.vcf.lab` with `admin@vcf.lab` — authenticated by Authentik, authorised by VCF SSO, and carrying full `vcf_administrator` rights.
906+
881907
!!! Note
882908
Each Day 2 operation uses separate parameter sets and cannot be combined in a single invocation. Run separate commands for each operation.
883909

0 commit comments

Comments
 (0)