From 26e7c13533714a6d7a4541922bf50658a9fa0add Mon Sep 17 00:00:00 2001 From: Akshay2191 Date: Thu, 9 Apr 2026 17:31:22 +0100 Subject: [PATCH 1/6] preserve config in V3 -> V3 upgrade in OracleLinux --- .github/workflows/ci.yml | 2 ++ scripts/packages/postinstall.sh | 36 ++++++++++++++++++++++ scripts/packages/postremove.sh | 46 ++++++++++++++++++++++++++-- scripts/packages/preinstall.sh | 34 ++++++++++++++++++++ test/docker/nginx-oss/rpm/Dockerfile | 8 ++--- 5 files changed, 120 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index efb6bf2d95..9a51b7a679 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -306,6 +306,8 @@ jobs: version: "9" - image: "alpine" version: "3.22" + - image: "oraclelinux" + version: "8" steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Get Secrets from Azure Key Vault diff --git a/scripts/packages/postinstall.sh b/scripts/packages/postinstall.sh index 3c2f252b1b..0e65e7944d 100755 --- a/scripts/packages/postinstall.sh +++ b/scripts/packages/postinstall.sh @@ -191,6 +191,42 @@ summary() { create_run_dir update_user_groups update_unit_file + + # If the config file is missing after installation (e.g. removed by package cleanup during upgrade), + # restore the pre-upgrade backup if one exists. + PREBACKUP="${AGENT_LIB_DIR}/nginx-agent.conf.preupgrade" + + is_rhel_family() { + printf "%s\n" "$ID" "$ID_LIKE" | grep -Eq '\brhel\b|\bcentos\b|\bol\b|\balmalinux\b|\brocky\b|\bamzn\b' 2>/dev/null + } + + is_rpm_based() { + printf "%s\n" "$ID" "$ID_LIKE" | grep -Eq '\brhel\b|\bcentos\b|\bol\b|\balmalinux\b|\brocky\b|\bamzn\b|\boraclelinux\b' 2>/dev/null + } + + PREV_VER_FILE="${AGENT_LIB_DIR}/nginx-agent.preupgrade.version" + PREV_MAJOR="" + if [ -f "${PREV_VER_FILE}" ]; then + PREV_MAJOR=$(sed -n 's/^.*version v\([0-9]\+\).*$/\1/p' "${PREV_VER_FILE}" || true) + fi + + # Restore config on RPM-based systems for V3→V3 upgrades + if is_rpm_based && [ "${PREV_MAJOR}" = "3" ] && [ ! -f "${AGENT_ETC_DIR}/nginx-agent.conf" ] && [ -f "${PREBACKUP}" ]; then + printf "PostInstall: Restoring missing nginx-agent config from %s (prev major=%s) on RPM system\n" "${PREBACKUP}" "${PREV_MAJOR}" + mkdir -p "${AGENT_ETC_DIR}" || true + cp -a "${PREBACKUP}" "${AGENT_ETC_DIR}/nginx-agent.conf" || true + chown root:${AGENT_GROUP} "${AGENT_ETC_DIR}/nginx-agent.conf" || true + chmod 0640 "${AGENT_ETC_DIR}/nginx-agent.conf" || true + fi + + # Restore manifest file if missing + MANIFEST_BACKUP="${AGENT_LIB_DIR}/manifest.json.preupgrade" + if is_rpm_based && [ "${PREV_MAJOR}" = "3" ] && [ ! -f "${AGENT_LIB_DIR}/manifest.json" ] && [ -f "${MANIFEST_BACKUP}" ]; then + printf "PostInstall: Restoring missing manifest from %s (prev major=%s) on RPM system\n" "${MANIFEST_BACKUP}" "${PREV_MAJOR}" + mkdir -p "${AGENT_LIB_DIR}" || true + cp -a "${MANIFEST_BACKUP}" "${AGENT_LIB_DIR}/manifest.json" || true + fi + restart_agent_if_required summary } diff --git a/scripts/packages/postremove.sh b/scripts/packages/postremove.sh index 14f93b8d25..117e123d60 100755 --- a/scripts/packages/postremove.sh +++ b/scripts/packages/postremove.sh @@ -32,6 +32,34 @@ full_cleanup() { rm -rf "/var/lib/nginx-agent" } +is_agent_installed() { + # Check if nginx-agent binary still exists + if [ -f "/usr/bin/nginx-agent" ]; then + return 0 # Agent is installed + else + return 1 # Agent is not installed + fi +} + +is_package_installed() { + # Check if nginx-agent package is still installed using package manager + case "$ID" in + debian|ubuntu) + dpkg -l | grep -q '^ii.*nginx-agent' && return 0 || return 1 + ;; + rhel|fedora|centos|amzn|almalinux|rocky|ol) + rpm -q nginx-agent >/dev/null 2>&1 && return 0 || return 1 + ;; + alpine) + apk info nginx-agent >/dev/null 2>&1 && return 0 || return 1 + ;; + *) + return 1 + ;; + esac +} + + case "$ID" in debian|ubuntu) case "$1" in @@ -49,12 +77,26 @@ case "$ID" in ;; esac ;; - rhel|fedora|centos|amzn|almalinux|rocky) + rhel|fedora|centos|amzn|almalinux|rocky|ol) if [ "$1" = "0" ]; then + # Package is being completely removed + echo "PostRemove: Package being removed (not upgraded)" stop_agent_systemd disable_agent_systemd systemd_daemon_reload - full_cleanup + + # Check if agent binary still exists (it shouldn't in a real removal) + if ! is_agent_installed; then + echo "PostRemove: Agent binary not found, performing full cleanup" + full_cleanup + else + echo "PostRemove: Agent binary still present, performing partial cleanup only" + cleanup + fi + elif [ "$1" = "1" ]; then + # Package is being upgraded + echo "PostRemove: Agent is being upgraded, performing partial cleanup only" + cleanup fi ;; alpine) diff --git a/scripts/packages/preinstall.sh b/scripts/packages/preinstall.sh index 530aa27068..33363eb00a 100644 --- a/scripts/packages/preinstall.sh +++ b/scripts/packages/preinstall.sh @@ -149,5 +149,39 @@ command: { title ensure_sudo + + # Preserve existing config before upgrade on RHEL-family systems and only for V3->V3 upgrades. + is_rhel_family() { + printf "%s\n" "$ID" "$ID_LIKE" | grep -Eq '\brhel\b|\bcentos\b|\bol\b|\balmalinux\b|\brocky\b|\bamzn\b' 2>/dev/null + } + + INSTALLED_VERSION="" + INSTALLED_MAJOR="" + if command -v nginx-agent >/dev/null 2>&1; then + INSTALLED_VERSION=$(nginx-agent -v 2>/dev/null || true) + INSTALLED_MAJOR=$(printf "%s" "$INSTALLED_VERSION" | sed -n 's/^.*version v\([0-9]\+\).*$/\1/p' || true) + fi + + AGENT_LIB_DIR=${AGENT_LIB_DIR:-"/var/lib/nginx-agent"} + AGENT_CONFIG_BACKUP="${AGENT_LIB_DIR}/nginx-agent.conf.preupgrade" + + if is_rhel_family && [ -n "${INSTALLED_MAJOR}" ] && [ "${INSTALLED_MAJOR}" -eq 3 ] && [ -f "${AGENT_CONFIG_FILE}" ]; then + mkdir -p "${AGENT_LIB_DIR}" || true + if [ ! -f "${AGENT_CONFIG_BACKUP}" ]; then + echo "Backing up existing config to ${AGENT_CONFIG_BACKUP}" + cp -a "${AGENT_CONFIG_FILE}" "${AGENT_CONFIG_BACKUP}" || true + fi + + # Also backup the manifest file + MANIFEST_BACKUP="${AGENT_LIB_DIR}/manifest.json.preupgrade" + if [ ! -f "${MANIFEST_BACKUP}" ] && [ -f "${AGENT_LIB_DIR}/manifest.json" ]; then + echo "Backing up existing manifest to ${MANIFEST_BACKUP}" + cp -a "${AGENT_LIB_DIR}/manifest.json" "${MANIFEST_BACKUP}" || true + fi + + printf "%s" "${INSTALLED_VERSION}" > "${AGENT_LIB_DIR}/nginx-agent.preupgrade.version" 2>/dev/null || true + fi + + update_config_file } diff --git a/test/docker/nginx-oss/rpm/Dockerfile b/test/docker/nginx-oss/rpm/Dockerfile index af6568422c..8db9618c0b 100644 --- a/test/docker/nginx-oss/rpm/Dockerfile +++ b/test/docker/nginx-oss/rpm/Dockerfile @@ -38,10 +38,10 @@ enabled=1" > /etc/yum.repos.d/nginx.repo; \ RUN set -x \ - && groupadd --system --gid 101 nginx \ - && adduser -g nginx --system --no-create-home --home /nonexistent --shell /bin/false --uid 101 nginx \ - && usermod -s /sbin/nologin nginx \ - && usermod -L nginx \ + && groupadd --system --gid 101 nginx 2>/dev/null || groupadd --system nginx \ + && adduser -g nginx --system --no-create-home --home /nonexistent --shell /bin/false --uid 101 nginx 2>/dev/null || true \ + && usermod -s /sbin/nologin nginx 2>/dev/null || true \ + && usermod -L nginx 2>/dev/null || true \ && yum install -y git \ wget \ procps \ From 627752538bb9d66ffd145353409b7045d880ea2d Mon Sep 17 00:00:00 2001 From: Akshay2191 Date: Thu, 9 Apr 2026 20:20:51 +0100 Subject: [PATCH 2/6] fixing upgrade test --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d523ce50f8..73e9b5adb3 100644 --- a/Makefile +++ b/Makefile @@ -89,7 +89,7 @@ else endif SELECTED_PACKAGE = $(DEB_PACKAGE) -ifeq ($(OS_RELEASE),redhatenterprise) +ifeq (,$(filter $(OS_RELEASE),redhatenterprise ol)) SELECTED_PACKAGE = $(RPM_PACKAGE) else ifeq ($(OS_RELEASE),alpine) SELECTED_PACKAGE = $(APK_PACKAGE) From 0c5ac7e0c5786b43e3de74251fef81bde634362d Mon Sep 17 00:00:00 2001 From: Akshay2191 Date: Thu, 9 Apr 2026 20:55:29 +0100 Subject: [PATCH 3/6] fix package selection --- Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 73e9b5adb3..46db6ad93a 100644 --- a/Makefile +++ b/Makefile @@ -89,7 +89,9 @@ else endif SELECTED_PACKAGE = $(DEB_PACKAGE) -ifeq (,$(filter $(OS_RELEASE),redhatenterprise ol)) +ifeq ($(OS_RELEASE),redhatenterprise) + SELECTED_PACKAGE = $(RPM_PACKAGE) +else ifeq ($(OS_RELEASE),ol) SELECTED_PACKAGE = $(RPM_PACKAGE) else ifeq ($(OS_RELEASE),alpine) SELECTED_PACKAGE = $(APK_PACKAGE) From 9c8e3e1828be07cac8c6bb8689b89268d1355f6b Mon Sep 17 00:00:00 2001 From: Akshay2191 Date: Thu, 9 Apr 2026 21:17:40 +0100 Subject: [PATCH 4/6] updated os to fix upgrade test --- Makefile | 2 +- go.sum | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 46db6ad93a..b01c24907e 100644 --- a/Makefile +++ b/Makefile @@ -91,7 +91,7 @@ endif SELECTED_PACKAGE = $(DEB_PACKAGE) ifeq ($(OS_RELEASE),redhatenterprise) SELECTED_PACKAGE = $(RPM_PACKAGE) -else ifeq ($(OS_RELEASE),ol) +else ifeq ($(OS_RELEASE),oraclelinux) SELECTED_PACKAGE = $(RPM_PACKAGE) else ifeq ($(OS_RELEASE),alpine) SELECTED_PACKAGE = $(APK_PACKAGE) diff --git a/go.sum b/go.sum index 52fb5cbb75..1539437d7d 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,3 @@ -buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.9-20250912141014-52f32327d4b0.1 h1:DQLS/rRxLHuugVzjJU5AvOwD57pdFl9he/0O7e5P294= -buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.9-20250912141014-52f32327d4b0.1/go.mod h1:aY3zbkNan5F+cGm9lITDP6oxJIwu0dn9KjJuJjWaHkg= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260209202127-80ab13bee0bf.1 h1:PMmTMyvHScV9Mn8wc6ASge9uRcHy0jtqPd+fM35LmsQ= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260209202127-80ab13bee0bf.1/go.mod h1:tvtbpgaVXZX4g6Pn+AnzFycuRK3MOz5HJfEGeEllXYM= buf.build/go/protovalidate v1.0.0 h1:IAG1etULddAy93fiBsFVhpj7es5zL53AfB/79CVGtyY= @@ -1187,8 +1185,6 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= -google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= -google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 37a464285d9efa493cad28ad72df7cded2c7a25c Mon Sep 17 00:00:00 2001 From: Akshay2191 Date: Mon, 13 Apr 2026 16:54:38 +0100 Subject: [PATCH 5/6] always restoring config files --- go.mod | 1 - go.sum | 22 ++-------------------- scripts/packages/postinstall.sh | 10 +++++----- 3 files changed, 7 insertions(+), 26 deletions(-) diff --git a/go.mod b/go.mod index 9829cf6c7c..4d28bba3d9 100644 --- a/go.mod +++ b/go.mod @@ -270,7 +270,6 @@ require ( github.com/splunk/stef/go/otel v0.0.8 // indirect github.com/splunk/stef/go/pdata v0.0.8 // indirect github.com/splunk/stef/go/pkg v0.0.8 // indirect - github.com/stoewer/go-strcase v1.3.1 // indirect github.com/stretchr/objx v0.5.3 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/tilinna/clock v1.1.0 // indirect diff --git a/go.sum b/go.sum index 2be299dcb8..67816a4cef 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,5 @@ buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260209202127-80ab13bee0bf.1 h1:PMmTMyvHScV9Mn8wc6ASge9uRcHy0jtqPd+fM35LmsQ= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260209202127-80ab13bee0bf.1/go.mod h1:tvtbpgaVXZX4g6Pn+AnzFycuRK3MOz5HJfEGeEllXYM= -buf.build/go/protovalidate v1.0.0 h1:IAG1etULddAy93fiBsFVhpj7es5zL53AfB/79CVGtyY= -buf.build/go/protovalidate v1.0.0/go.mod h1:KQmEUrcQuC99hAw+juzOEAmILScQiKBP1Oc36vvCLW8= buf.build/go/protovalidate v1.1.3 h1:m2GVEgQWd7rk+vIoAZ+f0ygGjvQTuqPQapBBdcpWVPE= buf.build/go/protovalidate v1.1.3/go.mod h1:9XIuohWz+kj+9JVn3WQneHA5LZP50mjvneZMnbLkiIE= cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4= @@ -122,12 +120,8 @@ github.com/brianvoe/gofakeit/v6 v6.28.0 h1:Xib46XXuQfmlLS2EXRuJpqcw8St6qSZz75OUo github.com/brianvoe/gofakeit/v6 v6.28.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs= github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= -github.com/bytedance/sonic v1.14.0 h1:/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQQ= -github.com/bytedance/sonic v1.14.0/go.mod h1:WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA= github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= github.com/bytedance/sonic v1.15.0/go.mod h1:tFkWrPz0/CUCLEF4ri4UkHekCIcdnkqXw9VduqpJh0k= -github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA= -github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= github.com/bytedance/sonic/loader v0.5.0 h1:gXH3KVnatgY7loH5/TkeVyXPfESoqSBSBEiDd5VjlgE= github.com/bytedance/sonic/loader v0.5.0/go.mod h1:AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -227,8 +221,6 @@ github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9 github.com/gabriel-vasile/mimetype v1.4.13/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= -github.com/gin-gonic/gin v1.10.1 h1:T0ujvqyCSqRopADpgPgiTT63DUQVSfojyME59Ei63pQ= -github.com/gin-gonic/gin v1.10.1/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= github.com/gin-gonic/gin v1.12.0 h1:b3YAbrZtnf8N//yjKeU2+MQsh2mY5htkZidOM7O0wG8= github.com/gin-gonic/gin v1.12.0/go.mod h1:VxccKfsSllpKshkBWgVgRniFFAzFb9csfngsqANjnLc= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -270,8 +262,6 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= -github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-playground/validator/v10 v10.30.1 h1:f3zDSN/zOma+w6+1Wswgd9fLkdwy06ntQJp0BBvFG0w= github.com/go-playground/validator/v10 v10.30.1/go.mod h1:oSuBIQzuJxL//3MelwSLD5hc2Tu889bF0Idm9Dg26cM= github.com/go-resty/resty/v2 v2.16.5 h1:hBKqmWrr7uRc3euHVqmh1HTHcKn99Smr7o5spptdhTM= @@ -285,8 +275,6 @@ github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= -github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= @@ -308,8 +296,6 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/cel-go v0.26.1 h1:iPbVVEdkhTX++hpe3lzSk7D3G3QSYqLGoHOcEio+UXQ= -github.com/google/cel-go v0.26.1/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= github.com/google/cel-go v0.27.0 h1:e7ih85+4qVrBuqQWTW4FKSqZYokVuc3HnhH5keboFTo= github.com/google/cel-go v0.27.0/go.mod h1:tTJ11FWqnhw5KKpnWpvW9CJC3Y9GK4EIS0WXnBbebzw= github.com/google/flatbuffers v25.2.10+incompatible h1:F3vclr7C3HpB1k9mxCGRMXq6FdUalZ6H/pNX4FP1v0Q= @@ -673,6 +659,8 @@ github.com/quic-go/quic-go v0.59.0 h1:OLJkp1Mlm/aS7dpKgTc6cnpynnD2Xg7C1pwL6vy/SA github.com/quic-go/quic-go v0.59.0/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/rodaine/protogofakeit v0.1.1 h1:ZKouljuRM3A+TArppfBqnH8tGZHOwM/pjvtXe9DaXH8= +github.com/rodaine/protogofakeit v0.1.1/go.mod h1:pXn/AstBYMaSfc1/RqH3N82pBuxtWgejz1AlYpY1mI0= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= @@ -715,8 +703,6 @@ github.com/splunk/stef/go/pkg v0.0.8 h1:SdcKCxODAApYU4sp/qduN934qHhIg4kE2Sc3sy22 github.com/splunk/stef/go/pkg v0.0.8/go.mod h1:eDMc/KOCPUv5ClCiF6Jcw8sDueYouDujMKhQoDbDtPw= github.com/stackitcloud/stackit-sdk-go/core v0.17.3 h1:GsZGmRRc/3GJLmCUnsZswirr5wfLRrwavbnL/renOqg= github.com/stackitcloud/stackit-sdk-go/core v0.17.3/go.mod h1:HBCXJGPgdRulplDzhrmwC+Dak9B/x0nzNtmOpu+1Ahg= -github.com/stoewer/go-strcase v1.3.1 h1:iS0MdW+kVTxgMoE1LAZyMiYJFKlOzLooE4MxjirtkAs= -github.com/stoewer/go-strcase v1.3.1/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -756,8 +742,6 @@ github.com/twmb/murmur3 v1.1.8 h1:8Yt9taO/WN3l08xErzjeschgZU2QSrwm1kclYq+0aRg= github.com/twmb/murmur3 v1.1.8/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ= github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 h1:SIKIoA4e/5Y9ZOl0DCe3eVMLPOQzJxgZpfdHHeauNTM= github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= -github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA= -github.com/ugorji/go/codec v1.3.0/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= github.com/ugorji/go/codec v1.3.1 h1:waO7eEiFDwidsBN6agj1vJQ4AG7lh2yqXyOXqhgQuyY= github.com/ugorji/go/codec v1.3.1/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ= @@ -1029,8 +1013,6 @@ go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/arch v0.20.0 h1:dx1zTU0MAE98U+TQ8BLl7XsJbgze2WnNKF/8tGp/Q6c= -golang.org/x/arch v0.20.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= golang.org/x/arch v0.22.0 h1:c/Zle32i5ttqRXjdLyyHZESLD/bB90DCU1g9l/0YBDI= golang.org/x/arch v0.22.0/go.mod h1:dNHoOeKiyja7GTvF9NJS1l3Z2yntpQNzgrjh1cU103A= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= diff --git a/scripts/packages/postinstall.sh b/scripts/packages/postinstall.sh index 0e65e7944d..ad2f9eea84 100755 --- a/scripts/packages/postinstall.sh +++ b/scripts/packages/postinstall.sh @@ -211,18 +211,18 @@ summary() { fi # Restore config on RPM-based systems for V3→V3 upgrades - if is_rpm_based && [ "${PREV_MAJOR}" = "3" ] && [ ! -f "${AGENT_ETC_DIR}/nginx-agent.conf" ] && [ -f "${PREBACKUP}" ]; then - printf "PostInstall: Restoring missing nginx-agent config from %s (prev major=%s) on RPM system\n" "${PREBACKUP}" "${PREV_MAJOR}" + if is_rpm_based && [ "${PREV_MAJOR}" = "3" ] && [ -f "${PREBACKUP}" ]; then + printf "PostInstall: Restoring nginx-agent config from %s (prev major=%s) on RPM system\n" "${PREBACKUP}" "${PREV_MAJOR}" mkdir -p "${AGENT_ETC_DIR}" || true cp -a "${PREBACKUP}" "${AGENT_ETC_DIR}/nginx-agent.conf" || true chown root:${AGENT_GROUP} "${AGENT_ETC_DIR}/nginx-agent.conf" || true chmod 0640 "${AGENT_ETC_DIR}/nginx-agent.conf" || true fi - # Restore manifest file if missing + # Restore manifest file MANIFEST_BACKUP="${AGENT_LIB_DIR}/manifest.json.preupgrade" - if is_rpm_based && [ "${PREV_MAJOR}" = "3" ] && [ ! -f "${AGENT_LIB_DIR}/manifest.json" ] && [ -f "${MANIFEST_BACKUP}" ]; then - printf "PostInstall: Restoring missing manifest from %s (prev major=%s) on RPM system\n" "${MANIFEST_BACKUP}" "${PREV_MAJOR}" + if is_rpm_based && [ "${PREV_MAJOR}" = "3" ] && [ -f "${MANIFEST_BACKUP}" ]; then + printf "PostInstall: Restoring manifest from %s (prev major=%s) on RPM system\n" "${MANIFEST_BACKUP}" "${PREV_MAJOR}" mkdir -p "${AGENT_LIB_DIR}" || true cp -a "${MANIFEST_BACKUP}" "${AGENT_LIB_DIR}/manifest.json" || true fi From ff908f55c7989ed904026fb32525aff2333bc278 Mon Sep 17 00:00:00 2001 From: Akshay2191 Date: Fri, 17 Apr 2026 09:10:50 +0100 Subject: [PATCH 6/6] disabling oraclelinux upgrade test for now --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ff7c6ac869..299ddb4324 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -306,8 +306,8 @@ jobs: version: "9" - image: "alpine" version: "3.22" - - image: "oraclelinux" - version: "8" + #- image: "oraclelinux" + # version: "8" steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Get Secrets from Azure Key Vault