From e065088cd8dfa828583afaaff33315a83bf6aefe Mon Sep 17 00:00:00 2001 From: ev1yehor <146825775+ev1yehor@users.noreply.github.com> Date: Tue, 16 Jul 2024 14:38:56 +0300 Subject: [PATCH 01/15] Add GH vault plugin bot to allowed list (#16301) --- .buildkite/pull-requests.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pull-requests.json b/.buildkite/pull-requests.json index a75d5d5b9d3..03d61a9b238 100644 --- a/.buildkite/pull-requests.json +++ b/.buildkite/pull-requests.json @@ -5,7 +5,7 @@ "pipeline_slug": "logstash-pull-request-pipeline", "allow_org_users": true, "allowed_repo_permissions": ["admin", "write"], - "allowed_list": ["dependabot[bot]", "mergify[bot]", "github-actions[bot]"], + "allowed_list": ["dependabot[bot]", "mergify[bot]", "github-actions[bot]", "elastic-vault-github-plugin-prod[bot]"], "set_commit_status": true, "build_on_commit": true, "build_on_comment": true, From c30aa1c7f52419c68d83f2809394a0fc35fac457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Duarte?= Date: Wed, 17 Jul 2024 10:43:57 +0100 Subject: [PATCH 02/15] regenerate webserver test certificates (#16331) --- .../generated/intermediate-ca.crt | 54 ++++----- .../generated/intermediate-ca.key | 103 ++++++++-------- .../webserver_certs/generated/root.crt | 60 +++++----- .../webserver_certs/generated/root.key | 103 ++++++++-------- .../server_from_intermediate.chain.crt | 112 +++++++++--------- .../generated/server_from_intermediate.crt | 58 ++++----- .../generated/server_from_intermediate.jks | Bin 6099 -> 6252 bytes .../generated/server_from_intermediate.key | 103 ++++++++-------- .../generated/server_from_intermediate.p12 | Bin 5950 -> 6116 bytes .../generated/server_from_root.chain.crt | 60 +++++----- .../generated/server_from_root.crt | 60 +++++----- .../generated/server_from_root.jks | Bin 4499 -> 4652 bytes .../generated/server_from_root.key | 103 ++++++++-------- .../generated/server_from_root.p12 | Bin 4462 -> 4628 bytes 14 files changed, 410 insertions(+), 406 deletions(-) diff --git a/qa/integration/fixtures/webserver_certs/generated/intermediate-ca.crt b/qa/integration/fixtures/webserver_certs/generated/intermediate-ca.crt index e772b2ea1fa..ca9ed7cba5a 100644 --- a/qa/integration/fixtures/webserver_certs/generated/intermediate-ca.crt +++ b/qa/integration/fixtures/webserver_certs/generated/intermediate-ca.crt @@ -1,32 +1,32 @@ -----BEGIN CERTIFICATE----- -MIIFgDCCA2igAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJQVDEL +MIIFgDCCA2igAwIBAgIBATANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQGEwJQVDEL MAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UECgwFTXlMYWIxDTAL -BgNVBAMMBHJvb3QwHhcNMjExMDE5MTgyNzI4WhcNMjQwNzE1MTgyNzI4WjBVMQsw +BgNVBAMMBHJvb3QwHhcNMjQwNzE2MTUzNTAzWhcNMjcwNDEyMTUzNTAzWjBVMQsw CQYDVQQGEwJQVDELMAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UE CgwFTXlMYWIxGDAWBgNVBAMMD2ludGVybWVkaWF0ZS1jYTCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAPHXRKHl/LsaDFGnys0b4mlLlGQ6qJSC5ut8FZoa -B7kDeHsi8TiFVg/RENghFBClP9aGhWxndGSeQTDkg+KPxKovXBX1J9mP+z+ol47V -QVeCT++AvPQYmtLNLwZg0e5GVHFMnVq64LlTc1XjvzjlU751A5dEq/miMpovx7fS -oI2zxtVOYx+BF4hr+WA20mxbQoGXVM8ITDBWySM5IDhngKNAfmXNQZFffJgk+pwe -++I4KzRkLU02OEUnH63/YFkn+CoZBmg+II8cNItRVYCRifXb8tsO6OEwQQEe1RSk -fmxiiiTYCDMB5GUSowCRotKTwEXgWwTLKghzzUoCPJapsb/CzY2xp/ECtQt420CJ -aosx/fLmcuKmbhW847hYq4L8HqZvjs3i7E6wjuUAgn/um28kU1PrN9l6qTJhHKKP -GZUCC/Cou0g9q7Y9ad672mWgExo0I1vXm2H1KNYy94agmXaIgmelvPBTPREkEEL6 -MnfrZKiYOG5wjSMubg0L4JYKUMuToXvfXxe6o2rDofe/oTUXErGDYV4z7vr58dQg -TM5PtxpZCLmqELaBFydB5hEBQly8Fxh3SVpuwkcaCxOlXMkdvHEK9daYfE9jV0fu -StfckkCLdDZMHI+iSdQsqK6E9vc4tX2rnhzgKex0Byu0GUEg6XoFL2GKdUOvRZTJ -/tMxAgMBAAGjZjBkMB0GA1UdDgQWBBR6wQ0Is6YucsLFNwdZ3ANX1jrgsjAfBgNV -HSMEGDAWgBSWO1UVkFl5LOuplY08xBLcfGyc+jASBgNVHRMBAf8ECDAGAQH/AgEA -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEANoo45TDx1lfglAmJ -8nt/58y7fm8trxmrSQmDAIuXZKqATNsEw/+VbIXqeC9sT2lWY9URFmmFm505JP+1 -43nM68cjfAK7ihLcGS7XwQMtQCgiQzJKeZFOx/l30lN5rRje5HHbSIF+uuwO987J -LNYJ+rS7N25lB5EQY8satuZWMVtSZ7YQCMkSJve7KjfrbE3kORjHs6jn3bdyuWAr -oApgKJgCUX3JSPZyH3T/xakMneZNkYr0CC1kNi9wL4js5I/nN2Z4er0N1Zt6PIM+ -hIJcW/Qv0BtI4bzkNkGSehm+Ofr+njuqWaaQMF7kLPTGDg/0SN63Y+X59CJQMnjF -+oW0oGm30S3okFpgXSU+DDxNPlh1j3jTMoArPvIaTceImfmsBXU62JRXQWaAr1jF -EujYbTJ147/7NmsmnskFO37Mp35JxL3ELWfMeBAL/HC11mzUbGFhtvtFqhQMWMbt -5AAR9ZUaPO8xTX6Ag8/8MXF5wFRkJBqTNn6GaX5PUrWhlAKpGuAuuR1NBY5TGUHX -NcFu+bf5JtjhgSUGB0FuZfdZvw46k30NLlT39NbXayY102XYfrAsl0X0TNqjQua1 -7j7FqYrAALQVLfYeKrE0nKaH35nU6Kk1Iy42CbB71MHqcg7DTjn0MvTKZcnQ8pxv -RQwP+BXkzwfWWEp05rlVeKS0IjQ= +AQEBBQADggIPADCCAgoCggIBALUBL8nGcBsOrfv/uI555eOiBgFYD+V3etaiFDi6 +MtZynj9oazrssevjNwP045j8a2L9apjeq9U5REs2MrYoHTEPoIeOiFPNQfiBtJt/ +DjBiXYQbrSfpkjPmRREPKkTX9lFNSlEmG3y+kNMyASvR3K4IM6Bqd+FYt/GUyhZP +LFx9ZhRAiq5uulLqVaAdAp+wdjAXeSedtCTs+20aW+NKA32+Pb8vzJp6HOmh+ZXl +orlEyKKfUYI3ODu9IoXTu6ZN8XZ4LfrDu47wswgQU4n2TOn+Qm7nwE9GIjQBjYOz +s3eUYyzE/z5oyrC6t2Z2ZEq2pCwMwf7iPXRFrgSvgLJCCSdwrB/bTxghM0vmFeoV +V2vfTp3VC/WbSW59tV++iMyMQTPw+grg0NEJCrwNnFJ1DL9iT0f902z2mknxuCM+ +2HGpt2EG+FnU4kR2gHQKt4BNGIuscchp8J85CGjheoNvuHaUktVWwqUaHUL8b9MV +dav10Obfr0+bWNIY2xsufM8sX/QP3VsfJ/nFkoImYNW5SI5g7/5DTIxIE/z8Ab1a +4JT2JCzPO8wDFyle4RVOG+2WfDBUkkjIjXlfxBwLneTPzqv5jmpPIwcpdF0c9bWw +Jwb/e4hB/bAFwZvLFr0aypJ0Zqbc/67n5HDsKx8+/XUKar1qPP6AzrfecOmBwwOH +AsE7AgMBAAGjZjBkMB0GA1UdDgQWBBT5X+u4LkGBED9seTSNYgA40tXJUTAfBgNV +HSMEGDAWgBQB2VzO86glAf1wb5+bjW8YPxZlpTASBgNVHRMBAf8ECDAGAQH/AgEA +MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAGb6iGwxKXTSgxP96 +4UMtpKYFGykBuajxr105jFSjXArhjj5/U21nIHQ3vrmAGAMY6iaaeKJ78gYSfm+O +zC5o8f4PLxtPfRJGymGUISrtIpBUTz+CVNAwQw0yrAeROizoUBhpDmUVrzlSfwgm +uH3H94jvi/IpoxUezsr1tS48G8ayaVlrPLflBhgX1NXzonA0KqGNdm5AwOx3jgZi +v5PYtz6xR1NtINnGm42A078gL9XHXmZowacGPNf7flwU9UzU1LDb1snGCxOgNq0e +ABZmd4TbEqMs1mAmn6ymzAIU2wBOStcC0is1MJ1j/NVVixETrx65UY1BTMlIojDT +bV4fbYy7jo8rtoLdnwFd+DdXna2LJ8qq+7CE35f9c+ZxLkdSfqADISwkhR+J/6TB +plRVyBc4eiPdSV27qPbjMOEHKy43+rHTsBILqIOQ0sBlMe8DgD8ZXo+PUM1Ptadn +PsuHwSflCrIz6AHgG/nORSDQf+7U79mejzi3fIjwYyYpSlBemTuW+z3x1xizN6PY +CK9zuZu8K9Z/F7GQmr3xBEtWqH2rd7TcN7fQP+zmG/v++vPlE38cQFWv5vVISxJe +U6AOJmXKNvDB4QR5CPsd6UWn/Nb1K3/MlDu5ymLq9JXm/GeokaGqHuaLLR20yN7w +/kNCmGr6r+cWAxpEZkmSBUg8/ps= -----END CERTIFICATE----- diff --git a/qa/integration/fixtures/webserver_certs/generated/intermediate-ca.key b/qa/integration/fixtures/webserver_certs/generated/intermediate-ca.key index 17a1eadb3ed..924a050733e 100644 --- a/qa/integration/fixtures/webserver_certs/generated/intermediate-ca.key +++ b/qa/integration/fixtures/webserver_certs/generated/intermediate-ca.key @@ -1,51 +1,52 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +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 +UhU2dLCAXnNdC7uFxDlGq9G5/e6SHw== +-----END PRIVATE KEY----- diff --git a/qa/integration/fixtures/webserver_certs/generated/root.crt b/qa/integration/fixtures/webserver_certs/generated/root.crt index d5653f0e853..23c26078be2 100644 --- a/qa/integration/fixtures/webserver_certs/generated/root.crt +++ b/qa/integration/fixtures/webserver_certs/generated/root.crt @@ -1,32 +1,32 @@ -----BEGIN CERTIFICATE----- -MIIFejCCA2KgAwIBAgIJAMwwXnXAAUBzMA0GCSqGSIb3DQEBCwUAMEoxCzAJBgNV -BAYTAlBUMQswCQYDVQQIDAJOQTEPMA0GA1UEBwwGTGlzYm9uMQ4wDAYDVQQKDAVN -eUxhYjENMAsGA1UEAwwEcm9vdDAeFw0yMTEwMTkxODI3MjdaFw0yNjEwMTkxODI3 -MjdaMEoxCzAJBgNVBAYTAlBUMQswCQYDVQQIDAJOQTEPMA0GA1UEBwwGTGlzYm9u -MQ4wDAYDVQQKDAVNeUxhYjENMAsGA1UEAwwEcm9vdDCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBAMfReGxhC2tJH3y/4knTrBSrtezJb5fDs9Xy41Gdr5ng -YEQXi7JQb/MXvGst4xxX77kbBv8uo1egL6gnvZfUqbsrGS8IzhBWtRET+yaYw2ez -wZW+d9RGjsFTOGvkSpv55/VdGvtaXeMeqTbuyYZSzakNYD7AH2VDCS2q+IdF/ezm -ocOki5faj6A92yxvbHUZM1jS+Ah/v2yzJOAkrhT1XIBKyaG/g+woQxZpMS0PjpKY -K7K9XPIkU/Z2gsQkRfDQAxXTqba4Bl84/aA+aLTYqib/5WhxVuc8vjk+7g01y2qX -5aPYs3L2LToUfwPh/6leHx37d7YouPp3X3CnPyl15r20FjTFKTV6Y0he3tgmWnjC -BP0/qlCYeh1mnKFQSo688fw7K25dPhcnPctdVp5Xr6jz8GBaGgCu5hEx/QI7WzXy -qKdyyIj3gEQuHyu8RUrTUA3uruPa8TlouAu616yNNqw3EzrEjmWX+D4HRq32ofkK -FXqFxFurfzxyVJjX1P2+VP0h8fPoZJzBwfwm1hFxLpROQXVBX+b7j2S4kv/Lp156 -mV0frWXlYwTvtM+7PKONnwSIOkiTic8Zv5TcMLoW6p4RNY6b0SDzt+e90h20OeAS -R1gv7VhGfR2JYMd1C0Ke8D9i2FebX9r6T/BfRMRJBNKj6wr6OFvhz+eImNuiAaxn -AgMBAAGjYzBhMB0GA1UdDgQWBBSWO1UVkFl5LOuplY08xBLcfGyc+jAfBgNVHSME -GDAWgBSWO1UVkFl5LOuplY08xBLcfGyc+jAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAHquJcXAZlMpY3z748dmIfKGb -7F4fGgTwGJ/9PLIZdZXDRIiA/GZs9IGA+Kykv/95jJsq1ZVN7O7UoBqbTxbsddoU -EhBe3BKaJtkIuB5anRmw600lZlIFgSU1uSXyZoDBD9LnQnb13f2UQJKvzNbvoisC -f23JIVCQhGUiqVVYKF80tWlbTpnA+pIPvaWpzSI8FEjz2NGmol948aEp4OET5v/R -obWImc/X30t5Z4wO620DCNVhwx+zzomAio3dmQRnnUrVT9IwKxFmEA+0V4O4JPUz -YQMyuLuoqrvywz7JeV3GvCy+yI5uoF7u5m7e5Kh3A1G3xfbw36M3fYAQNhh/5y01 -ySimOmx6CXoX60z31RFlrXgAycLWKixkjllQTMCMvtcFOszLSpP7WoB2/l7s+9oz -iMEnjwvtUcXJ0rRHr2ENmyG8BBPKZZhKp2b/kumQnYa8Vj8FVFXGijLNF2QHyIWr -jzc9ntZyUb2LOWA2Dwtk6BxgJrKfx6N4n6itwd//mzCz0GQZEVPwlLUw0qO1qt5+ -dSP5ifsecUSsXge3nl+pZmS60Jo1/sF3QhFiFbKMRi19SqvI2X+vDwAbsS05PMdt -HpN/JLfaeabqjoYeEpCGRm7ZSIR0Os9c5qJpXo6V9kOUbQKMNwJ075pPaQEE+2Vn -IQqdInXs3f5UoI5afJQ= +MIIFhTCCA22gAwIBAgIUM0vS1bRQQCJzcfsSQBT78uhQ7lUwDQYJKoZIhvcNAQEL +BQAwSjELMAkGA1UEBhMCUFQxCzAJBgNVBAgMAk5BMQ8wDQYDVQQHDAZMaXNib24x +DjAMBgNVBAoMBU15TGFiMQ0wCwYDVQQDDARyb290MB4XDTI0MDcxNjE1MzUwM1oX +DTI5MDcxNjE1MzUwM1owSjELMAkGA1UEBhMCUFQxCzAJBgNVBAgMAk5BMQ8wDQYD +VQQHDAZMaXNib24xDjAMBgNVBAoMBU15TGFiMQ0wCwYDVQQDDARyb290MIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqtMGs9xm1Z6/B0FrYwxALZmzXk9E +HwS9mfmPbPUW+ZceZ8LcF9deWU+gtBwEZpV13ILhwHdlMacsnW0iriQtZKmX5/wU +Eg14tRj/vvDz3uOXv7dQ+h2VghlFvQD7iTxRt39a1NnbrKMmWQ+vzAwGOcuWthY/ +Ec9JZdYbvsBCS+RMCcQrd1E9xHjV+HYIdS18Hr5TVxnfW/Flm931i6tDsTFXvMwk +dqgCuajMvEKR3yhDx6rFxxRN9vIezbyMuVBjNhYsRVvv8FNQOKOMIadjb/vRrkMK +VgUL4WYi/liqjSCIV1rC+7v/DnvXPOCSaJgNBvB0zMJNPxSgTe8iH/LVnEHuCEu2 +MSnUVL+AApKOjiYK1Wr4h9ymllnRgq5XlsUwGnFkcaEkGO1UaHNFs4z89dr32hye +RO3T7B5ChQVvjbYK7piDDto69OW397i+yHVLxD681+KrZuKOeMZr9iFFZaFLeh0V +7l/hahhIlnZGdK5hGWIHZu+c+kfP1Q79drspE7Rr4AoMxVInxce7qV3lNMUp2v1a +0EjyFJ+iJquIBQdJTtX1rYWdFA5BBA00DGGRbIYiOheKOEnTcCsUevx4T8+2G0PM +pyCDTy7rj4pnXLr5ziSsfSww8JnxsU1IOijJ4L4b/qGCJ9JfQpslfgLBfwOJ94ZJ +mv7qjgAcR1HrV6cCAwEAAaNjMGEwHQYDVR0OBBYEFAHZXM7zqCUB/XBvn5uNbxg/ +FmWlMB8GA1UdIwQYMBaAFAHZXM7zqCUB/XBvn5uNbxg/FmWlMA8GA1UdEwEB/wQF +MAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBslT8qF4mm +B6nKUPREE/YP8Q6nTXgZ5XhhHsBAHNTP+U2/lNjfQdFUva9mHwJRts5w59phfMpw +5gTiXJqdTzZEIEN7cdKX2aNL7id6on9j7OoJsQ81MzhUu8rOGqeCYFJFlCMXeby6 +VgInIxhIoe2RrM2bJYw8turWd/+VAa34ehvS3knvGGUTEr/8sqJ14hwifpRl+YB9 +iC1CTL0k00YXJ1IFC6sUaVya0KCRzd/J3I9XnUKOvHxSavA5QosUoWjQde+lJM+J +8sJHudaM1I2bn+8M9jqSO06/SNMdoNhbapKyvRV2DUwpMbe4WT8Ufnvbxwvw7vnA ++0E7X10KcaLn4+0tKhmNLHb1hjbaGryHO9ESSFGa7uMeiQYo0OQeuLWgRb6mOsZr +x/VEuytnK+YwR0+vXBCC7PSxuZ7G/MPv374w/+6b+rsrqz6o5JdgjTu27OISbNv9 +5IxA9+DfNvqyLvSQ72M3W6BHAE5BT9/JsTppcJ0KXc1Hkb9dJEIScO05FdsDC+SH +XvTmuXCf6G5XkrLldshntu1M2MI2Usw5ZK2RP3H25F/AOPxQDim5awMp7Feo0JYC +EXJedqqTtc1M7ub8XVvIHTaT2jNoa5uuV8ujyiaLXZqZty+UUkXUFHx4UDDWnOrz +mHyg8QosOZgiGREyjq0FJNDr9337zIfNkA== -----END CERTIFICATE----- diff --git a/qa/integration/fixtures/webserver_certs/generated/root.key b/qa/integration/fixtures/webserver_certs/generated/root.key index 06006400851..29cef4f921d 100644 --- a/qa/integration/fixtures/webserver_certs/generated/root.key +++ b/qa/integration/fixtures/webserver_certs/generated/root.key @@ -1,51 +1,52 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +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 +tiYXTiDTadKNODupVYUpbHSfZcFvRhE= +-----END PRIVATE KEY----- diff --git a/qa/integration/fixtures/webserver_certs/generated/server_from_intermediate.chain.crt b/qa/integration/fixtures/webserver_certs/generated/server_from_intermediate.chain.crt index f4c8cf7f5a5..c2360f241e6 100644 --- a/qa/integration/fixtures/webserver_certs/generated/server_from_intermediate.chain.crt +++ b/qa/integration/fixtures/webserver_certs/generated/server_from_intermediate.chain.crt @@ -1,68 +1,68 @@ -----BEGIN CERTIFICATE----- -MIIFgDCCA2igAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJQVDEL +MIIFgDCCA2igAwIBAgIBATANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQGEwJQVDEL MAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UECgwFTXlMYWIxDTAL -BgNVBAMMBHJvb3QwHhcNMjExMDE5MTgyNzI4WhcNMjQwNzE1MTgyNzI4WjBVMQsw +BgNVBAMMBHJvb3QwHhcNMjQwNzE2MTUzNTAzWhcNMjcwNDEyMTUzNTAzWjBVMQsw CQYDVQQGEwJQVDELMAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UE CgwFTXlMYWIxGDAWBgNVBAMMD2ludGVybWVkaWF0ZS1jYTCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAPHXRKHl/LsaDFGnys0b4mlLlGQ6qJSC5ut8FZoa -B7kDeHsi8TiFVg/RENghFBClP9aGhWxndGSeQTDkg+KPxKovXBX1J9mP+z+ol47V -QVeCT++AvPQYmtLNLwZg0e5GVHFMnVq64LlTc1XjvzjlU751A5dEq/miMpovx7fS -oI2zxtVOYx+BF4hr+WA20mxbQoGXVM8ITDBWySM5IDhngKNAfmXNQZFffJgk+pwe -++I4KzRkLU02OEUnH63/YFkn+CoZBmg+II8cNItRVYCRifXb8tsO6OEwQQEe1RSk -fmxiiiTYCDMB5GUSowCRotKTwEXgWwTLKghzzUoCPJapsb/CzY2xp/ECtQt420CJ -aosx/fLmcuKmbhW847hYq4L8HqZvjs3i7E6wjuUAgn/um28kU1PrN9l6qTJhHKKP -GZUCC/Cou0g9q7Y9ad672mWgExo0I1vXm2H1KNYy94agmXaIgmelvPBTPREkEEL6 -MnfrZKiYOG5wjSMubg0L4JYKUMuToXvfXxe6o2rDofe/oTUXErGDYV4z7vr58dQg -TM5PtxpZCLmqELaBFydB5hEBQly8Fxh3SVpuwkcaCxOlXMkdvHEK9daYfE9jV0fu -StfckkCLdDZMHI+iSdQsqK6E9vc4tX2rnhzgKex0Byu0GUEg6XoFL2GKdUOvRZTJ -/tMxAgMBAAGjZjBkMB0GA1UdDgQWBBR6wQ0Is6YucsLFNwdZ3ANX1jrgsjAfBgNV -HSMEGDAWgBSWO1UVkFl5LOuplY08xBLcfGyc+jASBgNVHRMBAf8ECDAGAQH/AgEA -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEANoo45TDx1lfglAmJ -8nt/58y7fm8trxmrSQmDAIuXZKqATNsEw/+VbIXqeC9sT2lWY9URFmmFm505JP+1 -43nM68cjfAK7ihLcGS7XwQMtQCgiQzJKeZFOx/l30lN5rRje5HHbSIF+uuwO987J -LNYJ+rS7N25lB5EQY8satuZWMVtSZ7YQCMkSJve7KjfrbE3kORjHs6jn3bdyuWAr -oApgKJgCUX3JSPZyH3T/xakMneZNkYr0CC1kNi9wL4js5I/nN2Z4er0N1Zt6PIM+ -hIJcW/Qv0BtI4bzkNkGSehm+Ofr+njuqWaaQMF7kLPTGDg/0SN63Y+X59CJQMnjF -+oW0oGm30S3okFpgXSU+DDxNPlh1j3jTMoArPvIaTceImfmsBXU62JRXQWaAr1jF -EujYbTJ147/7NmsmnskFO37Mp35JxL3ELWfMeBAL/HC11mzUbGFhtvtFqhQMWMbt -5AAR9ZUaPO8xTX6Ag8/8MXF5wFRkJBqTNn6GaX5PUrWhlAKpGuAuuR1NBY5TGUHX -NcFu+bf5JtjhgSUGB0FuZfdZvw46k30NLlT39NbXayY102XYfrAsl0X0TNqjQua1 -7j7FqYrAALQVLfYeKrE0nKaH35nU6Kk1Iy42CbB71MHqcg7DTjn0MvTKZcnQ8pxv -RQwP+BXkzwfWWEp05rlVeKS0IjQ= +AQEBBQADggIPADCCAgoCggIBALUBL8nGcBsOrfv/uI555eOiBgFYD+V3etaiFDi6 +MtZynj9oazrssevjNwP045j8a2L9apjeq9U5REs2MrYoHTEPoIeOiFPNQfiBtJt/ +DjBiXYQbrSfpkjPmRREPKkTX9lFNSlEmG3y+kNMyASvR3K4IM6Bqd+FYt/GUyhZP +LFx9ZhRAiq5uulLqVaAdAp+wdjAXeSedtCTs+20aW+NKA32+Pb8vzJp6HOmh+ZXl +orlEyKKfUYI3ODu9IoXTu6ZN8XZ4LfrDu47wswgQU4n2TOn+Qm7nwE9GIjQBjYOz +s3eUYyzE/z5oyrC6t2Z2ZEq2pCwMwf7iPXRFrgSvgLJCCSdwrB/bTxghM0vmFeoV +V2vfTp3VC/WbSW59tV++iMyMQTPw+grg0NEJCrwNnFJ1DL9iT0f902z2mknxuCM+ +2HGpt2EG+FnU4kR2gHQKt4BNGIuscchp8J85CGjheoNvuHaUktVWwqUaHUL8b9MV +dav10Obfr0+bWNIY2xsufM8sX/QP3VsfJ/nFkoImYNW5SI5g7/5DTIxIE/z8Ab1a +4JT2JCzPO8wDFyle4RVOG+2WfDBUkkjIjXlfxBwLneTPzqv5jmpPIwcpdF0c9bWw +Jwb/e4hB/bAFwZvLFr0aypJ0Zqbc/67n5HDsKx8+/XUKar1qPP6AzrfecOmBwwOH +AsE7AgMBAAGjZjBkMB0GA1UdDgQWBBT5X+u4LkGBED9seTSNYgA40tXJUTAfBgNV +HSMEGDAWgBQB2VzO86glAf1wb5+bjW8YPxZlpTASBgNVHRMBAf8ECDAGAQH/AgEA +MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAGb6iGwxKXTSgxP96 +4UMtpKYFGykBuajxr105jFSjXArhjj5/U21nIHQ3vrmAGAMY6iaaeKJ78gYSfm+O +zC5o8f4PLxtPfRJGymGUISrtIpBUTz+CVNAwQw0yrAeROizoUBhpDmUVrzlSfwgm +uH3H94jvi/IpoxUezsr1tS48G8ayaVlrPLflBhgX1NXzonA0KqGNdm5AwOx3jgZi +v5PYtz6xR1NtINnGm42A078gL9XHXmZowacGPNf7flwU9UzU1LDb1snGCxOgNq0e +ABZmd4TbEqMs1mAmn6ymzAIU2wBOStcC0is1MJ1j/NVVixETrx65UY1BTMlIojDT +bV4fbYy7jo8rtoLdnwFd+DdXna2LJ8qq+7CE35f9c+ZxLkdSfqADISwkhR+J/6TB +plRVyBc4eiPdSV27qPbjMOEHKy43+rHTsBILqIOQ0sBlMe8DgD8ZXo+PUM1Ptadn +PsuHwSflCrIz6AHgG/nORSDQf+7U79mejzi3fIjwYyYpSlBemTuW+z3x1xizN6PY +CK9zuZu8K9Z/F7GQmr3xBEtWqH2rd7TcN7fQP+zmG/v++vPlE38cQFWv5vVISxJe +U6AOJmXKNvDB4QR5CPsd6UWn/Nb1K3/MlDu5ymLq9JXm/GeokaGqHuaLLR20yN7w +/kNCmGr6r+cWAxpEZkmSBUg8/ps= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -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 BHJvb3SCAQEwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMBoG -A1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQUFAAOCAgEAnwfk -vd9EAll9Bo8G2Hj5ibLDnS4hdFnT3Z8J3Okgj8jme6vKInJrNm7wepWZEqq/Sqhs -B4uYCHYN86WrOalSqON3KsT0cue6gRKXSe/zjhNc9Uk2emJsR+uPNrUrfrIlL7Z8 -IQmewQTkfbsKL+AqT3VzIdPENnEK1N9u5w0ie5vxVz2xPbtVjqmsNgiFaAP3r8pA -mIKW3Pbay8q3wMEAWXw6EHTKelj9/7QpshzgR3AM9sYnbcr+pycRZTBEwuCv5Kvm -jbUFxY8BMZPS/b0ZbPgs8rBxE0BhMt+VlgpDbskeT25/0V2pPbAcyHQth6Qker5w -DcycKMaGGQYivLfyz+9kktIOm3AGoUdCHRxAc7xmSkIhFhQVzEgAnlK0QeojntOg -c65vbgy9x6WdTkSwMBRa4d9oNPSreTIq1ygUKOAwxZo+X38q4Oo4MTQrXDNOhGbR -/ylw/avihYJszGl9lCni6kIuqCw8CN2pvQTQcvU9UJTgy6LC7CzPqFfPjBXxN65P -WV+7N0dZ9MWHb+eAoVA/ykUrp52oStAqCYLRwCxC5NjDRXR6AdXtXTC9a3T3JLkR -LW7j8CqFmbMjhuys3Y8MEysgxKAg1PFggkeN5O5uOJXWqlUF8X2ipoMSnSIIa+Q6 -4C4CAspB8k7S5LNUVzw7V4RVLG4Mi1cSCy+Sggc= +A1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQsFAAOCAgEAQ3yk +Hll/c8HGGi4EeA0bvIUAFRfgfBkiAyvCmm/jxarC3V4WjeXaK6qYyG7ljktT3ie6 +J+qr6WnhOveaPWJ0pvBemnn4WiiUkSRKk/jEocpbksPoA1kuaPJQxwzGl7IknkhR +tNpfgCr4XrADf7s/eYv0yqZA1ZDGrAbkJ08kfpj4HnC7Xxj00G49csFhVQq/VFAk +Y5AEiUELYNmCyq2S4yvtmsfiW6dBoxZKkZDYtfmYBM55Wmsm/vRwXW6cj+B87GY0 +w2L3CL0/496IgCRRwnDQSVANLhTJ5XhSUKcNEhEWDyXM6AIrlsJEGYYzdENqzWFh +PJDoBKnv/AKQ0nOxBOo7aOZC7WwQ3Yh/dCxDsspovUnUZRC0hD7B+kZLfggIBuK7 +F1k/SXzSKw6PNvtSAbl1V6b0LMC41TzcqoHOQuxoYYiuPoR4EwA1uOzuay6ouDSL +HHPvu1irNMtiz0PsTRHvY8G3kNujLM3MfJrxEYvE0CZvqCMVfBlxFMNexE90g11s +xdIH8Fwe5hc2DuWTrYDVcB8ZVoM7VUqgrp1KHoKfI+TbIIg6mLIthMgwpoFFbBAD +YBP0hk4bOVoRnfpi77vm+1Sc9q49JGmV7h1Zrp8b0RqmE5cgLAf+mr4YxN72Av21 +MhHKbNERB8rHVaOToLOXfE5M5Vli9ffoa6Q+E0s= -----END CERTIFICATE----- diff --git a/qa/integration/fixtures/webserver_certs/generated/server_from_intermediate.crt b/qa/integration/fixtures/webserver_certs/generated/server_from_intermediate.crt index 7329e46a571..c541934ccaf 100644 --- a/qa/integration/fixtures/webserver_certs/generated/server_from_intermediate.crt +++ b/qa/integration/fixtures/webserver_certs/generated/server_from_intermediate.crt @@ -1,36 +1,36 @@ -----BEGIN CERTIFICATE----- -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 BHJvb3SCAQEwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMBoG -A1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQUFAAOCAgEAnwfk -vd9EAll9Bo8G2Hj5ibLDnS4hdFnT3Z8J3Okgj8jme6vKInJrNm7wepWZEqq/Sqhs -B4uYCHYN86WrOalSqON3KsT0cue6gRKXSe/zjhNc9Uk2emJsR+uPNrUrfrIlL7Z8 -IQmewQTkfbsKL+AqT3VzIdPENnEK1N9u5w0ie5vxVz2xPbtVjqmsNgiFaAP3r8pA -mIKW3Pbay8q3wMEAWXw6EHTKelj9/7QpshzgR3AM9sYnbcr+pycRZTBEwuCv5Kvm -jbUFxY8BMZPS/b0ZbPgs8rBxE0BhMt+VlgpDbskeT25/0V2pPbAcyHQth6Qker5w -DcycKMaGGQYivLfyz+9kktIOm3AGoUdCHRxAc7xmSkIhFhQVzEgAnlK0QeojntOg -c65vbgy9x6WdTkSwMBRa4d9oNPSreTIq1ygUKOAwxZo+X38q4Oo4MTQrXDNOhGbR -/ylw/avihYJszGl9lCni6kIuqCw8CN2pvQTQcvU9UJTgy6LC7CzPqFfPjBXxN65P -WV+7N0dZ9MWHb+eAoVA/ykUrp52oStAqCYLRwCxC5NjDRXR6AdXtXTC9a3T3JLkR -LW7j8CqFmbMjhuys3Y8MEysgxKAg1PFggkeN5O5uOJXWqlUF8X2ipoMSnSIIa+Q6 -4C4CAspB8k7S5LNUVzw7V4RVLG4Mi1cSCy+Sggc= +A1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQsFAAOCAgEAQ3yk +Hll/c8HGGi4EeA0bvIUAFRfgfBkiAyvCmm/jxarC3V4WjeXaK6qYyG7ljktT3ie6 +J+qr6WnhOveaPWJ0pvBemnn4WiiUkSRKk/jEocpbksPoA1kuaPJQxwzGl7IknkhR +tNpfgCr4XrADf7s/eYv0yqZA1ZDGrAbkJ08kfpj4HnC7Xxj00G49csFhVQq/VFAk +Y5AEiUELYNmCyq2S4yvtmsfiW6dBoxZKkZDYtfmYBM55Wmsm/vRwXW6cj+B87GY0 +w2L3CL0/496IgCRRwnDQSVANLhTJ5XhSUKcNEhEWDyXM6AIrlsJEGYYzdENqzWFh +PJDoBKnv/AKQ0nOxBOo7aOZC7WwQ3Yh/dCxDsspovUnUZRC0hD7B+kZLfggIBuK7 +F1k/SXzSKw6PNvtSAbl1V6b0LMC41TzcqoHOQuxoYYiuPoR4EwA1uOzuay6ouDSL +HHPvu1irNMtiz0PsTRHvY8G3kNujLM3MfJrxEYvE0CZvqCMVfBlxFMNexE90g11s +xdIH8Fwe5hc2DuWTrYDVcB8ZVoM7VUqgrp1KHoKfI+TbIIg6mLIthMgwpoFFbBAD +YBP0hk4bOVoRnfpi77vm+1Sc9q49JGmV7h1Zrp8b0RqmE5cgLAf+mr4YxN72Av21 +MhHKbNERB8rHVaOToLOXfE5M5Vli9ffoa6Q+E0s= -----END CERTIFICATE----- diff --git a/qa/integration/fixtures/webserver_certs/generated/server_from_intermediate.jks b/qa/integration/fixtures/webserver_certs/generated/server_from_intermediate.jks index 86a0a72c5db114596865be2642915f2cbd3c467b..bbf256203ece2a53767105cd4af3cb1a8469f313 100644 GIT binary patch literal 6252 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 delta 6065 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 MMaU<3{AXAEA6&_gP5=M^ literal 5950 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 Knt1;c^Zpl@O(pgK diff --git a/qa/integration/fixtures/webserver_certs/generated/server_from_root.chain.crt b/qa/integration/fixtures/webserver_certs/generated/server_from_root.chain.crt index 6ba9acb7a07..c2094a7b3a9 100644 --- a/qa/integration/fixtures/webserver_certs/generated/server_from_root.chain.crt +++ b/qa/integration/fixtures/webserver_certs/generated/server_from_root.chain.crt @@ -1,36 +1,36 @@ -----BEGIN CERTIFICATE----- -MIIGRjCCBC6gAwIBAgIBAzANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJQVDEL +MIIGUjCCBDqgAwIBAgIBAzANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQGEwJQVDEL MAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UECgwFTXlMYWIxDTAL -BgNVBAMMBHJvb3QwHhcNMjExMDE5MTgyNzMyWhcNMjQwNzE1MTgyNzMyWjBMMQsw +BgNVBAMMBHJvb3QwHhcNMjQwNzE2MTUzNTA0WhcNMjcwNDEyMTUzNTA0WjBMMQsw CQYDVQQGEwJQVDELMAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UE CgwFTXlMYWIxDzANBgNVBAMMBnNlcnZlcjCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKJZa8jP+LalBAlQ8uWWlTm8TLHWkGLFxr+rNzs23mAAfLo8FFGJ -bHQ2iIWQtjCQwHiWUrHU2eRBvL5zJ3cEWte2WF/OAkNhcZu8/JcH3jCMhbjfc3V1 -xIfRdWYEhTI+5PYaqgStNs9H24fyshMFcDubXU1pKfNXtY1sQVKfQl5XeAN5Qcif -2QSfUxNOWnvnmUdBPNOIUP3W+3pqzv+uhPt9Egj2crYPXnSnC5JZSdeya+Rz60xi -WpmSWn5/WdO6j89CVI1kYX7UXuWVhtp8QLa315cMZ9+b238SrDjzNQ+ElwQJO1Nb -oD+JfsNBJBXPy/6Tr6FOZXHOWFFvIErceImKIdG12WL6IHxPlyPpeBGTdbGCS5gy -vWKaJ8diV15Mea8rGH7D30sR2StgBtW1MJOomkarS+2oQpC78HqQrNK1Qgl3GauW -PMIKCU6TR5OPZHsb87u7iXlc+NO+tBoFtgOVK7LvN/QwQ1At4hQaLcrpEJwtjfk/ -8jrC22Ewgp1LMakAsmDjGkkOBZPL5VeNgNnUEp9/AHYfH1XmpkLUOoRmUVkVDqfs -FVcFTLLb2XDtZWtl+gJ5cXxnr87dj5X2Xowo2BMKBwwMpThmJX+i2yY420hq9uu6 -xzPjUC7NauaPnIYCIjWtaBqruXWMxX9DISED71aAVAOSqXbv2fFpKMpRAgMBAAGj -ggEzMIIBLzAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAzBglghkgBhvhC +ADCCAgoCggIBAJT0RJKyh+dR+joDaEKF++Rd8YPKmo1HllITKIak0gmgPkWb+si6 +yfi7UrnmgIeSj2CESOaPcnMzbPSajBPCtitS1YlYgB8N4OKht80ib/Bc2fYblmED ++Z9+ySnVlPVFiAglS2DsVz3QUtRmpyOYUeqvBNpSZnfnxF/InIRxVAjQ/7FZ87NP +Xa42K8J1d5WXrkE/X8j7BfZUUxbKyGDB9ys8jMoHxmnH2P/P/LcvwZPaQQkxMzqk +tHY/p+tMOdkARFmAqJ1GC+zRQExRo+ppPBMeLWvQXxtW/57giqvwFoYXdFw+GHzU +0LSK810WsBDqIJfZXcd2q/EuW5mwWt6F5c5rFGI+tzYsuE+2C3sYWK7BF+BiHs1H +mZREG6+NCCTgfXaNakLFf/alouJyfj6irZXMVnFZvFmTLwJVai86l7cUYnV1A22a +O6pweBov7od5p1UmFDbD1etVa0u0HiYbdOE5rKxM0p4CDbO7FlbUoLdlE4li12sj +iCTR3psD3TG85cOiTSv1lQGpaa1MJU8a/jH3Ms24v3uFR3U/TAy++c3p2mBqfNyI +sDyIUCBEWAY/Y9YJxiS8VlN1A5WcKSkmiou2SbCX0EUIkaDoDaOiWFJY0QmVv8nM +/Keh2tPWS+NFoBLyU0iEr+kYhRloSJ3uD1opSYURtWYd3wEU9ZJVyDEvAgMBAAGj +ggE/MIIBOzAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAzBglghkgBhvhC AQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgU2VydmVyIENlcnRpZmljYXRlMB0GA1Ud -DgQWBBQGuAQ6NLkmWyZGLYEAYVc3+43eIDB6BgNVHSMEczBxgBSWO1UVkFl5LOup -lY08xBLcfGyc+qFOpEwwSjELMAkGA1UEBhMCUFQxCzAJBgNVBAgMAk5BMQ8wDQYD -VQQHDAZMaXNib24xDjAMBgNVBAoMBU15TGFiMQ0wCwYDVQQDDARyb290ggkAzDBe -dcABQHMwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMBoGA1Ud -EQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQUFAAOCAgEAoUitYEBW -lzBMuuDMHvVrtwTcKNXeOXZ6PC78OXNxGCSK4CxTzOceyHjj0K30r2qOd4hNbq43 -J60Zf+69qIpkezG3hcCy/8Yu1lLyhxLvErCbgkvZ1MH4HkEyJOeoh0PJoIq1U3vu -SA2Ny6LDA5QOWaVME6c1L0ntueu5/BddrTGtqHvK4Td9E3Y8gQhtJHCkN2GbkRRS -vr2+efC2hNIWEfxFTP+RRKKGfn+B+YASPgLDvHpIapz65MVebJH+gIo/k57swPMJ -K3Zet53tXqUvnbh87vyGdaOpq897WISNfleQ/XJB28Q3G5qBdLiTu7oxYG42XhC1 -qIm4pZ/gGW5lauu3h9bvzODB2DV6ShnBujtzbd0vBBX38BMP2oOOQ3X2QgalGOKO -jd6yTCN6VO0ZiFD4xO2XsE1CKkRqPx9rRCKR85NCvlpyytC4KIZjcomf0miMl9e1 -G9Js2y9agiXgQ5lrlZSQ8XyvRD8PC1anCxeyn8HaBblYNwUZ8S6vXkq7K13MuPgX -3vw106gUcWjw6GwC3BOi7UNtcAYyoXn6jLJ2unpn2mqjpCfbQZ3mnAI7MbEoaSFa -1CTYh9bxYK6cN+8dOnYoXUyD27aDq6xfP9YJoNmQdYTW4Wwf5JCK23j2DtDB/qen -uyydJBuI6Me+ctWntImvjM97Teu8s+ssQaA= +DgQWBBRFf07E369WKOuyKog6EyuNDDWDnDCBhQYDVR0jBH4wfIAUAdlczvOoJQH9 +cG+fm41vGD8WZaWhTqRMMEoxCzAJBgNVBAYTAlBUMQswCQYDVQQIDAJOQTEPMA0G +A1UEBwwGTGlzYm9uMQ4wDAYDVQQKDAVNeUxhYjENMAsGA1UEAwwEcm9vdIIUM0vS +1bRQQCJzcfsSQBT78uhQ7lUwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsG +AQUFBwMBMBoGA1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQsF +AAOCAgEAPW9KkG+G/oRmCiB23nxOJz7R6w0S2eM938RaKkRhtXdXBmVIusr1vdFm +QvjMA3RgoQVTyFwD2PIvpFmFAYThZrxu8a9TIXqVrgHLvHgRuWVlXbkq/fsi/AEH +BNbJS7WoO1t+QxvOVXota/hUYMhes8QvRTDqql6iXdV6/mzLMxJ7vpRmnV6zaRmo +cMegAH82IEeXz61N++Cn+Tzasy2mkH/eZ+pXaPrCKhwWD08zEDSm9ury2LJzPWCT +GbHkwgJy8TwIRLCpORlccIoZED0wyeQNAuMRS3vh5w2UpHz1CAot0dF2XzPwkJaW +eJTHmU9iRmPnn9VgCSMYLadjANT1SGFeLJlYxAHmbheMKepkFddiqyCUVjIOyN79 +7Uzgl4iPSFrHSyNgeXuIEEmNb9jQlcxPzNcyjz+XPYAeh9RihvZgi0TalPJqFc57 +HKqDoUnHfb2iyN2wmMca9xKhBgQycFxsoDr+GlWehkPMf0ZIqR757v65/0JRGQuf +2VMyTYm3CsRgIuhrI2KMCeDrOeHrRAz/A9Sa+PI7Arvu0lPaTcVCAz7Nw9DnAOhR +kfC1mK+wqPYHKZduYGyBmZsGylAOaiO9KGWyzk11qI9Bk4nmkJ8KS/0rmXYAwZB3 +dbEceSt9xvY3oY0R+qZFUEF5ztHaBiggScS9duCD60iZqwScAPY= -----END CERTIFICATE----- diff --git a/qa/integration/fixtures/webserver_certs/generated/server_from_root.crt b/qa/integration/fixtures/webserver_certs/generated/server_from_root.crt index 6ba9acb7a07..c2094a7b3a9 100644 --- a/qa/integration/fixtures/webserver_certs/generated/server_from_root.crt +++ b/qa/integration/fixtures/webserver_certs/generated/server_from_root.crt @@ -1,36 +1,36 @@ -----BEGIN CERTIFICATE----- -MIIGRjCCBC6gAwIBAgIBAzANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJQVDEL +MIIGUjCCBDqgAwIBAgIBAzANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQGEwJQVDEL MAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UECgwFTXlMYWIxDTAL -BgNVBAMMBHJvb3QwHhcNMjExMDE5MTgyNzMyWhcNMjQwNzE1MTgyNzMyWjBMMQsw +BgNVBAMMBHJvb3QwHhcNMjQwNzE2MTUzNTA0WhcNMjcwNDEyMTUzNTA0WjBMMQsw CQYDVQQGEwJQVDELMAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UE CgwFTXlMYWIxDzANBgNVBAMMBnNlcnZlcjCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKJZa8jP+LalBAlQ8uWWlTm8TLHWkGLFxr+rNzs23mAAfLo8FFGJ -bHQ2iIWQtjCQwHiWUrHU2eRBvL5zJ3cEWte2WF/OAkNhcZu8/JcH3jCMhbjfc3V1 -xIfRdWYEhTI+5PYaqgStNs9H24fyshMFcDubXU1pKfNXtY1sQVKfQl5XeAN5Qcif -2QSfUxNOWnvnmUdBPNOIUP3W+3pqzv+uhPt9Egj2crYPXnSnC5JZSdeya+Rz60xi -WpmSWn5/WdO6j89CVI1kYX7UXuWVhtp8QLa315cMZ9+b238SrDjzNQ+ElwQJO1Nb -oD+JfsNBJBXPy/6Tr6FOZXHOWFFvIErceImKIdG12WL6IHxPlyPpeBGTdbGCS5gy -vWKaJ8diV15Mea8rGH7D30sR2StgBtW1MJOomkarS+2oQpC78HqQrNK1Qgl3GauW -PMIKCU6TR5OPZHsb87u7iXlc+NO+tBoFtgOVK7LvN/QwQ1At4hQaLcrpEJwtjfk/ -8jrC22Ewgp1LMakAsmDjGkkOBZPL5VeNgNnUEp9/AHYfH1XmpkLUOoRmUVkVDqfs -FVcFTLLb2XDtZWtl+gJ5cXxnr87dj5X2Xowo2BMKBwwMpThmJX+i2yY420hq9uu6 -xzPjUC7NauaPnIYCIjWtaBqruXWMxX9DISED71aAVAOSqXbv2fFpKMpRAgMBAAGj -ggEzMIIBLzAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAzBglghkgBhvhC +ADCCAgoCggIBAJT0RJKyh+dR+joDaEKF++Rd8YPKmo1HllITKIak0gmgPkWb+si6 +yfi7UrnmgIeSj2CESOaPcnMzbPSajBPCtitS1YlYgB8N4OKht80ib/Bc2fYblmED ++Z9+ySnVlPVFiAglS2DsVz3QUtRmpyOYUeqvBNpSZnfnxF/InIRxVAjQ/7FZ87NP +Xa42K8J1d5WXrkE/X8j7BfZUUxbKyGDB9ys8jMoHxmnH2P/P/LcvwZPaQQkxMzqk +tHY/p+tMOdkARFmAqJ1GC+zRQExRo+ppPBMeLWvQXxtW/57giqvwFoYXdFw+GHzU +0LSK810WsBDqIJfZXcd2q/EuW5mwWt6F5c5rFGI+tzYsuE+2C3sYWK7BF+BiHs1H +mZREG6+NCCTgfXaNakLFf/alouJyfj6irZXMVnFZvFmTLwJVai86l7cUYnV1A22a +O6pweBov7od5p1UmFDbD1etVa0u0HiYbdOE5rKxM0p4CDbO7FlbUoLdlE4li12sj +iCTR3psD3TG85cOiTSv1lQGpaa1MJU8a/jH3Ms24v3uFR3U/TAy++c3p2mBqfNyI +sDyIUCBEWAY/Y9YJxiS8VlN1A5WcKSkmiou2SbCX0EUIkaDoDaOiWFJY0QmVv8nM +/Keh2tPWS+NFoBLyU0iEr+kYhRloSJ3uD1opSYURtWYd3wEU9ZJVyDEvAgMBAAGj +ggE/MIIBOzAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAzBglghkgBhvhC AQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgU2VydmVyIENlcnRpZmljYXRlMB0GA1Ud -DgQWBBQGuAQ6NLkmWyZGLYEAYVc3+43eIDB6BgNVHSMEczBxgBSWO1UVkFl5LOup -lY08xBLcfGyc+qFOpEwwSjELMAkGA1UEBhMCUFQxCzAJBgNVBAgMAk5BMQ8wDQYD -VQQHDAZMaXNib24xDjAMBgNVBAoMBU15TGFiMQ0wCwYDVQQDDARyb290ggkAzDBe -dcABQHMwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMBoGA1Ud -EQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQUFAAOCAgEAoUitYEBW -lzBMuuDMHvVrtwTcKNXeOXZ6PC78OXNxGCSK4CxTzOceyHjj0K30r2qOd4hNbq43 -J60Zf+69qIpkezG3hcCy/8Yu1lLyhxLvErCbgkvZ1MH4HkEyJOeoh0PJoIq1U3vu -SA2Ny6LDA5QOWaVME6c1L0ntueu5/BddrTGtqHvK4Td9E3Y8gQhtJHCkN2GbkRRS -vr2+efC2hNIWEfxFTP+RRKKGfn+B+YASPgLDvHpIapz65MVebJH+gIo/k57swPMJ -K3Zet53tXqUvnbh87vyGdaOpq897WISNfleQ/XJB28Q3G5qBdLiTu7oxYG42XhC1 -qIm4pZ/gGW5lauu3h9bvzODB2DV6ShnBujtzbd0vBBX38BMP2oOOQ3X2QgalGOKO -jd6yTCN6VO0ZiFD4xO2XsE1CKkRqPx9rRCKR85NCvlpyytC4KIZjcomf0miMl9e1 -G9Js2y9agiXgQ5lrlZSQ8XyvRD8PC1anCxeyn8HaBblYNwUZ8S6vXkq7K13MuPgX -3vw106gUcWjw6GwC3BOi7UNtcAYyoXn6jLJ2unpn2mqjpCfbQZ3mnAI7MbEoaSFa -1CTYh9bxYK6cN+8dOnYoXUyD27aDq6xfP9YJoNmQdYTW4Wwf5JCK23j2DtDB/qen -uyydJBuI6Me+ctWntImvjM97Teu8s+ssQaA= +DgQWBBRFf07E369WKOuyKog6EyuNDDWDnDCBhQYDVR0jBH4wfIAUAdlczvOoJQH9 +cG+fm41vGD8WZaWhTqRMMEoxCzAJBgNVBAYTAlBUMQswCQYDVQQIDAJOQTEPMA0G +A1UEBwwGTGlzYm9uMQ4wDAYDVQQKDAVNeUxhYjENMAsGA1UEAwwEcm9vdIIUM0vS +1bRQQCJzcfsSQBT78uhQ7lUwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsG +AQUFBwMBMBoGA1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQsF +AAOCAgEAPW9KkG+G/oRmCiB23nxOJz7R6w0S2eM938RaKkRhtXdXBmVIusr1vdFm +QvjMA3RgoQVTyFwD2PIvpFmFAYThZrxu8a9TIXqVrgHLvHgRuWVlXbkq/fsi/AEH +BNbJS7WoO1t+QxvOVXota/hUYMhes8QvRTDqql6iXdV6/mzLMxJ7vpRmnV6zaRmo +cMegAH82IEeXz61N++Cn+Tzasy2mkH/eZ+pXaPrCKhwWD08zEDSm9ury2LJzPWCT +GbHkwgJy8TwIRLCpORlccIoZED0wyeQNAuMRS3vh5w2UpHz1CAot0dF2XzPwkJaW +eJTHmU9iRmPnn9VgCSMYLadjANT1SGFeLJlYxAHmbheMKepkFddiqyCUVjIOyN79 +7Uzgl4iPSFrHSyNgeXuIEEmNb9jQlcxPzNcyjz+XPYAeh9RihvZgi0TalPJqFc57 +HKqDoUnHfb2iyN2wmMca9xKhBgQycFxsoDr+GlWehkPMf0ZIqR757v65/0JRGQuf +2VMyTYm3CsRgIuhrI2KMCeDrOeHrRAz/A9Sa+PI7Arvu0lPaTcVCAz7Nw9DnAOhR +kfC1mK+wqPYHKZduYGyBmZsGylAOaiO9KGWyzk11qI9Bk4nmkJ8KS/0rmXYAwZB3 +dbEceSt9xvY3oY0R+qZFUEF5ztHaBiggScS9duCD60iZqwScAPY= -----END CERTIFICATE----- diff --git a/qa/integration/fixtures/webserver_certs/generated/server_from_root.jks b/qa/integration/fixtures/webserver_certs/generated/server_from_root.jks index 1596eef7b5d1c8f746867d2f31ac3484c409b2ac..11414c8e6b4e65d1bc66941eb264e538f8492343 100644 GIT binary patch literal 4652 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 BuoVCR delta 4469 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 literal 4462 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 From 8f2dae618c6432903763f32f4378fca654829559 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Duarte?= Date: Thu, 18 Jul 2024 10:08:38 +0100 Subject: [PATCH 03/15] correctly handle stack overflow errors during pipeline compilation (#16323) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit improves error handling when pipelines that are too big hit the Xss limit and throw a StackOverflowError. Currently the exception is printed outside of the logger, and doesn’t even show if log.format is json, leaving the user to wonder what happened. A couple of thoughts on the way this is implemented: * There should be a first barrier to handle pipelines that are too large based on the PipelineIR compilation. The barrier would use the detection of Xss to determine how big a pipeline could be. This however doesn't reduce the need to still handle a StackOverflow if it happens. * The catching of StackOverflowError could also be done on the WorkerLoop. However I'd suggest that this is unrelated to the Worker initialization itself, it just so happens that compiledPipeline.buildExecution is computed inside the WorkerLoop class for performance reasons. So I'd prefer logging to not come from the existing catch, but from a dedicated catch clause. Solves #16320 --- logstash-core/lib/logstash/java_pipeline.rb | 5 +++ .../spec/logstash/java_pipeline_spec.rb | 33 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/logstash-core/lib/logstash/java_pipeline.rb b/logstash-core/lib/logstash/java_pipeline.rb index 3e1aad5f1f9..9cec566ccf0 100644 --- a/logstash-core/lib/logstash/java_pipeline.rb +++ b/logstash-core/lib/logstash/java_pipeline.rb @@ -603,6 +603,11 @@ def init_worker_loop "Worker loop initialization error", default_logging_keys(:error => e.message, :exception => e.class, :stacktrace => e.backtrace.join("\n"))) nil + rescue Java::java.lang.StackOverflowError => se + @logger.error( + "Stack overflow error while compiling Pipeline. Please increase thread stack size using -Xss", + default_logging_keys()) + nil end end diff --git a/logstash-core/spec/logstash/java_pipeline_spec.rb b/logstash-core/spec/logstash/java_pipeline_spec.rb index 8889b87d7dd..3e743967273 100644 --- a/logstash-core/spec/logstash/java_pipeline_spec.rb +++ b/logstash-core/spec/logstash/java_pipeline_spec.rb @@ -1016,6 +1016,39 @@ def flush(options) it_behaves_like 'it flushes correctly' end end + context "Pipeline created with too many filters" do + # create pipeline with 2000 filters + # 2000 filters is more than a thread stack of size 2MB can handle + let(:config) do + <<-EOS + input { dummy_input {} } + filter { + #{" nil_flushing_filter {}\n" * 2000} + } + output { dummy_output {} } + EOS + end + let(:output) { ::LogStash::Outputs::DummyOutput.new } + + before do + allow(::LogStash::Outputs::DummyOutput).to receive(:new).with(any_args).and_return(output) + allow(LogStash::Plugin).to receive(:lookup).with("input", "dummy_input").and_return(LogStash::Inputs::DummyBlockingInput) + allow(LogStash::Plugin).to receive(:lookup).with("filter", "nil_flushing_filter").and_return(NilFlushingFilterPeriodic) + allow(LogStash::Plugin).to receive(:lookup).with("output", "dummy_output").and_return(::LogStash::Outputs::DummyOutput) + allow(LogStash::Plugin).to receive(:lookup).with("codec", "plain").and_return(LogStash::Codecs::Plain) + end + + let(:pipeline) { mock_java_pipeline_from_string(config, pipeline_settings_obj) } + + it "informs the user that a stack overflow occurred" do + allow(pipeline.logger).to receive(:error) + + pipeline.start + pipeline.shutdown + + expect(pipeline.logger).to have_received(:error).with(/Stack overflow/, anything).at_least(:once) + end + end context "Periodic Flush that intermittently returns nil" do let(:config) do <<-EOS From eff9b540df06a9d2309a6ba910bad2335ceb90a7 Mon Sep 17 00:00:00 2001 From: Karen Metts <35154725+karenzone@users.noreply.github.com> Date: Fri, 19 Jul 2024 12:34:42 -0400 Subject: [PATCH 04/15] Doc: Reposition worker-utilization in doc (#16335) --- .../monitoring/monitoring-apis.asciidoc | 29 ++++++++----------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/docs/static/monitoring/monitoring-apis.asciidoc b/docs/static/monitoring/monitoring-apis.asciidoc index f6b44e258d1..897507d1e22 100644 --- a/docs/static/monitoring/monitoring-apis.asciidoc +++ b/docs/static/monitoring/monitoring-apis.asciidoc @@ -499,10 +499,6 @@ Example response: "worker_concurrency" : { "current": 1.973, "lifetime": 1.721 - }, - "worker_utilization" : { - "current": 49.32, - "lifetime": 43.02 } } } @@ -540,19 +536,6 @@ Tuning a saturated pipeline to have more workers can often work to increase that A _process_ is also considered "saturated" when its top-level `worker_concurrency` flow metric approaches the _cumulative_ `pipeline.workers` across _all_ pipelines, and similarly can be addressed by tuning the <> that are saturated. -| worker_utilization | - -This is a unitless metric that indicates the percentage of available worker time being used by all plugins in a given pipeline (`duration` / (`uptime` * `pipeline.workers`). -It is useful for determining whether the pipeline has consistently-idle resources or is under resource contention. - -A _pipeline_ is considered "saturated" when its `worker_utilization` flow metric approaches 100, because it indicates that all of its workers are being kept busy. -This is typically an indication of either downstream back-pressure or insufficient resources allocated to the pipeline. -Tuning a saturated pipeline to have more workers can often work to increase that pipeline's throughput and decrease back-pressure to its queue, unless the pipeline is experiencing back-pressure from its outputs. - -A _pipeline_ is considered "starved" when its `worker_utilization` flow metric approaches 0, because it indicates that none of its workers are being kept busy. -This is typically an indication that the inputs are not receiving or retrieving enough volume to keep the pipeline workers busy. -Tuning a starved pipeline to have fewer workers can help it to consume less memory and CPU, freeing up resources for other pipelines. - | queue_backpressure | This is a unitless metric representing the cumulative time spent by all inputs blocked pushing events into their pipeline's queue, relative to wall-clock time (`queue_push_duration_in_millis` / millisecond). It is typically most useful when looking at the stats for an <>. @@ -1002,6 +985,18 @@ A positive number indicates that the queue size-on-disk is growing, and a negati NOTE: The size of a PQ on disk includes both unacknowledged events and previously-acknowledged events from pages that contain one or more unprocessed events. This means it grows gradually as individual events are added, but shrinks in large chunks each time a whole page of processed events is reclaimed (read more: <>). + +| worker_utilization | +This is a unitless metric that indicates the percentage of available worker time being used by this individual plugin (`duration` / (`uptime` * `pipeline.workers`). +It is useful for identifying which plugins in a pipeline are using the available worker resources. + +A _pipeline_ is considered "saturated" when `worker_utilization` approaches 100, because it indicates that all of its workers are being kept busy. +This is typically an indication of either downstream back-pressure or insufficient resources allocated to the pipeline. +Tuning a saturated pipeline to have more workers can often work to increase that pipeline's throughput and decrease back-pressure to its queue, unless the pipeline is experiencing back-pressure from its outputs. + +A _pipeline_ is considered "starved" when `worker_utilization` approaches 0, because it indicates that none of its workers are being kept busy. +This is typically an indication that the inputs are not receiving or retrieving enough volume to keep the pipeline workers busy. +Tuning a starved pipeline to have fewer workers can help it to consume less memory and CPU, freeing up resources for other pipelines. |=== [discrete] From c633ad25682f3376adb0ba434d658b9eb820ac92 Mon Sep 17 00:00:00 2001 From: Ry Biesemeyer Date: Wed, 24 Jul 2024 02:22:34 -0700 Subject: [PATCH 05/15] settings: add support for observing settings after post-process hooks (#16339) Because logging configuration occurs after loading the `logstash.yml` settings, deprecation logs from `LogStash::Settings::DeprecatedAlias#set` are effectively emitted to a null logger and lost. By re-emitting after the post-process hooks, we can ensure that they make their way to the deprecation log. This change adds support for any setting that responds to `Object#observe_post_process` to receive it after all post-processing hooks have been executed. Resolves: elastic/logstash#16332 --- logstash-core/lib/logstash/settings.rb | 23 ++++++++++++++++--- .../setting_with_deprecated_alias_spec.rb | 21 +++++++++++++++++ logstash-core/spec/logstash/settings_spec.rb | 12 ++++++++++ 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/logstash-core/lib/logstash/settings.rb b/logstash-core/lib/logstash/settings.rb index 4e23e34c3a9..d6238fe1cb0 100644 --- a/logstash-core/lib/logstash/settings.rb +++ b/logstash-core/lib/logstash/settings.rb @@ -197,6 +197,13 @@ def post_process callback.call(self) end end + + # because we cannot rely on deprecation logger being wired up when the setters + # are initially used, we re-emit setter-related deprecations after all post-processing + # hooks have been activated (and therefore after logging has been configured) + @settings.each_value do |setting| + setting.observe_post_process if setting.respond_to?(:observe_post_process) + end end def on_post_process(&block) @@ -839,9 +846,7 @@ def initialize(canonical_proxy, alias_name) end def set(value) - deprecation_logger.deprecated(I18n.t("logstash.settings.deprecation.set", - :deprecated_alias => name, - :canonical_name => canonical_proxy.name)) + do_log_setter_deprecation super end @@ -856,6 +861,18 @@ def validate_value # bypass deprecation warning wrapped.validate_value if set? end + + def observe_post_process + do_log_setter_deprecation if set? + end + + private + + def do_log_setter_deprecation + deprecation_logger.deprecated(I18n.t("logstash.settings.deprecation.set", + :deprecated_alias => name, + :canonical_name => canonical_proxy.name)) + end end ## diff --git a/logstash-core/spec/logstash/settings/setting_with_deprecated_alias_spec.rb b/logstash-core/spec/logstash/settings/setting_with_deprecated_alias_spec.rb index 9ddd87a783c..481e387ba03 100644 --- a/logstash-core/spec/logstash/settings/setting_with_deprecated_alias_spec.rb +++ b/logstash-core/spec/logstash/settings/setting_with_deprecated_alias_spec.rb @@ -52,6 +52,13 @@ end include_examples '#validate_value success' + + context "#observe_post_process" do + it 'does not emit a deprecation warning' do + expect(LogStash::Settings.deprecation_logger).to_not receive(:deprecated).with(a_string_including(deprecated_setting_name)) + settings.get_setting(deprecated_setting_name).observe_post_process + end + end end context "when only the deprecated alias is set" do @@ -71,6 +78,13 @@ include_examples '#validate_value success' + context "#observe_post_process" do + it 're-emits the deprecation warning' do + expect(LogStash::Settings.deprecation_logger).to receive(:deprecated).with(a_string_including(deprecated_setting_name)) + settings.get_setting(deprecated_setting_name).observe_post_process + end + end + it 'validates deprecated alias' do expect { settings.get_setting(canonical_setting_name).deprecated_alias.validate_value }.to_not raise_error end @@ -107,6 +121,13 @@ end include_examples '#validate_value success' + + context "#observe_post_process" do + it 'does not emit a deprecation warning' do + expect(LogStash::Settings.deprecation_logger).to_not receive(:deprecated).with(a_string_including(deprecated_setting_name)) + settings.get_setting(deprecated_setting_name).observe_post_process + end + end end context "when both the canonical setting and deprecated alias are set" do diff --git a/logstash-core/spec/logstash/settings_spec.rb b/logstash-core/spec/logstash/settings_spec.rb index 241ac2272eb..3e0b425dd46 100644 --- a/logstash-core/spec/logstash/settings_spec.rb +++ b/logstash-core/spec/logstash/settings_spec.rb @@ -144,6 +144,18 @@ it "should preserve original settings" do expect(settings.get("foo")).to eq("bar") end + + context 'when a registered setting responds to `observe_post_process`' do + let(:observe_post_process_setting) do + LogStash::Setting::Boolean.new("this.that", true).tap { |s| allow(s).to receive(:observe_post_process) } + end + subject(:settings) do + described_class.new.tap { |s| s.register(observe_post_process_setting) } + end + it 'it sends `observe_post_process`' do + expect(observe_post_process_setting).to have_received(:observe_post_process) + end + end end context "transient settings" do From 90f303e4016e5377cb6254e0d3a85cfbbb9a32e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Duarte?= Date: Wed, 24 Jul 2024 15:48:42 +0100 Subject: [PATCH 06/15] fix line used to determine ES is up (#16349) --- x-pack/qa/integration/support/helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/qa/integration/support/helpers.rb b/x-pack/qa/integration/support/helpers.rb index 06069f3a1d3..a216d1cd8d4 100644 --- a/x-pack/qa/integration/support/helpers.rb +++ b/x-pack/qa/integration/support/helpers.rb @@ -48,7 +48,7 @@ def elasticsearch(options = {}) # Launch in the background and wait for /started/ stdout cmd = "bin/elasticsearch #{settings_arguments.join(' ')}" puts "Running elasticsearch: #{cmd}" - response = Belzebuth.run(cmd, { :directory => get_elasticsearch_path, :wait_condition => /license.*valid/, :timeout => 15 * 60 }) + response = Belzebuth.run(cmd, { :directory => get_elasticsearch_path, :wait_condition => /ClusterStateLicenseService.*license.*valid/, :timeout => 15 * 60 }) unless response.successful? raise "Could not start Elasticsearch, response: #{response}" end From 629d8fe5a82264749e1bbd7f1fba72efc2d5cf8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Duarte?= Date: Mon, 29 Jul 2024 12:00:43 +0100 Subject: [PATCH 07/15] add retries to snyk buildkite job (#16343) --- .buildkite/snyk_report_pipeline.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.buildkite/snyk_report_pipeline.yml b/.buildkite/snyk_report_pipeline.yml index f4306bc1fbe..2a1476bcb5a 100644 --- a/.buildkite/snyk_report_pipeline.yml +++ b/.buildkite/snyk_report_pipeline.yml @@ -9,4 +9,7 @@ steps: # reports main, previous (ex: 7.latest) and current (ex: 8.latest) release branches to Snyk - label: ":hammer: Report to Snyk" command: - - .buildkite/scripts/snyk/report.sh \ No newline at end of file + - .buildkite/scripts/snyk/report.sh + retry: + automatic: + - limit: 3 From 03841cace3fa697a07e2099ebf6cdd4dd9324356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Duarte?= Date: Tue, 30 Jul 2024 09:19:13 +0100 Subject: [PATCH 08/15] Fix 8.13.1 release notes (#16363) make a note of the fix that went to 8.13.1: #16026 Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com> --- docs/static/releasenotes.asciidoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/static/releasenotes.asciidoc b/docs/static/releasenotes.asciidoc index 204454a0843..6bc41695874 100644 --- a/docs/static/releasenotes.asciidoc +++ b/docs/static/releasenotes.asciidoc @@ -237,7 +237,7 @@ No user-facing changes in Logstash core. [[logstash-8-13-1]] === Logstash 8.13.1 Release Notes -No user-facing changes in Logstash core. +* Inject variable reference instead of variable value in `logstash.yaml` to ensure keystore values take precedence over Environment Variables https://github.com/elastic/logstash/pull/16037[#16037] [[logstash-8-13-0]] === Logstash 8.13.0 Release Notes @@ -2318,4 +2318,4 @@ We have added another flag to the Benchmark CLI to allow passing a data file wit This feature allows users to run the Benchmark CLI in a custom test case with a custom config and a custom dataset. https://github.com/elastic/logstash/pull/12437[#12437] ==== Plugin releases -Plugins align with release 7.14.0 \ No newline at end of file +Plugins align with release 7.14.0 From 09a2827802b2f86cc9bf669fdbbf0e294017a8da Mon Sep 17 00:00:00 2001 From: Andrea Selva Date: Tue, 30 Jul 2024 17:17:10 +0200 Subject: [PATCH 09/15] Update logstash_releases.json (#16347) --- ci/logstash_releases.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/logstash_releases.json b/ci/logstash_releases.json index 5657839d15e..39a6ae1a2ce 100644 --- a/ci/logstash_releases.json +++ b/ci/logstash_releases.json @@ -2,11 +2,11 @@ "releases": { "5.x": "5.6.16", "6.x": "6.8.23", - "7.x": "7.17.22", + "7.x": "7.17.23", "8.x": "8.14.3" }, "snapshots": { - "7.x": "7.17.23-SNAPSHOT", + "7.x": "7.17.24-SNAPSHOT", "8.x": "8.14.4-SNAPSHOT", "main": "8.15.0-SNAPSHOT" } From 62ef8a08476cb57deea4ca013329501168047355 Mon Sep 17 00:00:00 2001 From: Mashhur <99575341+mashhurs@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:09:26 -0700 Subject: [PATCH 10/15] [Bugfix] Resolve the array and char (single | double quote) escaped values of ${ENV} (#16365) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Properly resolve the values from ENV vars if literal array string provided with ENV var. * Docker acceptance test for persisting keys and use actual values in docker container. * Review suggestion. Simplify the code by stripping whitespace before `gsub`, no need to check comma and split. Co-authored-by: João Duarte --------- Co-authored-by: João Duarte --- .../logstash/util/substitution_variables.rb | 18 +++++- qa/docker/shared_examples/xpack.rb | 56 ++++++++++++++++--- 2 files changed, 65 insertions(+), 9 deletions(-) diff --git a/logstash-core/lib/logstash/util/substitution_variables.rb b/logstash-core/lib/logstash/util/substitution_variables.rb index c8d0ead762c..e5e2ede35fa 100644 --- a/logstash-core/lib/logstash/util/substitution_variables.rb +++ b/logstash-core/lib/logstash/util/substitution_variables.rb @@ -56,7 +56,8 @@ def replace_placeholders(value) end return value unless value.is_a?(String) - value.gsub(SUBSTITUTION_PLACEHOLDER_REGEX) do |placeholder| + is_placeholder_found = false + placeholder_value = value.gsub(SUBSTITUTION_PLACEHOLDER_REGEX) do |placeholder| # Note: Ruby docs claim[1] Regexp.last_match is thread-local and scoped to # the call, so this should be thread-safe. # @@ -65,6 +66,8 @@ def replace_placeholders(value) default = Regexp.last_match(:default) logger.debug("Replacing `#{placeholder}` with actual value") + is_placeholder_found = true + #check the secret store if it exists secret_store = SECRET_STORE.instance replacement = secret_store.nil? ? nil : secret_store.retrieveSecret(SecretStoreExt.getStoreId(name)) @@ -76,6 +79,19 @@ def replace_placeholders(value) end replacement.to_s end + + # no further action need if substitution didn't happen + return placeholder_value unless is_placeholder_found + + # ENV ${var} value may carry single quote or escaped double quote + # or single/double quoted entries in array string, needs to be refined + refined_value = placeholder_value.gsub(/[\\"\\']/, '') + if refined_value.start_with?('[') && refined_value.end_with?(']') + # remove square brackets, split by comma and cleanup leading/trailing whitespace + refined_value[1..-2].split(',').map(&:strip) + else + refined_value + end end # def replace_placeholders class << self diff --git a/qa/docker/shared_examples/xpack.rb b/qa/docker/shared_examples/xpack.rb index c1706a69fc0..82ff64ae065 100644 --- a/qa/docker/shared_examples/xpack.rb +++ b/qa/docker/shared_examples/xpack.rb @@ -2,21 +2,61 @@ before do @image = find_image(flavor) - @container = start_container(@image, {'ENV' => env}) end after do cleanup_container(@container) end - context 'when configuring xpack settings' do - let(:env) { %w(xpack.monitoring.enabled=false xpack.monitoring.elasticsearch.hosts=["http://node1:9200","http://node2:9200"]) } + describe 'when configuring xpack settings' do - it 'persists monitoring environment var keys' do - # persisting actual value of the environment keys bring the issue where keystore looses its power - # visit https://github.com/elastic/logstash/issues/15766 for details - expect(get_settings(@container)['xpack.monitoring.enabled']).to eq("${xpack.monitoring.enabled}") - expect(get_settings(@container)['xpack.monitoring.elasticsearch.hosts']).to eq("${xpack.monitoring.elasticsearch.hosts}") + context 'when persists env var keys into logstash.yml' do + let(:env) { %w(XPACK_MONITORING_ENABLED=false XPACK_MONITORING_ELASTICSEARCH_HOSTS=["http://node1:9200","http://node2:9200"]) } + + before do + @container = start_container(@image, {'ENV' => env}) + end + + it 'saves keys instead actual value which will be resolved from keystore | env later' do + settings = get_settings(@container) + expect(settings['xpack.monitoring.enabled']).to eq("${XPACK_MONITORING_ENABLED}") + expect(settings['xpack.monitoring.elasticsearch.hosts']).to eq("${XPACK_MONITORING_ELASTICSEARCH_HOSTS}") + end + end + + context 'with running with env vars' do + let(:env) { + [ + 'XPACK_MONITORING_ENABLED=true', + 'XPACK_MONITORING_ELASTICSEARCH_HOSTS="http://node1:9200"', + 'XPACK_MANAGEMENT_ENABLED=true', + 'XPACK_MANAGEMENT_PIPELINE_ID=["*"]', # double quotes intentionally placed + 'XPACK_MANAGEMENT_ELASTICSEARCH_HOSTS=["http://node3:9200", "http://node4:9200"]' + ] + } + + it 'persists var keys into logstas.yaml and uses their resolved actual values' do + container = create_container(@image, {'ENV' => env}) + + sleep(15) # wait for container run + + settings = get_settings(container) + + expect(settings['xpack.monitoring.enabled']).to eq("${XPACK_MONITORING_ENABLED}") + expect(settings['xpack.monitoring.elasticsearch.hosts']).to eq("${XPACK_MONITORING_ELASTICSEARCH_HOSTS}") + expect(settings['xpack.management.enabled']).to eq("${XPACK_MANAGEMENT_ENABLED}") + expect(settings['xpack.management.pipeline.id']).to eq("${XPACK_MANAGEMENT_PIPELINE_ID}") + expect(settings['xpack.management.elasticsearch.hosts']).to eq("${XPACK_MANAGEMENT_ELASTICSEARCH_HOSTS}") + + # get container logs + container_logs = container.logs(stdout: true) + + # check if logs contain node3 & node4 values actually resolved and used + expect(container_logs.include?('pipeline_id=>["*"]')).to be true + # note that, we are not spinning up ES nodes, so values can be in errors or in pool update logs + expect(container_logs.include?('http://node3:9200')).to be true + expect(container_logs.include?('http://node4:9200')).to be true + end end end end From 2db2a224edf8f22ec95859c1024d5aa398889f1f Mon Sep 17 00:00:00 2001 From: Karen Metts <35154725+karenzone@users.noreply.github.com> Date: Thu, 8 Aug 2024 11:06:48 -0400 Subject: [PATCH 11/15] Doc: Add SNMP integration to breaking changes (#16374) --- docs/static/breaking-changes.asciidoc | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/static/breaking-changes.asciidoc b/docs/static/breaking-changes.asciidoc index 7a7107869e5..683a76a6749 100644 --- a/docs/static/breaking-changes.asciidoc +++ b/docs/static/breaking-changes.asciidoc @@ -12,7 +12,22 @@ Logstash 8.0.0 and later. NOTE: Migrating directly between non-consecutive major versions (6.x to 8.x) is not recommended. -We suggest that you upgrade to {prev-major-last} before you upgrade to 8.0, +We suggest that you upgrade to {prev-major-last} before you upgrade to 8.0. + +[discrete] +[[breaking-8.15]] +=== 8.15 + +*New {ls} SNMP integration plugin* + +Prior to 8.15.0, {ls} bundled stand-alone versions of the `input-snmp` and `input-snmptrap` plugins by default. +When you upgrade to 8.15.0, the stand-alone plugins are replaced by the 4.0.0+ version contained in the new SNMP integration plugin. + +IMPORTANT: Before you upgrade to {ls} 8.15.0, be aware of {logstash-ref}/plugins-integrations-snmp.html#plugins-integrations-snmp-migration[behavioral and mapping differences] between stand-alone plugins and the new versions included in the {logstash-ref}/plugins-integrations-snmp.html[SNMP integration plugin]. +If you need to maintain current mappings for the `input-snmptrap` plugin, you have some options to {logstash-ref}/plugins-integrations-snmp.html#plugins-integrations-snmp-input-snmptrap-compat[preserve existing behavior]. + +[discrete] +=== Breaking changes in earlier releases See these topics for breaking changes in earlier releases: From 3d13ebe33e36942d60342c79006a1f46c5a467c7 Mon Sep 17 00:00:00 2001 From: Ry Biesemeyer Date: Fri, 9 Aug 2024 00:58:11 -0700 Subject: [PATCH 12/15] deprecate java less-than 17 (#16370) --- logstash-core/lib/logstash/runner.rb | 3 +++ logstash-core/locales/en.yml | 6 ++++++ .../src/main/java/org/logstash/util/JavaVersion.java | 2 ++ 3 files changed, 11 insertions(+) diff --git a/logstash-core/lib/logstash/runner.rb b/logstash-core/lib/logstash/runner.rb index 70041378563..876d3e1e173 100644 --- a/logstash-core/lib/logstash/runner.rb +++ b/logstash-core/lib/logstash/runner.rb @@ -321,6 +321,9 @@ def execute if JavaVersion::CURRENT < JavaVersion::JAVA_11 logger.warn I18n.t("logstash.runner.java.version", :java_home => java.lang.System.getProperty("java.home")) + elsif JavaVersion::CURRENT < JavaVersion::JAVA_17 + deprecation_logger.deprecated I18n.t("logstash.runner.java.version_17_minimum", + :java_home => java.lang.System.getProperty("java.home")) end logger.warn I18n.t("logstash.runner.java.home") if ENV["JAVA_HOME"] diff --git a/logstash-core/locales/en.yml b/logstash-core/locales/en.yml index bd9feedff21..92dcb38eebf 100644 --- a/logstash-core/locales/en.yml +++ b/logstash-core/locales/en.yml @@ -446,6 +446,12 @@ en: Running Logstash with the bundled JDK is recommended. The bundled JDK has been verified to work with each specific version of Logstash, and generally provides best performance and reliability. If you have compelling reasons for using your own JDK (organizational-specific compliance requirements, for example), you can configure LS_JAVA_HOME to use that version instead. + version_17_minimum: >- + Starting from Logstash 9.0, the minimum required version of Java will be Java 17; + your Java version from `%{java_home}` does not meet this requirement. + Running Logstash with the bundled JDK is recommended. + The bundled JDK has been verified to work with each specific version of Logstash, and generally provides best performance and reliability. + If you have compelling reasons for using your own JDK (organizational-specific compliance requirements, for example), the version you supply with LS_JAVA_HOME must meet the minimum requirements. agent: sighup: >- SIGHUP received. diff --git a/logstash-core/src/main/java/org/logstash/util/JavaVersion.java b/logstash-core/src/main/java/org/logstash/util/JavaVersion.java index 39eee187d02..505e27e6719 100644 --- a/logstash-core/src/main/java/org/logstash/util/JavaVersion.java +++ b/logstash-core/src/main/java/org/logstash/util/JavaVersion.java @@ -31,6 +31,8 @@ public class JavaVersion implements Comparable { public static final JavaVersion CURRENT = parse(System.getProperty("java.specification.version")); public static final JavaVersion JAVA_11 = parse("11"); + public static final JavaVersion JAVA_17 = parse("17"); + private final List version; private JavaVersion(List version){ From e104704830e421ff18666f8fe9f16ff2fa9d4c9c Mon Sep 17 00:00:00 2001 From: Mashhur <99575341+mashhurs@users.noreply.github.com> Date: Fri, 9 Aug 2024 09:33:01 -0700 Subject: [PATCH 13/15] Exclude substitution refinement on pipelines.yml (#16375) * Exclude substitution refinement on pipelines.yml (applies on ENV vars and logstash.yml where env2yaml saves vars) * Safety integration test for pipeline config.string contains ENV . --- logstash-core/lib/logstash/config/mixin.rb | 2 +- logstash-core/lib/logstash/settings.rb | 2 +- .../logstash/util/substitution_variables.rb | 20 ++++++++++--------- .../specs/multiple_pipeline_spec.rb | 10 ++++++++++ 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/logstash-core/lib/logstash/config/mixin.rb b/logstash-core/lib/logstash/config/mixin.rb index deea9717ba2..0d686be3f9c 100644 --- a/logstash-core/lib/logstash/config/mixin.rb +++ b/logstash-core/lib/logstash/config/mixin.rb @@ -93,7 +93,7 @@ def config_init(params) # Resolve environment variables references params.each do |name, value| - params[name.to_s] = deep_replace(value) + params[name.to_s] = deep_replace(value, true) end # Intercept codecs that have not been instantiated diff --git a/logstash-core/lib/logstash/settings.rb b/logstash-core/lib/logstash/settings.rb index d6238fe1cb0..d8c75f220af 100644 --- a/logstash-core/lib/logstash/settings.rb +++ b/logstash-core/lib/logstash/settings.rb @@ -187,7 +187,7 @@ def reset def from_yaml(yaml_path, file_name = "logstash.yml") settings = read_yaml(::File.join(yaml_path, file_name)) - self.merge(deep_replace(flatten_hash(settings)), true) + self.merge(deep_replace(flatten_hash(settings), true), true) self end diff --git a/logstash-core/lib/logstash/util/substitution_variables.rb b/logstash-core/lib/logstash/util/substitution_variables.rb index e5e2ede35fa..4319a38235f 100644 --- a/logstash-core/lib/logstash/util/substitution_variables.rb +++ b/logstash-core/lib/logstash/util/substitution_variables.rb @@ -28,19 +28,19 @@ module ::LogStash::Util::SubstitutionVariables SECRET_STORE = ::LogStash::Util::LazySingleton.new { load_secret_store } private_constant :SECRET_STORE - # Recursive method to replace substitution variable references in parameters - def deep_replace(value) + # Recursive method to replace substitution variable references in parameters and refine if required + def deep_replace(value, refine = false) if value.is_a?(Hash) value.each do |valueHashKey, valueHashValue| - value[valueHashKey.to_s] = deep_replace(valueHashValue) + value[valueHashKey.to_s] = deep_replace(valueHashValue, refine) end else if value.is_a?(Array) value.each_with_index do |single_value, i| - value[i] = deep_replace(single_value) + value[i] = deep_replace(single_value, refine) end else - return replace_placeholders(value) + return replace_placeholders(value, refine) end end end @@ -49,9 +49,11 @@ def deep_replace(value) # Process following patterns : ${VAR}, ${VAR:defaultValue} # If value matches the pattern, returns the following precedence : Secret store value, Environment entry value, default value as provided in the pattern # If the value does not match the pattern, the 'value' param returns as-is - def replace_placeholders(value) + # When setting refine to true, substituted value will be cleaned against escaped single/double quotes + # and generates array if resolved substituted value is array string + def replace_placeholders(value, refine) if value.kind_of?(::LogStash::Util::Password) - interpolated = replace_placeholders(value.value) + interpolated = replace_placeholders(value.value, refine) return ::LogStash::Util::Password.new(interpolated) end return value unless value.is_a?(String) @@ -80,8 +82,8 @@ def replace_placeholders(value) replacement.to_s end - # no further action need if substitution didn't happen - return placeholder_value unless is_placeholder_found + # no further action need if substitution didn't happen or refine isn't required + return placeholder_value unless is_placeholder_found && refine # ENV ${var} value may carry single quote or escaped double quote # or single/double quoted entries in array string, needs to be refined diff --git a/qa/integration/specs/multiple_pipeline_spec.rb b/qa/integration/specs/multiple_pipeline_spec.rb index 31496336610..cb01e56fe5f 100644 --- a/qa/integration/specs/multiple_pipeline_spec.rb +++ b/qa/integration/specs/multiple_pipeline_spec.rb @@ -34,6 +34,7 @@ let(:temporary_out_file_1) { Stud::Temporary.pathname } let(:temporary_out_file_2) { Stud::Temporary.pathname } + let(:temporary_out_file_3) { Stud::Temporary.pathname } let(:pipelines) {[ { @@ -47,6 +48,12 @@ "pipeline.workers" => 1, "pipeline.batch.size" => 1, "config.string" => "input { generator { count => 1 } } output { file { path => \"#{temporary_out_file_2}\" } }" + }, + { + "pipeline.id" => "config-string-with-env-var-pipeline", + "pipeline.workers" => 1, + "pipeline.batch.size" => 1, + "config.string" => "input { generator { count => 1 } } output { file { path => \"${TEMP_FILE_PATH}\" } }" } ]} @@ -65,6 +72,7 @@ it "executes the multiple pipelines" do logstash_service = @fixture.get_service("logstash") + logstash_service.env_variables = {'TEMP_FILE_PATH' => temporary_out_file_3} logstash_service.spawn_logstash("--path.settings", settings_dir, "--log.level=debug") try(retry_attempts) do expect(logstash_service.exited?).to be(true) @@ -74,6 +82,8 @@ expect(IO.readlines(temporary_out_file_1).size).to eq(1) expect(File.exist?(temporary_out_file_2)).to be(true) expect(IO.readlines(temporary_out_file_2).size).to eq(1) + expect(File.exist?(temporary_out_file_3)).to be(true) + expect(IO.readlines(temporary_out_file_3).size).to eq(1) end context 'effectively-empty pipelines.yml file' do From d4519711a692f290c0d9e87401fb5d679f9385ff Mon Sep 17 00:00:00 2001 From: Karen Metts <35154725+karenzone@users.noreply.github.com> Date: Wed, 14 Aug 2024 09:00:37 -0400 Subject: [PATCH 14/15] Doc: Forwardport 8.15.0 release notes to main (#16388) --- docs/static/releasenotes.asciidoc | 123 ++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/docs/static/releasenotes.asciidoc b/docs/static/releasenotes.asciidoc index 6bc41695874..dc4a80c8383 100644 --- a/docs/static/releasenotes.asciidoc +++ b/docs/static/releasenotes.asciidoc @@ -3,6 +3,7 @@ This section summarizes the changes in the following releases: +* <> * <> * <> * <> @@ -64,6 +65,128 @@ This section summarizes the changes in the following releases: * <> +[[logstash-8-15-0]] +=== Logstash 8.15.0 Release Notes + +[[snmp-ga-8.15.0]] +==== Announcing the new {ls} SNMP integration plugin + +The new `logstash-integration-snmp` plugin is available and bundled with {ls} 8.15.0 (and later) by default. +This plugin combines our classic `logstash-input-snmp` and `logstash-input-snmptrap` plugins into a single Ruby gem at v4.0.0 and later. + +The `logstash-integration-snmp` plugin combines the +`logstash-input-snmp` and `logstash-input-snmptrap` plugins into one integrated plugin that encompasses +the capabilities of both. +This integrated plugin package provides better alignment in snmp processing, better resource management, +easier package maintenance, and a smaller installation footprint. + +[[breaking-8.15.0]] +===== Breaking change with release of `logstash-integration-snmp` + +Prior to 8.15.0, {ls} bundled stand-alone versions of the `input-snmp` and `input-snmptrap` plugins by default. +When you upgrade to 8.15.0, the stand-alone plugins are replaced by the 4.0.0+ version contained in the new integration. + +IMPORTANT: Before you upgrade to {ls} 8.15.0, be aware of {logstash-ref}/plugins-integrations-snmp.html#plugins-integrations-snmp-migration[behavioral and mapping differences] between stand-alone plugins and the new versions included in `integration-snmp`. +If you need to maintain current mappings for the `input-snmptrap` plugin, you have options to {logstash-ref}/plugins-integrations-snmp.html#plugins-integrations-snmp-input-snmptrap-compat[preserve existing behavior]. + +[[featured-8.15.0]] +==== New features and enhancements + +[[wolfi-8.15.0]] +===== Wolfi-flavored Docker Image +Starting with 8.15.0, {ls} provides an extra Docker image flavor based on the Wolfi Linux distribution: https://github.com/wolfi-dev. (https://github.com/elastic/logstash/pull/16189[#16189]). +To use the image append "-wolfi" to the image name: + +``` +docker run docker.elastic.co/logstash/logstash-wolfi:8.15.0 +``` + +This new image flavor builds on top of a smaller and more secure base image, and is planned to become the default flavor in the next major version of {ls}. + +[[notable-8.15.0]] +==== Performance improvements and notable issues fixed +* Improved performance in pipeline-to-pipeline workloads by removing lock contention in event serialization https://github.com/elastic/logstash/pull/16194[#16194] +* Fixed pqcheck handling of paths with spaces on Windows https://github.com/elastic/logstash/pull/16205[#16205] + +[[core-8.15.0]] +==== Other changes to Logstash core + +* Changed rollover strategy in log4j2.properties to delete compressed files older than 7 days https://github.com/elastic/logstash/pull/16179[#16179] +* Fixed handling and reporting of compilation error when a pipeline didn't fit the JVM's ThreadStackSize https://github.com/elastic/logstash/pull/16336[#16336] +* Fixed missing deprecation logging in deprecated Logstash core settings https://github.com/elastic/logstash/pull/16348[#16348] +* Fixed innacurate accounting of `queue_size_in_bytes` metric when using `clean_consumed` option in dead_letter_queue input plugin https://github.com/elastic/logstash/pull/16195[#16195] + +[[dependencies-8.15.0]] +==== Updates to dependencies + +* Updated bundled JDK to 21 https://github.com/elastic/logstash/pull/16055[#16055] +* Updated JRuby to 9.4.8.0 https://github.com/elastic/logstash/pull/16278[#16278] + +[[docs-8.15.0]] +==== Documentation enhancements + +* Logstash {logstash-ref}/monitoring-with-ea.html[monitoring doc] improvements https://github.com/elastic/logstash/pull/16208[#16208] +* Add ecs and datastream requirement for {logstash-ref}/ea-integrations.html#es-tips[integration filter] https://github.com/elastic/logstash/pull/16268[#16268] +* Remove reference to puppet {ls} module https://github.com/elastic/logstash/pull/12356[#12356] +* Add section to describe intended usage of {logstash-ref}/jvm-settings.html#reducing-off-heap-usage[`pipeline.buffer.type`] https://github.com/elastic/logstash/pull/16083[#16083] +* Reposition {logstash-ref}/node-stats-api.html#pipeline-stats[`worker-utilization`] stat for better placement and flow https://github.com/elastic/logstash/pull/16337[#16337] +* Add {logstash-ref}/performance-troubleshooting.html[tuning guidance] based on Flow metrics https://github.com/elastic/logstash/pull/16289[#16289] + + +[[plugins-8.15.0]] +==== Plugin releases + +*De_dot Filter - 1.1.0* + +* Add support for recursively searching sub-fields with the new `recusive =>` config option https://github.com/logstash-plugins/logstash-filter-de_dot/pull/24[#24] + +*Elastic_integration Filter - 0.1.13* + +* Update default elasticsearch tree branch to 8.15 https://github.com/elastic/logstash-filter-elastic_integration/pull/156[#156] + +*Geoip Filter - 7.3.0* + +* Added support for MaxMind GeoIP2 Enterprise and Anonymous-IP databases https://github.com/logstash-plugins/logstash-filter-geoip/pull/223[#223] +* Updated MaxMind dependencies. + +*Http Filter - 1.6.0* + +* Added new `ssl_enabled` setting for enabling/disabling the SSL configurations https://github.com/logstash-plugins/logstash-filter-http/pull/52[#52] + +*Http_poller Input - 5.6.0* + +* Added new `ssl_enabled` setting for enabling/disabling the SSL configurations https://github.com/logstash-plugins/logstash-input-http_poller/pull/146[#146] + +*Aws Integration - 7.1.7* + +* Remove empty temporary dirs at plugin close https://github.com/logstash-plugins/logstash-integration-aws/pull/46[#46] + +*Kafka Integration - 11.5.0* + +* Add "auto_create_topics" option to allow disabling of topic auto creation https://github.com/logstash-plugins/logstash-integration-kafka/pull/172[#172] + +*Snmp Integration - 4.0.4* + +* Introduce Snmp Integration by default, replacing Snmp Input v1.3.3 and Snmptrap Input v3.1.0 https://github.com/logstash-plugins/logstash-integration-snmp/pull/67[#67] + +*Http Output - 5.7.0* + +* Added new `ssl_enabled` setting for enabling/disabling the SSL configurations https://github.com/logstash-plugins/logstash-output-http/pull/144[#144] + +*Redis Output - 5.2.0* + +* Added support to SSL/TLS configurations https://github.com/logstash-plugins/logstash-output-redis/pull/69[#69] + * `ssl_enabled` + * `ssl_certificate_authorities` + * `ssl_certificate` + * `ssl_key` + * `ssl_verification_mode` + * `ssl_supported_protocols` + * `ssl_cipher_suites` +* Added basic support for SSL https://github.com/logstash-plugins/logstash-output-redis/pull/59[#59] +* Fixed documentation of required settings https://github.com/logstash-plugins/logstash-output-redis/pull/61[#61] + + [[logstash-8-14-3]] === Logstash 8.14.3 Release Notes From b2796afc92d27a3d55d3a74ec35f11800756eb55 Mon Sep 17 00:00:00 2001 From: Mashhur <99575341+mashhurs@users.noreply.github.com> Date: Mon, 19 Aug 2024 12:49:34 -0700 Subject: [PATCH 15/15] Removing 8.14 from ci/branches.json as we have 8.15. (#16390) --- ci/branches.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/ci/branches.json b/ci/branches.json index dca2ed04dea..6524ee2be1a 100644 --- a/ci/branches.json +++ b/ci/branches.json @@ -7,9 +7,6 @@ { "branch": "8.15" }, - { - "branch": "8.14" - }, { "branch": "7.17" }