diff --git a/scripts/linux-installer.sh b/scripts/linux-installer.sh index 01dc5a1..52348d3 100755 --- a/scripts/linux-installer.sh +++ b/scripts/linux-installer.sh @@ -14,6 +14,7 @@ DEFAULT_ENV="ea" # Default environment as per the release state. Change this val DEFAULT_OPERATION="install" DEFAULT_USE_ACR="false" # Temporary backward compatibility for Azure ACR DEFAULT_PEGASUS_ENABLED="false" # Enable Pegasus features +DEFAULT_KEVENTS_REPLICAS="0" # Number of Kevents replicas (0 or 1) - Used to push Kubernetes events to Grafana # Environment-specific settings ECR_ALIAS_GA="j0s5s8b0/ga" # GA ECR alias @@ -28,6 +29,7 @@ ENV="$DEFAULT_ENV" OPERATION="$DEFAULT_OPERATION" USE_ACR="$DEFAULT_USE_ACR" PEGASUS_ENABLED="$DEFAULT_PEGASUS_ENABLED" +KEVENTS_REPLICAS="$DEFAULT_KEVENTS_REPLICAS" # Derived configuration (set by setup_environment) ECR_ALIAS="" @@ -76,6 +78,7 @@ OPTIONS: [TEMPORARY: Backward compatibility for Azure ACR] --pegasus-enabled=BOOLEAN Enable Pegasus features: true, false (default: false) Note: Only supported in test environment + --kevents-replicas=NUMBER Number of Kevents replicas: 0, 1 (default: 0) --help, -h Show this help message OPERATIONS: @@ -156,6 +159,12 @@ validate_arguments() { log_info "Current environment: $ENV" return 1 fi + + # Validate Kevents replicas configuration + if [[ "$KEVENTS_REPLICAS" != "0" && "$KEVENTS_REPLICAS" != "1" ]]; then + log_error "Invalid value for kevents-replicas: '$KEVENTS_REPLICAS'. Must be 0 or 1" + return 1 + fi # Validate ACR configuration only for install operation if [[ "$USE_ACR" == "true" ]]; then @@ -243,6 +252,14 @@ parse_arguments() { ;; esac ;; + --kevents-replicas=*) + KEVENTS_REPLICAS="${1#*=}" + if [[ "$KEVENTS_REPLICAS" != "0" && "$KEVENTS_REPLICAS" != "1" ]]; then + log_error "Invalid value for --kevents-replicas: '$KEVENTS_REPLICAS'. Must be 0 or 1" + exit 1 + fi + log_info "Kevents replicas set to: $KEVENTS_REPLICAS" + ;; --help|-h) show_usage exit 0 @@ -568,7 +585,8 @@ sho_install() { --set "registry.username=${SP_ID}" \ --set "registry.password=${SP_SECRET}" \ --set "enableECR.enabled=false" \ - --set "pegasusEnabled=$PEGASUS_ENABLED" 2>&1) + --set "pegasusEnabled=$PEGASUS_ENABLED" \ + --set "keventsReplicas=$KEVENTS_REPLICAS" 2>&1) else install_output=$(helm upgrade --install "${CHART_NAME}" "${chart_file}" \ --namespace "$NAMESPACE" \ @@ -578,7 +596,8 @@ sho_install() { --set "image.tag=v${SHO_VERSION}" \ --set-string "podAnnotations.timestamp=$timestamp" \ --set "ring=$ENV" \ - --set "pegasusEnabled=$PEGASUS_ENABLED" 2>&1) + --set "pegasusEnabled=$PEGASUS_ENABLED" \ + --set "keventsReplicas=$KEVENTS_REPLICAS" 2>&1) fi if [[ $? -eq 0 ]]; then @@ -881,6 +900,7 @@ show_configuration() { if [[ "$OPERATION" == "install" ]]; then echo "Version: ${SHO_VERSION:-latest}" echo "Use ACR: $USE_ACR" + echo "Kevents Replicas: $KEVENTS_REPLICAS" fi echo "Namespace: $NAMESPACE" echo "Chart Name: $CHART_NAME" diff --git a/scripts/macos-installer.sh b/scripts/macos-installer.sh index 838f24b..5c5366b 100755 --- a/scripts/macos-installer.sh +++ b/scripts/macos-installer.sh @@ -14,6 +14,7 @@ DEFAULT_ENV="ea" # Default environment as per the release state. Change this val DEFAULT_OPERATION="install" DEFAULT_USE_ACR="false" # Temporary backward compatibility for Azure ACR DEFAULT_PEGASUS_ENABLED="false" # Enable Pegasus features +DEFAULT_KEVENTS_REPLICAS="0" # Number of Kevents replicas (0 or 1) - Used to push Kubernetes events to Grafana # Environment-specific settings ECR_ALIAS_GA="j0s5s8b0/ga" # GA ECR alias @@ -28,6 +29,7 @@ ENV="$DEFAULT_ENV" OPERATION="$DEFAULT_OPERATION" USE_ACR="$DEFAULT_USE_ACR" PEGASUS_ENABLED="$DEFAULT_PEGASUS_ENABLED" +KEVENTS_REPLICAS="$DEFAULT_KEVENTS_REPLICAS" # Derived configuration (set by setup_environment) ECR_ALIAS="" @@ -79,6 +81,7 @@ OPTIONS: [TEMPORARY: Backward compatibility for Azure ACR] --pegasus-enabled=BOOLEAN Enable Pegasus features: true, false (default: false) Note: Only supported in test environment + --kevents-replicas=NUMBER Number of Kevents replicas: 0, 1 (default: 0) --help, -h Show this help message OPERATIONS: @@ -160,6 +163,12 @@ validate_arguments() { log_info "Current environment: $ENV" return 1 fi + + # Validate Kevents replicas configuration + if [[ "$KEVENTS_REPLICAS" != "0" && "$KEVENTS_REPLICAS" != "1" ]]; then + log_error "Invalid value for kevents-replicas: '$KEVENTS_REPLICAS'. Must be 0 or 1" + return 1 + fi # Validate ACR configuration only for install operation if [[ "$USE_ACR" == "true" ]]; then @@ -247,6 +256,14 @@ parse_arguments() { ;; esac ;; + --kevents-replicas=*) + KEVENTS_REPLICAS="${1#*=}" + if [[ "$KEVENTS_REPLICAS" != "0" && "$KEVENTS_REPLICAS" != "1" ]]; then + log_error "Invalid value for --kevents-replicas: '$KEVENTS_REPLICAS'. Must be 0 or 1" + exit 1 + fi + log_info "Kevents replicas set to: $KEVENTS_REPLICAS" + ;; --help|-h) show_usage exit 0 @@ -578,7 +595,8 @@ sho_install() { --set "registry.username=${SP_ID}" \ --set "registry.password=${SP_SECRET}" \ --set "enableECR.enabled=false" \ - --set "pegasusEnabled=$PEGASUS_ENABLED" 2>&1) + --set "pegasusEnabled=$PEGASUS_ENABLED" \ + --set "keventsReplicas=$KEVENTS_REPLICAS" 2>&1) else install_output=$(helm upgrade --install "${CHART_NAME}" "${chart_file}" \ --namespace "$NAMESPACE" \ @@ -588,7 +606,8 @@ sho_install() { --set "image.tag=v${SHO_VERSION}" \ --set-string "podAnnotations.timestamp=$timestamp" \ --set "ring=$ENV" \ - --set "pegasusEnabled=$PEGASUS_ENABLED" 2>&1) + --set "pegasusEnabled=$PEGASUS_ENABLED" \ + --set "keventsReplicas=$KEVENTS_REPLICAS" 2>&1) fi if [[ $? -eq 0 ]]; then @@ -892,6 +911,7 @@ show_configuration() { if [[ "$OPERATION" == "install" ]]; then echo "Version: ${SHO_VERSION:-latest}" echo "Use ACR: $USE_ACR" + echo "Kevents Replicas: $KEVENTS_REPLICAS" fi echo "Namespace: $NAMESPACE" echo "Chart Name: $CHART_NAME" diff --git a/scripts/windows-installer.ps1 b/scripts/windows-installer.ps1 index a1b551a..38b3633 100644 --- a/scripts/windows-installer.ps1 +++ b/scripts/windows-installer.ps1 @@ -10,6 +10,8 @@ param( [string]$use_acr = "false", # Temporary backward compatibility for Azure ACR [ValidateSet("true", "false")] [string]$pegasus_enabled = "false", # Enable Pegasus features + [ValidateSet("0", "1")] + [string]$kevents_replicas = "0", # Number of Kevents replicas - Used to push Kubernetes events to Grafana [switch]$UseAcr, [Alias("h")] [switch]$help @@ -41,6 +43,7 @@ $Script:Env = $env $Script:Op = $operation $Script:UseAcr = if ($UseAcr.IsPresent) { $true } elseif ($use_acr -eq "true") { $true } else { $false } $Script:PegasusEnabled = if ($pegasus_enabled -eq "true") { $true } else { $false } +$Script:KeventsReplicas = [int]$kevents_replicas # Derived configuration $Script:EcrAlias = "" @@ -100,6 +103,7 @@ OPTIONS: [TEMPORARY: Backward compatibility for Azure ACR] -pegasus_enabled BOOLEAN Enable Pegasus features: true, false (default: false) Note: Only supported in test environment + -kevents_replicas NUMBER Number of Kevents replicas: 0, 1 (default: 0) -help, -h Show this help message OPERATIONS: @@ -613,7 +617,8 @@ function Install-Sho { # Add pegasusEnabled to helm arguments $helmArgs += @( - "--set", "pegasusEnabled=$($Script:PegasusEnabled.ToString().ToLower())" + "--set", "pegasusEnabled=$($Script:PegasusEnabled.ToString().ToLower())", + "--set", "keventsReplicas=$Script:KeventsReplicas" ) $installOutput = & helm $helmArgs 2>&1 @@ -1075,7 +1080,7 @@ Chart Name: $Script:ChartName Repository: $Script:PubRegistry/$Script:ChartRepository Image Registry: $Script:PubRegistry/$Script:ImageRegistry $(if ($Script:Op -eq 'install') { -"Version: $Script:ShoVersion`nUse ACR: $Script:UseAcr" +"Version: $Script:ShoVersion`nUse ACR: $Script:UseAcr`nKevents Replicas: $Script:KeventsReplicas" }) "@