代码拉取完成,页面将自动刷新
#!ps1
param (
[switch] $noAuth,
[switch] $noHash,
[switch] $n,
[switch] $help,
[switch] $h
)
if ($help -Or $h) {
Write-Host "Usage: "
Write-Host " [default]`tdeploy the OpenFaaS core services"
Write-Host " -noAuth [-n]`tdisable basic authentication"
Write-Host " -noHash`tprevents the password from being hashed (optional)"
Write-Host " -help [-h]`tdisplays this screen"
Exit
}
if (Get-Command docker -errorAction SilentlyContinue)
{
docker node ls 2>&1 | out-null
if(-Not $?)
{
throw "Docker not in swarm mode, please initialise the cluster (`docker swarm init`) and retry"
}
# AE: would be nice to avoid this dependency.
Add-Type -AssemblyName System.Web
$password = [System.Web.Security.Membership]::GeneratePassword(24,5)
$secret = ""
if (-Not $noHash)
{
$sha256 = [System.Security.Cryptography.HashAlgorithm]::Create('sha256')
$hash = $sha256.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($password))
$secret = [System.BitConverter]::ToString($hash).Replace('-', '').toLower()
} else {
$secret =$password
}
$user = 'admin'
Write-Host "Attempting to create credentials for gateway.."
$user_secret = "basic-auth-user"
docker secret inspect $user_secret 2>&1 | out-null
if($?)
{
Write-Host "$user_secret secret exists"
}
else
{
$user | docker secret create $user_secret - | out-null
}
$password_secret = "basic-auth-password"
docker secret inspect $password_secret 2>&1 | out-null
if($?)
{
Write-Host "$password_secret secret exists"
}
else
{
$secret | docker secret create $password_secret - | out-null
Write-Host "[Credentials]"
Write-Host " username: admin"
Write-Host " password: $secret"
Write-Host " Write-Output `"$secret`" | faas-cli login --username=$user --password-stdin"
}
if ($noAuth -Or $n) {
Write-Host ""
Write-Host "Disabling basic authentication for gateway.."
Write-Host ""
$env:BASIC_AUTH="false";
$env:AUTH_URL=""
}
else
{
Write-Host ""
Write-Host "Enabling basic authentication for gateway.."
Write-Host ""
$env:BASIC_AUTH="true";
$env:AUTH_URL="http://basic-auth-plugin:8080/validate"
}
Write-Host "Deploying OpenFaaS core services"
docker stack deploy func --compose-file ./docker-compose.yml
}
else
{
throw "Unable to find docker command, please install Docker (https://www.docker.com/) and retry"
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。