feat: Implement console session management with tenant and profile handling
- Add ConsoleSessionStore for managing console session state including tenants, profile, and token information. - Create OperatorContextService to manage operator context for orchestrator actions. - Implement OperatorMetadataInterceptor to enrich HTTP requests with operator context metadata. - Develop ConsoleProfileComponent to display user profile and session details, including tenant information and access tokens. - Add corresponding HTML and SCSS for ConsoleProfileComponent to enhance UI presentation. - Write unit tests for ConsoleProfileComponent to ensure correct rendering and functionality.
This commit is contained in:
		
							
								
								
									
										63
									
								
								scripts/rotate-policy-cli-secret.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								scripts/rotate-policy-cli-secret.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| #!/usr/bin/env bash | ||||
| set -euo pipefail | ||||
|  | ||||
| usage() { | ||||
|   cat <<'EOF' | ||||
| Usage: rotate-policy-cli-secret.sh [--output <path>] [--dry-run] | ||||
|  | ||||
| Generates a new random shared secret suitable for the Authority | ||||
| `policy-cli` client and optionally writes it to the target file | ||||
| in `etc/secrets/` with the standard header comment. | ||||
|  | ||||
| Options: | ||||
|   --output <path>  Destination file (default: etc/secrets/policy-cli.secret) | ||||
|   --dry-run        Print the generated secret to stdout without writing. | ||||
|   -h, --help       Show this help. | ||||
| EOF | ||||
| } | ||||
|  | ||||
| OUTPUT="etc/secrets/policy-cli.secret" | ||||
| DRY_RUN=0 | ||||
|  | ||||
| while [[ $# -gt 0 ]]; do | ||||
|   case "$1" in | ||||
|     --output) | ||||
|       OUTPUT="$2" | ||||
|       shift 2 | ||||
|       ;; | ||||
|     --dry-run) | ||||
|       DRY_RUN=1 | ||||
|       shift | ||||
|       ;; | ||||
|     -h|--help) | ||||
|       usage | ||||
|       exit 0 | ||||
|       ;; | ||||
|     *) | ||||
|       echo "Unknown argument: $1" >&2 | ||||
|       usage >&2 | ||||
|       exit 1 | ||||
|       ;; | ||||
|   esac | ||||
| done | ||||
|  | ||||
| if ! command -v openssl >/dev/null 2>&1; then | ||||
|   echo "openssl is required to generate secrets" >&2 | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| # Generate a 48-byte random secret, base64 encoded without padding. | ||||
| RAW_SECRET=$(openssl rand -base64 48 | tr -d '\n=') | ||||
| SECRET="policy-cli-${RAW_SECRET}" | ||||
|  | ||||
| if [[ "$DRY_RUN" -eq 1 ]]; then | ||||
|   echo "$SECRET" | ||||
|   exit 0 | ||||
| fi | ||||
|  | ||||
| cat <<EOF > "$OUTPUT" | ||||
| # generated $(date -u +%Y-%m-%dT%H:%M:%SZ) via scripts/rotate-policy-cli-secret.sh | ||||
| $SECRET | ||||
| EOF | ||||
|  | ||||
| echo "Wrote new policy-cli secret to $OUTPUT" | ||||
		Reference in New Issue
	
	Block a user