mirror of
https://github.com/bitwarden/server.git
synced 2024-12-25 17:27:45 +01:00
Feature/add key-connector version to self-hosted scripts (#1784)
* Added Key Connector version * Fix updatebw() for Key Connector Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
This commit is contained in:
parent
355bf2127b
commit
735f58dd6f
@ -28,6 +28,7 @@ $githubBaseUrl = "https://raw.githubusercontent.com/bitwarden/server/master"
|
||||
# Please do not create pull requests modifying the version numbers.
|
||||
$coreVersion = "1.45.2"
|
||||
$webVersion = "2.25.0"
|
||||
$keyConnectorVersion = "1.0.0"
|
||||
|
||||
# Functions
|
||||
|
||||
@ -115,36 +116,36 @@ if ($install) {
|
||||
Test-Output-Dir-Not-Exists
|
||||
New-Item -ItemType directory -Path $output -ErrorAction Ignore | Out-Null
|
||||
Get-Run-File
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -install -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion"
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -install -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion -keyConnectorVersion $keyConnectorVersion"
|
||||
}
|
||||
elseif ($start -Or $restart) {
|
||||
Test-Output-Dir-Exists
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -restart -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion"
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -restart -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion -keyConnectorVersion $keyConnectorVersion"
|
||||
}
|
||||
elseif ($update) {
|
||||
Test-Output-Dir-Exists
|
||||
Get-Run-File
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -update -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion"
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -update -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion -keyConnectorVersion $keyConnectorVersion"
|
||||
}
|
||||
elseif ($rebuild) {
|
||||
Test-Output-Dir-Exists
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -rebuild -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion"
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -rebuild -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion -keyConnectorVersion $keyConnectorVersion"
|
||||
}
|
||||
elseif ($updateconf) {
|
||||
Test-Output-Dir-Exists
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -updateconf -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion"
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -updateconf -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion -keyConnectorVersion $keyConnectorVersion"
|
||||
}
|
||||
elseif ($updatedb) {
|
||||
Test-Output-Dir-Exists
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -updatedb -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion"
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -updatedb -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion -keyConnectorVersion $keyConnectorVersion"
|
||||
}
|
||||
elseif ($stop) {
|
||||
Test-Output-Dir-Exists
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -stop -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion"
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -stop -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion -keyConnectorVersion $keyConnectorVersion"
|
||||
}
|
||||
elseif ($renewcert) {
|
||||
Test-Output-Dir-Exists
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -renewcert -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion"
|
||||
Invoke-Expression "& `"$scriptsDir\run.ps1`" -renewcert -outputDir `"$output`" -coreVersion $coreVersion -webVersion $webVersion -keyConnectorVersion $keyConnectorVersion"
|
||||
}
|
||||
elseif ($updaterun) {
|
||||
Test-Output-Dir-Exists
|
||||
|
@ -36,6 +36,7 @@ GITHUB_BASE_URL="https://raw.githubusercontent.com/bitwarden/server/master"
|
||||
# Please do not create pull requests modifying the version numbers.
|
||||
COREVERSION="1.45.2"
|
||||
WEBVERSION="2.25.0"
|
||||
KEYCONNECTORVERSION="1.0.0"
|
||||
|
||||
echo "bitwarden.sh version $COREVERSION"
|
||||
docker --version
|
||||
@ -110,36 +111,36 @@ case $1 in
|
||||
checkOutputDirNotExists
|
||||
mkdir -p $OUTPUT
|
||||
downloadRunFile
|
||||
$SCRIPTS_DIR/run.sh install $OUTPUT $COREVERSION $WEBVERSION
|
||||
$SCRIPTS_DIR/run.sh install $OUTPUT $COREVERSION $WEBVERSION $KEYCONNECTORVERSION
|
||||
;;
|
||||
"start" | "restart")
|
||||
checkOutputDirExists
|
||||
$SCRIPTS_DIR/run.sh restart $OUTPUT $COREVERSION $WEBVERSION
|
||||
$SCRIPTS_DIR/run.sh restart $OUTPUT $COREVERSION $WEBVERSION $KEYCONNECTORVERSION
|
||||
;;
|
||||
"update")
|
||||
checkOutputDirExists
|
||||
downloadRunFile
|
||||
$SCRIPTS_DIR/run.sh update $OUTPUT $COREVERSION $WEBVERSION
|
||||
$SCRIPTS_DIR/run.sh update $OUTPUT $COREVERSION $WEBVERSION $KEYCONNECTORVERSION
|
||||
;;
|
||||
"rebuild")
|
||||
checkOutputDirExists
|
||||
$SCRIPTS_DIR/run.sh rebuild $OUTPUT $COREVERSION $WEBVERSION
|
||||
$SCRIPTS_DIR/run.sh rebuild $OUTPUT $COREVERSION $WEBVERSION $KEYCONNECTORVERSION
|
||||
;;
|
||||
"updateconf")
|
||||
checkOutputDirExists
|
||||
$SCRIPTS_DIR/run.sh updateconf $OUTPUT $COREVERSION $WEBVERSION
|
||||
$SCRIPTS_DIR/run.sh updateconf $OUTPUT $COREVERSION $WEBVERSION $KEYCONNECTORVERSION
|
||||
;;
|
||||
"updatedb")
|
||||
checkOutputDirExists
|
||||
$SCRIPTS_DIR/run.sh updatedb $OUTPUT $COREVERSION $WEBVERSION
|
||||
$SCRIPTS_DIR/run.sh updatedb $OUTPUT $COREVERSION $WEBVERSION $KEYCONNECTORVERSION
|
||||
;;
|
||||
"stop")
|
||||
checkOutputDirExists
|
||||
$SCRIPTS_DIR/run.sh stop $OUTPUT $COREVERSION $WEBVERSION
|
||||
$SCRIPTS_DIR/run.sh stop $OUTPUT $COREVERSION $WEBVERSION $KEYCONNECTORVERSION
|
||||
;;
|
||||
"renewcert")
|
||||
checkOutputDirExists
|
||||
$SCRIPTS_DIR/run.sh renewcert $OUTPUT $COREVERSION $WEBVERSION
|
||||
$SCRIPTS_DIR/run.sh renewcert $OUTPUT $COREVERSION $WEBVERSION $KEYCONNECTORVERSION
|
||||
;;
|
||||
"updaterun")
|
||||
checkOutputDirExists
|
||||
|
@ -2,6 +2,7 @@ param (
|
||||
[string]$outputDir = "../.",
|
||||
[string]$coreVersion = "latest",
|
||||
[string]$webVersion = "latest",
|
||||
[string]$keyConnectorVersion = "latest",
|
||||
[switch] $install,
|
||||
[switch] $start,
|
||||
[switch] $restart,
|
||||
@ -80,7 +81,7 @@ function Install() {
|
||||
Pull-Setup
|
||||
docker run -it --rm --name setup -v ${outputDir}:/bitwarden bitwarden/setup:$coreVersion `
|
||||
dotnet Setup.dll -install 1 -domain ${domain} -letsencrypt ${letsEncrypt} `
|
||||
-os win -corev $coreVersion -webv $webVersion -q $setupQuiet -dbname "$database"
|
||||
-os win -corev $coreVersion -webv $webVersion -keyconnectorv $keyConnectorVersion -q $setupQuiet -dbname "$database"
|
||||
}
|
||||
|
||||
function Docker-Compose-Up {
|
||||
@ -168,7 +169,8 @@ function Update-Database {
|
||||
$mssqlId = docker-compose ps -q mssql
|
||||
docker run -it --rm --name setup --network container:$mssqlId `
|
||||
-v ${outputDir}:/bitwarden bitwarden/setup:$coreVersion `
|
||||
dotnet Setup.dll -update 1 -db 1 -os win -corev $coreVersion -webv $webVersion -q $setupQuiet
|
||||
dotnet Setup.dll -update 1 -db 1 -os win -corev $coreVersion -webv $webVersion `
|
||||
-keyconnectorv $keyConnectorVersion -q $setupQuiet
|
||||
Write-Line "Database update complete"
|
||||
}
|
||||
|
||||
@ -177,13 +179,15 @@ function Update([switch] $withpull) {
|
||||
Pull-Setup
|
||||
}
|
||||
docker run -it --rm --name setup -v ${outputDir}:/bitwarden bitwarden/setup:$coreVersion `
|
||||
dotnet Setup.dll -update 1 -os win -corev $coreVersion -webv $webVersion -q $setupQuiet
|
||||
dotnet Setup.dll -update 1 -os win -corev $coreVersion -webv $webVersion `
|
||||
-keyconnectorv $keyConnectorVersion -q $setupQuiet
|
||||
}
|
||||
|
||||
function Print-Environment {
|
||||
Pull-Setup
|
||||
docker run -it --rm --name setup -v ${outputDir}:/bitwarden bitwarden/setup:$coreVersion `
|
||||
dotnet Setup.dll -printenv 1 -os win -corev $coreVersion -webv $webVersion -q $setupQuiet
|
||||
dotnet Setup.dll -printenv 1 -os win -corev $coreVersion -webv $webVersion `
|
||||
-keyconnectorv $keyConnectorVersion -q $setupQuiet
|
||||
}
|
||||
|
||||
function Restart {
|
||||
|
@ -26,6 +26,12 @@ then
|
||||
WEBVERSION=$4
|
||||
fi
|
||||
|
||||
KEYCONNECTORVERSION="latest"
|
||||
if [ $# -gt 4 ]
|
||||
then
|
||||
KEYCONNECTORVERSION=$5
|
||||
fi
|
||||
|
||||
OS="lin"
|
||||
[ "$(uname)" == "Darwin" ] && OS="mac"
|
||||
ENV_DIR="$OUTPUT_DIR/env"
|
||||
@ -89,7 +95,7 @@ function install() {
|
||||
docker run -it --rm --name setup -v $OUTPUT_DIR:/bitwarden \
|
||||
--env-file $ENV_DIR/uid.env bitwarden/setup:$COREVERSION \
|
||||
dotnet Setup.dll -install 1 -domain $DOMAIN -letsencrypt $LETS_ENCRYPT -os $OS \
|
||||
-corev $COREVERSION -webv $WEBVERSION -dbname "$DATABASE"
|
||||
-corev $COREVERSION -webv $WEBVERSION -dbname "$DATABASE" -keyconnectorv $KEYCONNECTORVERSION
|
||||
}
|
||||
|
||||
function dockerComposeUp() {
|
||||
@ -177,15 +183,17 @@ function updateDatabase() {
|
||||
MSSQL_ID=$(docker-compose ps -q mssql)
|
||||
docker run -i --rm --name setup --network container:$MSSQL_ID \
|
||||
-v $OUTPUT_DIR:/bitwarden --env-file $ENV_DIR/uid.env bitwarden/setup:$COREVERSION \
|
||||
dotnet Setup.dll -update 1 -db 1 -os $OS -corev $COREVERSION -webv $WEBVERSION
|
||||
dotnet Setup.dll -update 1 -db 1 -os $OS -corev $COREVERSION -webv $WEBVERSION -keyconnectorv $KEYCONNECTORVERSION
|
||||
echo "Database update complete"
|
||||
}
|
||||
|
||||
function updatebw() {
|
||||
CORE_ID=$(docker-compose ps -q admin)
|
||||
WEB_ID=$(docker-compose ps -q web)
|
||||
KEYCONNECTOR_ID=$(docker-compose ps -q key-connector)
|
||||
if docker inspect --format='{{.Config.Image}}:' $CORE_ID | grep -F ":$COREVERSION:" | grep -q ":[0-9.]*:$" &&
|
||||
docker inspect --format='{{.Config.Image}}:' $WEB_ID | grep -F ":$WEBVERSION:" | grep -q ":[0-9.]*:$"
|
||||
docker inspect --format='{{.Config.Image}}:' $WEB_ID | grep -F ":$WEBVERSION:" | grep -q ":[0-9.]*:$" &&
|
||||
docker inspect --format='{{.Config.Image}}:' $KEYCONNECTOR_ID | grep -F ":$KEYCONNECTORVERSION:" | grep -q ":[0-9.]*:$"
|
||||
then
|
||||
echo "Update not needed"
|
||||
exit
|
||||
@ -205,14 +213,14 @@ function update() {
|
||||
fi
|
||||
docker run -i --rm --name setup -v $OUTPUT_DIR:/bitwarden \
|
||||
--env-file $ENV_DIR/uid.env bitwarden/setup:$COREVERSION \
|
||||
dotnet Setup.dll -update 1 -os $OS -corev $COREVERSION -webv $WEBVERSION
|
||||
dotnet Setup.dll -update 1 -os $OS -corev $COREVERSION -webv $WEBVERSION -keyconnectorv $KEYCONNECTORVERSION
|
||||
}
|
||||
|
||||
function printEnvironment() {
|
||||
pullSetup
|
||||
docker run -i --rm --name setup -v $OUTPUT_DIR:/bitwarden \
|
||||
--env-file $ENV_DIR/uid.env bitwarden/setup:$COREVERSION \
|
||||
dotnet Setup.dll -printenv 1 -os $OS -corev $COREVERSION -webv $WEBVERSION
|
||||
dotnet Setup.dll -printenv 1 -os $OS -corev $COREVERSION -webv $WEBVERSION -keyconnectorv $KEYCONNECTORVERSION
|
||||
}
|
||||
|
||||
function restart() {
|
||||
|
@ -18,6 +18,7 @@ namespace Bit.Setup
|
||||
public string HostOS { get; set; } = "win";
|
||||
public string CoreVersion { get; set; } = "latest";
|
||||
public string WebVersion { get; set; } = "latest";
|
||||
public string KeyConnectorVersion { get; set; } = "latest";
|
||||
public Installation Install { get; set; } = new Installation();
|
||||
public Configuration Config { get; set; } = new Configuration();
|
||||
|
||||
|
@ -61,6 +61,10 @@ namespace Bit.Setup
|
||||
{
|
||||
WebVersion = context.WebVersion;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(context.KeyConnectorVersion))
|
||||
{
|
||||
KeyConnectorVersion = context.KeyConnectorVersion;
|
||||
}
|
||||
}
|
||||
|
||||
public string ComposeVersion { get; set; } = "3";
|
||||
@ -71,6 +75,7 @@ namespace Bit.Setup
|
||||
public bool HasPort => !string.IsNullOrWhiteSpace(HttpPort) || !string.IsNullOrWhiteSpace(HttpsPort);
|
||||
public string CoreVersion { get; set; } = "latest";
|
||||
public string WebVersion { get; set; } = "latest";
|
||||
public string KeyConnectorVersion { get; set; } = "latest";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,10 @@ namespace Bit.Setup
|
||||
{
|
||||
_context.WebVersion = _context.Parameters["webv"];
|
||||
}
|
||||
if (_context.Parameters.ContainsKey("keyconnectorv"))
|
||||
{
|
||||
_context.KeyConnectorVersion = _context.Parameters["keyconnectorv"];
|
||||
}
|
||||
if (_context.Parameters.ContainsKey("stub"))
|
||||
{
|
||||
_context.Stub = _context.Parameters["stub"] == "true" ||
|
||||
|
@ -197,7 +197,7 @@ services:
|
||||
|
||||
{{#if EnableKeyConnector}}
|
||||
key-connector:
|
||||
image: bitwarden/key-connector:latest
|
||||
image: bitwarden/key-connector:{{{KeyConnectorVersion}}}
|
||||
container_name: bitwarden-key-connector
|
||||
restart: always
|
||||
volumes:
|
||||
|
Loading…
Reference in New Issue
Block a user