Some checks failed
		
		
	
	Build Test Deploy / docs (push) Has been cancelled
				
			Build Test Deploy / deploy (push) Has been cancelled
				
			Build Test Deploy / build-test (push) Has been cancelled
				
			Build Test Deploy / authority-container (push) Has been cancelled
				
			Docs CI / lint-and-preview (push) Has been cancelled
				
			
		
			
				
	
	
		
			91 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # StellaOps Authority configuration template.
 | |
| # Copy to ../etc/authority.yaml (relative to the Authority content root)
 | |
| # and adjust values to fit your environment. Environment variables
 | |
| # prefixed with STELLAOPS_AUTHORITY_ override these values at runtime.
 | |
| # Example: STELLAOPS_AUTHORITY__ISSUER=https://authority.example.com
 | |
| 
 | |
| schemaVersion: 1
 | |
| 
 | |
| # Absolute issuer URI advertised to clients. Use HTTPS for anything
 | |
| # beyond loopback development.
 | |
| issuer: "https://authority.stella-ops.local"
 | |
| 
 | |
| # Token lifetimes expressed as HH:MM:SS or DD.HH:MM:SS.
 | |
| accessTokenLifetime: "00:15:00"
 | |
| refreshTokenLifetime: "30.00:00:00"
 | |
| identityTokenLifetime: "00:05:00"
 | |
| authorizationCodeLifetime: "00:05:00"
 | |
| deviceCodeLifetime: "00:15:00"
 | |
| 
 | |
| # MongoDB storage connection details.
 | |
| storage:
 | |
|   connectionString: "mongodb://localhost:27017/stellaops-authority"
 | |
|   # databaseName: "stellaops_authority"
 | |
|   commandTimeout: "00:00:30"
 | |
| 
 | |
| # Signing configuration for revocation bundles and JWKS.
 | |
| signing:
 | |
|   enabled: true
 | |
|   activeKeyId: "authority-signing-2025-dev"
 | |
|   keyPath: "../certificates/authority-signing-2025-dev.pem"
 | |
|   algorithm: "ES256"
 | |
|   keySource: "file"
 | |
|   # provider: "default"
 | |
|   additionalKeys:
 | |
|     - keyId: "authority-signing-dev"
 | |
|       path: "../certificates/authority-signing-dev.pem"
 | |
|       source: "file"
 | |
|   # Rotation flow:
 | |
|   #   1. Generate a new PEM under ./certificates (e.g. authority-signing-2026-dev.pem).
 | |
|   #   2. Trigger the .gitea/workflows/authority-key-rotation.yml workflow (or run
 | |
|   #      ops/authority/key-rotation.sh) with the new keyId/keyPath.
 | |
|   #   3. Update activeKeyId/keyPath above and move the previous key into additionalKeys
 | |
|   #      so restarts retain retired material for JWKS consumers.
 | |
| 
 | |
| # Bootstrap administrative endpoints (initial provisioning).
 | |
| bootstrap:
 | |
|   enabled: false
 | |
|   apiKey: "change-me"
 | |
|   defaultIdentityProvider: "standard"
 | |
| 
 | |
| # Directories scanned for Authority plug-ins. Relative paths resolve
 | |
| # against the application content root, enabling air-gapped deployments
 | |
| # that package plug-ins alongside binaries.
 | |
| pluginDirectories:
 | |
|   - "../PluginBinaries/Authority"
 | |
|   # "/var/lib/stellaops/authority/plugins"
 | |
| 
 | |
| # Plug-in manifests live in descriptors below; per-plugin settings are stored
 | |
| # in the configurationDirectory (YAML files). Authority will load any enabled
 | |
| # plugins and surface their metadata/capabilities to the host.
 | |
| plugins:
 | |
|   configurationDirectory: "../etc/authority.plugins"
 | |
|   descriptors:
 | |
|     standard:
 | |
|       type: "standard"
 | |
|       assemblyName: "StellaOps.Authority.Plugin.Standard"
 | |
|       enabled: true
 | |
|       configFile: "standard.yaml"
 | |
|       capabilities:
 | |
|         - password
 | |
|         - bootstrap
 | |
|         - clientProvisioning
 | |
|       metadata:
 | |
|         defaultRole: "operators"
 | |
|     # Example for an external identity provider plugin. Leave disabled unless
 | |
|     # the plug-in package exists under PluginBinaries/Authority.
 | |
|     ldap:
 | |
|       type: "ldap"
 | |
|       assemblyName: "StellaOps.Authority.Plugin.Ldap"
 | |
|       enabled: false
 | |
|       configFile: "ldap.yaml"
 | |
|       capabilities:
 | |
|         - password
 | |
|         - mfa
 | |
| 
 | |
| # CIDR ranges that bypass network-sensitive policies (e.g. on-host cron jobs).
 | |
| # Keep the list tight: localhost is sufficient for most air-gapped installs.
 | |
| bypassNetworks:
 | |
|   - "127.0.0.1/32"
 | |
|   - "::1/128"
 |