初始化系统融合软件代码仓库

This commit is contained in:
2026-10-20 08:34:12 +08:00
commit 587ae6f088
96 changed files with 10230 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
[CmdletBinding()]
param([Parameter(Mandatory)][string]$CredentialFile, [string]$ClusterId = 'pxhj-fusion')
. (Join-Path $PSScriptRoot 'Common.ps1')
if ($ClusterId -notmatch '^[a-zA-Z0-9_-]{1,64}$') { throw 'ClusterId 仅允许字母、数字、下划线和短横线。' }
$credentialPath = [System.IO.Path]::GetFullPath($CredentialFile)
if (Test-Path -LiteralPath $credentialPath) { throw '凭证文件已存在;不会覆盖现有集群凭证。' }
[System.IO.Directory]::CreateDirectory((Split-Path -Parent $credentialPath)) | Out-Null
$bytes = New-Object byte[] 32
$random = [System.Security.Cryptography.RandomNumberGenerator]::Create()
try { $random.GetBytes($bytes) } finally { $random.Dispose() }
$credential = [Convert]::ToBase64String($bytes)
$stream = [System.IO.File]::Open($credentialPath, [System.IO.FileMode]::CreateNew, [System.IO.FileAccess]::Write, [System.IO.FileShare]::None)
try {
$content = [System.Text.Encoding]::UTF8.GetBytes("fusion.cluster-id=$ClusterId`nfusion.token=$credential`n")
$stream.Write($content, 0, $content.Length)
} finally { $stream.Dispose() }
Protect-XtrhPrivateFile -Path $credentialPath
# 凭证内容不输出、不放进命令行;将此私有文件经可信方式复制到同一集群的部署电脑。
Write-Output ('集群凭证已生成并限制访问:' + $credentialPath)