From 8212d131759e98fa22ab25ba582b3b379b51df20 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 30 Dec 2024 08:22:50 +0000 Subject: [PATCH 01/27] fix(deps): update module golang.org/x/net to v0.33.0 [security] (#3436) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(deps): update module golang.org/x/net to v0.33.0 [security] * 🤖🦾🛠️ go mod tidy & make package-specs --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- src/autoscaler/go.mod | 2 +- src/autoscaler/go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/autoscaler/go.mod b/src/autoscaler/go.mod index 5c02b8537c..a71148da59 100644 --- a/src/autoscaler/go.mod +++ b/src/autoscaler/go.mod @@ -43,7 +43,7 @@ require ( go.opentelemetry.io/otel/trace v1.32.0 golang.org/x/crypto v0.31.0 golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 - golang.org/x/net v0.32.0 + golang.org/x/net v0.33.0 golang.org/x/time v0.8.0 google.golang.org/grpc v1.68.1 gopkg.in/yaml.v3 v3.0.1 diff --git a/src/autoscaler/go.sum b/src/autoscaler/go.sum index 028cc106ac..c279611b88 100644 --- a/src/autoscaler/go.sum +++ b/src/autoscaler/go.sum @@ -1130,8 +1130,9 @@ golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= -golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI= golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= From b4d0f1436da076586ab9ea5db02123d75af0fb42 Mon Sep 17 00:00:00 2001 From: app-autoscaler-ci-bot Date: Mon, 30 Dec 2024 08:48:53 +0000 Subject: [PATCH 02/27] Updated release version to 14.7.0 in golangapiserver --- jobs/golangapiserver/spec | 2 +- src/autoscaler/api/default_info.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jobs/golangapiserver/spec b/jobs/golangapiserver/spec index 8e9c4ad8a2..f828e86c1d 100644 --- a/jobs/golangapiserver/spec +++ b/jobs/golangapiserver/spec @@ -95,7 +95,7 @@ properties: default: "Autoscaler" autoscaler.apiserver.info.build: description: "Autoscaler application build number" - default: "14.6.0" + default: "14.7.0" autoscaler.apiserver.info.support_url: description: "Autoscaler application support page URL" default: "https://github.com/cloudfoundry/app-autoscaler-release" diff --git a/src/autoscaler/api/default_info.json b/src/autoscaler/api/default_info.json index 83f26702df..d7e9a83239 100644 --- a/src/autoscaler/api/default_info.json +++ b/src/autoscaler/api/default_info.json @@ -1,6 +1,6 @@ { "name": "Autoscaler", - "build": "14.6.0", + "build": "14.7.0", "support": "https://github.com/cloudfoundry/app-autoscaler-release", "description": "Automatically increase or decrease the number of application instances based on a policy you define." } From 398826ba10edc639a17aff7243b53c830d3ae04b Mon Sep 17 00:00:00 2001 From: app-autoscaler-ci-bot Date: Mon, 30 Dec 2024 08:54:55 +0000 Subject: [PATCH 03/27] created release v14.7.0 --- .final_builds/jobs/golangapiserver/index.yml | 4 + .final_builds/packages/db/index.yml | 4 + .../packages/eventgenerator/index.yml | 4 + .../packages/golangapiserver/index.yml | 4 + .../packages/metricsforwarder/index.yml | 4 + .final_builds/packages/operator/index.yml | 4 + .../packages/scalingengine/index.yml | 4 + .final_builds/packages/scheduler/index.yml | 4 + .../app-autoscaler/app-autoscaler-14.7.0.yml | 132 ++++++++++++++++++ releases/app-autoscaler/index.yml | 2 + 10 files changed, 166 insertions(+) create mode 100644 releases/app-autoscaler/app-autoscaler-14.7.0.yml diff --git a/.final_builds/jobs/golangapiserver/index.yml b/.final_builds/jobs/golangapiserver/index.yml index b61f78dddd..051348da33 100644 --- a/.final_builds/jobs/golangapiserver/index.yml +++ b/.final_builds/jobs/golangapiserver/index.yml @@ -211,6 +211,10 @@ builds: version: 7b50daca9c9526ea96c9631baf2a794411a5ff112fffce5a90cd0638322c1197 blobstore_id: b41ce626-1203-4431-493d-cd6115224af2 sha1: sha256:7c641f775487decfa25266869e6f60066f4011a1339e2c73b31978ad491471b8 + 7c42781bc78447d67dd37989ba834717cd857181a011d61f9a80408f9df13502: + version: 7c42781bc78447d67dd37989ba834717cd857181a011d61f9a80408f9df13502 + blobstore_id: 6fe8ceee-d677-44f7-54e4-d2b654246de7 + sha1: sha256:d1318d0524061faa5bd7b30114a71cee166859c5060a4eb3456c910604540093 7d50dbe2fdfbbeae0d1a01f84cb6ebfea1c5e409c8468890226d932e54c7017b: version: 7d50dbe2fdfbbeae0d1a01f84cb6ebfea1c5e409c8468890226d932e54c7017b blobstore_id: 97d6f574-93b3-4774-4fb6-595ee05d0fd9 diff --git a/.final_builds/packages/db/index.yml b/.final_builds/packages/db/index.yml index e69656c33d..7edc3eae95 100644 --- a/.final_builds/packages/db/index.yml +++ b/.final_builds/packages/db/index.yml @@ -299,6 +299,10 @@ builds: version: cb8df1b55a8f27624ca32ff87b683b42b42ff40c26903feba5d1f13ea655414d blobstore_id: 5e48b16c-92ed-4f9b-46e3-81bb06d195e3 sha1: sha256:c96aea2597fc1ea56d9b6838f8a3d617320ea8600f17872fc3ca6dea004a6807 + ccd558ac3d39b4fb67e1f5cdd93b2c9848ddae492ae99315a12d92b91746ac04: + version: ccd558ac3d39b4fb67e1f5cdd93b2c9848ddae492ae99315a12d92b91746ac04 + blobstore_id: 7a18744d-c5d6-4acc-6396-614a99455267 + sha1: sha256:2979f66a9055e6950351affc7ede479999f01495fbc821e550a9e63181354967 d196f185003efb640f5eb9cbbab7382bbd14dd0aec34e921663eaa57bc7f5659: version: d196f185003efb640f5eb9cbbab7382bbd14dd0aec34e921663eaa57bc7f5659 blobstore_id: 377e1e29-5cd5-4d80-77f6-dd6dbf9fe9bf diff --git a/.final_builds/packages/eventgenerator/index.yml b/.final_builds/packages/eventgenerator/index.yml index cced679ba8..031dce6bdb 100644 --- a/.final_builds/packages/eventgenerator/index.yml +++ b/.final_builds/packages/eventgenerator/index.yml @@ -79,6 +79,10 @@ builds: version: 4797a98bfce7df67db8527ab07ebed76e668c665ba57e3a7d69671e48c83420f blobstore_id: 5dfe454c-0eb1-41c3-487f-8d8d6675c358 sha1: sha256:6fc006bd75bb4b3ee72c656da4942d516d00f3c58f6985f43fe441c402cc2a2a + 4aa4750b15a7936452115ad9d5d526ad1e7414263e426ca729aadb7413ebdeae: + version: 4aa4750b15a7936452115ad9d5d526ad1e7414263e426ca729aadb7413ebdeae + blobstore_id: f6e69eb1-34eb-4461-682d-e8a07fc13732 + sha1: sha256:bd7844425d6fda78635834a4bac7be03f93ae62267c2c3fdd3de3bf07e25a24e 513761f224f2eea7daa4dd83abb93b8e4767bdf1294b546c4d49a0bdc19ae91c: version: 513761f224f2eea7daa4dd83abb93b8e4767bdf1294b546c4d49a0bdc19ae91c blobstore_id: 4858c7fb-1a96-466c-446d-53914f1f063d diff --git a/.final_builds/packages/golangapiserver/index.yml b/.final_builds/packages/golangapiserver/index.yml index ca6020052b..c2ab774623 100644 --- a/.final_builds/packages/golangapiserver/index.yml +++ b/.final_builds/packages/golangapiserver/index.yml @@ -215,6 +215,10 @@ builds: version: 9c9f94525724ba1e65014f608bf3cfcbee994df8855ce2423b280f502c474147 blobstore_id: 87802038-eeaa-487b-5312-0b52feaaacba sha1: sha256:ffa9aa783db38bc1503f2c78f9357788a21d172904f79fde12766ad46efbefad + 9da81cca6b79bbb63bffbca4328c1337ecdd3a73d7b97e22dd00577e38f845fd: + version: 9da81cca6b79bbb63bffbca4328c1337ecdd3a73d7b97e22dd00577e38f845fd + blobstore_id: 4d508086-e58c-44fb-6818-3ba5ab4beb7e + sha1: sha256:e584eee5d481b261dd91c0a3ecd76cc9655117e1fd27df5fb467f2fc2092f765 a0a076589feeaf0c8f4a10e1822b4dbc25dbea1bfa169253fbaaddacc4e59de7: version: a0a076589feeaf0c8f4a10e1822b4dbc25dbea1bfa169253fbaaddacc4e59de7 blobstore_id: 6a23b943-2d0e-47cb-69ba-b2c3ffd2be2c diff --git a/.final_builds/packages/metricsforwarder/index.yml b/.final_builds/packages/metricsforwarder/index.yml index d280d10210..687fb709a4 100644 --- a/.final_builds/packages/metricsforwarder/index.yml +++ b/.final_builds/packages/metricsforwarder/index.yml @@ -275,6 +275,10 @@ builds: version: daecf45161216f38a7bfaa84333c231df5eacc35a5407a21e3b57f89dceee4e6 blobstore_id: caefc47b-18ce-4217-53a4-48a4dff4e435 sha1: sha256:546debf2b0a2478d33fe86ffeb37653333791caf92b0e590d1029b235f1b880e + dd15a1d16ce8edce999e1e4299d86476af04377705fcc687a67f48abf2cb07a3: + version: dd15a1d16ce8edce999e1e4299d86476af04377705fcc687a67f48abf2cb07a3 + blobstore_id: 660df3ad-d7f0-4353-7439-5fbd48030fad + sha1: sha256:df2ae1904c04bdbca122e88ff894538e06deea8cb359548298c1fa42b176a163 e177e80544f4c3f549c91f10d6d84284439aff5c3a6d362eefdf280d1303005d: version: e177e80544f4c3f549c91f10d6d84284439aff5c3a6d362eefdf280d1303005d blobstore_id: 0eb40175-3918-477e-7148-f43d9d3b3bee diff --git a/.final_builds/packages/operator/index.yml b/.final_builds/packages/operator/index.yml index d9b052ed6a..92c7d83316 100644 --- a/.final_builds/packages/operator/index.yml +++ b/.final_builds/packages/operator/index.yml @@ -259,6 +259,10 @@ builds: version: d268cf239bf1e8cc488ac0307675818db26d26f9e980075907a26cee1933b697 blobstore_id: 93779fb9-a38a-4d7f-4538-8f8ed7dd244c sha1: sha256:e98bf98388ad4a5f42fdcaf2308e3734328ebfcc2594c64b09c90cbaf633856c + d269d8d4832b521a512ff15cc336c075dfc62db7fe5d8c331784ef26e34ce257: + version: d269d8d4832b521a512ff15cc336c075dfc62db7fe5d8c331784ef26e34ce257 + blobstore_id: 11516d59-355b-45cf-44ab-c39be5e27944 + sha1: sha256:3f2e80481cf35e09019c8d257fed7dbc56e20d64e4c0242a2b403e844ff643ca d6dbd91134169d99825c1cb233ff5775038f8a5b7e372df93c2384df46b973fb: version: d6dbd91134169d99825c1cb233ff5775038f8a5b7e372df93c2384df46b973fb blobstore_id: 92e9ba78-9009-4ae1-4d32-05eeab4e83aa diff --git a/.final_builds/packages/scalingengine/index.yml b/.final_builds/packages/scalingengine/index.yml index c55ea5fa5c..2a55381813 100644 --- a/.final_builds/packages/scalingengine/index.yml +++ b/.final_builds/packages/scalingengine/index.yml @@ -151,6 +151,10 @@ builds: version: 72139b660f2693ae60290ced90f92d3c3f2fb3b2e2791533a776ffc2a8e6d91a blobstore_id: 66aa66c5-ae25-42f2-400b-73df68843e1e sha1: sha256:6ee99e1af490ed9b9bdbeaa732e153d5cf49c849866264b3c8a70478af5966f5 + 7555879a5561747042485232c41234fad92d9707c36e30cd106c0f89ddf61189: + version: 7555879a5561747042485232c41234fad92d9707c36e30cd106c0f89ddf61189 + blobstore_id: 52570a15-071c-48b8-7289-313b9c839e2f + sha1: sha256:3b98d5605c652bb741648163859fee4c51303a83fd23d4568375771fbc408cdd 8494167fac435e350142ce01348629f16a8d13a5e78d020f28124286112a8503: version: 8494167fac435e350142ce01348629f16a8d13a5e78d020f28124286112a8503 blobstore_id: 851f8e0b-0efd-47b5-6a7b-437b31ab6a63 diff --git a/.final_builds/packages/scheduler/index.yml b/.final_builds/packages/scheduler/index.yml index c3c7610dbb..53abd9d3ad 100644 --- a/.final_builds/packages/scheduler/index.yml +++ b/.final_builds/packages/scheduler/index.yml @@ -347,6 +347,10 @@ builds: version: da363dbfca2cea5c5d775a1c598d92f91ca1eb08376eff3805ba10d4845f381a blobstore_id: 657af49f-e5eb-4fae-4890-430e91077893 sha1: sha256:156ca363525c62deee6dbc48e7dfd643f736ca99d24b130432fee57c50472982 + da6d50cdb7ba5d11682357836bacf6e1da3899e0b7413112d370e143a063ca9c: + version: da6d50cdb7ba5d11682357836bacf6e1da3899e0b7413112d370e143a063ca9c + blobstore_id: 21aab4a1-4b86-40a5-6617-3184c24b8425 + sha1: sha256:707266eae2ea0f24576788776daf1547dccedc246128a055f3426e29c7c53b0b e62b61909168d0ebb66cb2f6681f33717e1575540b6f5e24519dc1756205cadd: version: e62b61909168d0ebb66cb2f6681f33717e1575540b6f5e24519dc1756205cadd blobstore_id: ac012d6a-3395-43ee-7062-96f89eaa6b41 diff --git a/releases/app-autoscaler/app-autoscaler-14.7.0.yml b/releases/app-autoscaler/app-autoscaler-14.7.0.yml new file mode 100644 index 0000000000..76b45c2bb4 --- /dev/null +++ b/releases/app-autoscaler/app-autoscaler-14.7.0.yml @@ -0,0 +1,132 @@ +name: app-autoscaler +version: 14.7.0 +commit_hash: ff3d71f3c +uncommitted_changes: false +jobs: +- name: eventgenerator + version: 7847d1815f5a07e785733f65251e30a5828e0f1290a4d410e5515a6a688f6a5b + fingerprint: 7847d1815f5a07e785733f65251e30a5828e0f1290a4d410e5515a6a688f6a5b + sha1: sha256:ff8b330978e34821cc1449b63819bbed7bd14c4d93c01412d16a89499051d05b + packages: + - openjdk-21 + - db + - eventgenerator + - common + - changeloglockcleaner +- name: golangapiserver + version: 7c42781bc78447d67dd37989ba834717cd857181a011d61f9a80408f9df13502 + fingerprint: 7c42781bc78447d67dd37989ba834717cd857181a011d61f9a80408f9df13502 + sha1: sha256:d1318d0524061faa5bd7b30114a71cee166859c5060a4eb3456c910604540093 + packages: + - golang-1-linux + - golangapiserver + - db + - openjdk-21 + - common + - changeloglockcleaner +- name: metricsforwarder + version: 41b12c8dcc3a4d7f57c7f190c13d0fcb78f0ed88c12f3b7f7df849dd02eb38f7 + fingerprint: 41b12c8dcc3a4d7f57c7f190c13d0fcb78f0ed88c12f3b7f7df849dd02eb38f7 + sha1: sha256:1ed008b40ffe634eb70ba8c6b2ea6571a368705ace7c5b7daa82484e7f3da761 + packages: + - db + - metricsforwarder + - common +- name: operator + version: 17db784fb4632092b031e5aead108ff3c9a8aa515dc70dc4f97c1482f77c30e3 + fingerprint: 17db784fb4632092b031e5aead108ff3c9a8aa515dc70dc4f97c1482f77c30e3 + sha1: sha256:ae9cc402e1d64bf9fc9b82a1d005000093e570fe10c18532bf2cd103ef44b2c3 + packages: + - operator + - common + - db + - openjdk-21 + - changeloglockcleaner +- name: scalingengine + version: e01697ef31fb88e3ea704c5edbed45997d884738882aab375ca432ecde345869 + fingerprint: e01697ef31fb88e3ea704c5edbed45997d884738882aab375ca432ecde345869 + sha1: sha256:6a7590dbccadbade635420ef3d9fb5bcbb7e334cb2677ff750f304e471316d19 + packages: + - openjdk-21 + - db + - scalingengine + - common + - changeloglockcleaner +- name: scheduler + version: 5c0db6476ec8ef2b3564f164658a7038221e160d982aad9cb806770ee2afdfa8 + fingerprint: 5c0db6476ec8ef2b3564f164658a7038221e160d982aad9cb806770ee2afdfa8 + sha1: sha256:a4be2218204fc5103dc22756009277988c2851a956873b5b4a0bc903be2abbb7 + packages: + - scheduler + - db + - openjdk-21 + - common + - changeloglockcleaner +packages: +- name: changeloglockcleaner + version: 51c69d838e62b623241d8c842e086f1261d09b02b6ce4f5866bb6d5b2c94bc71 + fingerprint: 51c69d838e62b623241d8c842e086f1261d09b02b6ce4f5866bb6d5b2c94bc71 + sha1: sha256:416145c7a248c01708cd36cd91a074d0b803d16ac708712ae1c3cd701ae38e8b + dependencies: + - golang-1-linux +- name: common + version: c5672108ea00b3612f31da4ac566aa0535510b0bc88b390fd0a5c50693b2439e + fingerprint: c5672108ea00b3612f31da4ac566aa0535510b0bc88b390fd0a5c50693b2439e + sha1: sha256:0fcc907e0419bf0925679a559f3c8a76a9e8034958c8688c25748d9088350c4c + dependencies: [] +- name: db + version: ccd558ac3d39b4fb67e1f5cdd93b2c9848ddae492ae99315a12d92b91746ac04 + fingerprint: ccd558ac3d39b4fb67e1f5cdd93b2c9848ddae492ae99315a12d92b91746ac04 + sha1: sha256:2979f66a9055e6950351affc7ede479999f01495fbc821e550a9e63181354967 + dependencies: + - openjdk-21 +- name: eventgenerator + version: 4aa4750b15a7936452115ad9d5d526ad1e7414263e426ca729aadb7413ebdeae + fingerprint: 4aa4750b15a7936452115ad9d5d526ad1e7414263e426ca729aadb7413ebdeae + sha1: sha256:bd7844425d6fda78635834a4bac7be03f93ae62267c2c3fdd3de3bf07e25a24e + dependencies: + - golang-1-linux +- name: golang-1-linux + version: 65e1dbda6b56080be4108e94c744f40bb2dca4caa417ab9fb376c2c353bdff1c + fingerprint: 65e1dbda6b56080be4108e94c744f40bb2dca4caa417ab9fb376c2c353bdff1c + sha1: sha256:7ce19cd8fc20ef9cb583ff20490067d7698c5608884140aaeb72bd6ad4298c0a + dependencies: [] +- name: golangapiserver + version: 9da81cca6b79bbb63bffbca4328c1337ecdd3a73d7b97e22dd00577e38f845fd + fingerprint: 9da81cca6b79bbb63bffbca4328c1337ecdd3a73d7b97e22dd00577e38f845fd + sha1: sha256:e584eee5d481b261dd91c0a3ecd76cc9655117e1fd27df5fb467f2fc2092f765 + dependencies: + - golang-1-linux +- name: metricsforwarder + version: dd15a1d16ce8edce999e1e4299d86476af04377705fcc687a67f48abf2cb07a3 + fingerprint: dd15a1d16ce8edce999e1e4299d86476af04377705fcc687a67f48abf2cb07a3 + sha1: sha256:df2ae1904c04bdbca122e88ff894538e06deea8cb359548298c1fa42b176a163 + dependencies: + - golang-1-linux +- name: openjdk-21 + version: e45cc7f365be6d9be193bbb9b64d8f8754774f831efd18d7e9d9af275c3c4def + fingerprint: e45cc7f365be6d9be193bbb9b64d8f8754774f831efd18d7e9d9af275c3c4def + sha1: sha256:434ae686813536fe08a5a7d83d287dbcac0af3e4da0927062dc55fec8f3aa08a + dependencies: [] +- name: operator + version: d269d8d4832b521a512ff15cc336c075dfc62db7fe5d8c331784ef26e34ce257 + fingerprint: d269d8d4832b521a512ff15cc336c075dfc62db7fe5d8c331784ef26e34ce257 + sha1: sha256:3f2e80481cf35e09019c8d257fed7dbc56e20d64e4c0242a2b403e844ff643ca + dependencies: + - golang-1-linux +- name: scalingengine + version: 7555879a5561747042485232c41234fad92d9707c36e30cd106c0f89ddf61189 + fingerprint: 7555879a5561747042485232c41234fad92d9707c36e30cd106c0f89ddf61189 + sha1: sha256:3b98d5605c652bb741648163859fee4c51303a83fd23d4568375771fbc408cdd + dependencies: + - golang-1-linux +- name: scheduler + version: da6d50cdb7ba5d11682357836bacf6e1da3899e0b7413112d370e143a063ca9c + fingerprint: da6d50cdb7ba5d11682357836bacf6e1da3899e0b7413112d370e143a063ca9c + sha1: sha256:707266eae2ea0f24576788776daf1547dccedc246128a055f3426e29c7c53b0b + dependencies: + - openjdk-21 +license: + version: 15eb386a0db48f190d29bd28058f5d0d6605f5acde7c6cfc6f014d57747e41f9 + fingerprint: 15eb386a0db48f190d29bd28058f5d0d6605f5acde7c6cfc6f014d57747e41f9 + sha1: sha256:6c7a834097b96efc340787fbe5876c1e366de0235def5e2b93fa016c8655535c diff --git a/releases/app-autoscaler/index.yml b/releases/app-autoscaler/index.yml index 4c4311ae69..272d3315c7 100644 --- a/releases/app-autoscaler/index.yml +++ b/releases/app-autoscaler/index.yml @@ -41,6 +41,8 @@ builds: version: 14.4.2 4087e599-6e4b-4a10-6595-eec8e187fb5f: version: 7.1.0 + 46aac5e5-39d8-4160-4f85-43e0c9bb2f01: + version: 14.7.0 482559bc-07e0-47a6-71b8-e38c35497490: version: 6.1.1 490c5e69-006c-4ded-64d4-33750ec71462: From 5fae242a646fc5ead0da85177b619fe985b27dca Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Jan 2025 08:44:01 +0000 Subject: [PATCH 04/27] chore(deps): update github/codeql-action digest to 48ab28a (#3438) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 0a0849865e..3aea4795f0 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -51,7 +51,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3 + uses: github/codeql-action/init@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -64,4 +64,4 @@ jobs: make build-all - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3 + uses: github/codeql-action/analyze@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3 From da40309637ff6b626547e35d3bb52a021f48fadf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Jan 2025 09:30:53 +0000 Subject: [PATCH 05/27] chore(deps): update ghcr.io/cloudfoundry/app-autoscaler-release-tools:main docker digest to a894fc6 (#3431) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/acceptance_tests_broker_close.yaml | 2 +- .github/workflows/acceptance_tests_mta_close.yaml | 2 +- .github/workflows/bosh-release-checks.yaml | 4 ++-- .github/workflows/bosh-templates.yaml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/java-ci-lint.yaml | 2 +- .github/workflows/manifest.yaml | 2 +- .github/workflows/mysql.yaml | 2 +- .github/workflows/openapi-specs-check.yaml | 2 +- .github/workflows/postgres.yaml | 2 +- .github/workflows/tidy-go-mod.yaml | 2 +- .github/workflows/update-all-golang-dependencies.yaml | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/acceptance_tests_broker_close.yaml b/.github/workflows/acceptance_tests_broker_close.yaml index 4bd5fe5aee..bcaed44747 100644 --- a/.github/workflows/acceptance_tests_broker_close.yaml +++ b/.github/workflows/acceptance_tests_broker_close.yaml @@ -11,7 +11,7 @@ jobs: name: Cleanup deployments runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: diff --git a/.github/workflows/acceptance_tests_mta_close.yaml b/.github/workflows/acceptance_tests_mta_close.yaml index 88eba48af8..f1b5663358 100644 --- a/.github/workflows/acceptance_tests_mta_close.yaml +++ b/.github/workflows/acceptance_tests_mta_close.yaml @@ -11,7 +11,7 @@ jobs: name: Cleanup deployments runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: diff --git a/.github/workflows/bosh-release-checks.yaml b/.github/workflows/bosh-release-checks.yaml index f8ea3e89ab..2e2bab1af6 100644 --- a/.github/workflows/bosh-release-checks.yaml +++ b/.github/workflows/bosh-release-checks.yaml @@ -12,7 +12,7 @@ jobs: name: ensure gosub specs are up to date runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 steps: - name: Trust my checkout run: git config --global --add safe.directory "${GITHUB_WORKSPACE}" @@ -39,7 +39,7 @@ jobs: name: Create Bosh Release runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 steps: - name: Trust my checkout run: git config --global --add safe.directory "${GITHUB_WORKSPACE}" diff --git a/.github/workflows/bosh-templates.yaml b/.github/workflows/bosh-templates.yaml index bd79dfb364..0991005ae9 100644 --- a/.github/workflows/bosh-templates.yaml +++ b/.github/workflows/bosh-templates.yaml @@ -12,7 +12,7 @@ jobs: name: Bosh Templates Test runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 3aea4795f0..7a2af2c94f 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -29,7 +29,7 @@ jobs: name: Analyze runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 permissions: actions: read diff --git a/.github/workflows/java-ci-lint.yaml b/.github/workflows/java-ci-lint.yaml index 6a9e5fcc85..08c24377a1 100644 --- a/.github/workflows/java-ci-lint.yaml +++ b/.github/workflows/java-ci-lint.yaml @@ -17,7 +17,7 @@ jobs: code-style: runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 diff --git a/.github/workflows/manifest.yaml b/.github/workflows/manifest.yaml index 200510db9c..1d7579a77a 100644 --- a/.github/workflows/manifest.yaml +++ b/.github/workflows/manifest.yaml @@ -19,7 +19,7 @@ jobs: name: Manifest Tests runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 diff --git a/.github/workflows/mysql.yaml b/.github/workflows/mysql.yaml index 9dff3f4591..3f0d4dd49a 100644 --- a/.github/workflows/mysql.yaml +++ b/.github/workflows/mysql.yaml @@ -21,7 +21,7 @@ jobs: DB_PASSWORD: root runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 continue-on-error: true name: Build suite=${{ matrix.suite }}, mysql=${{ matrix.mysql }} services: diff --git a/.github/workflows/openapi-specs-check.yaml b/.github/workflows/openapi-specs-check.yaml index 9d7f00455c..dd74f65e1b 100644 --- a/.github/workflows/openapi-specs-check.yaml +++ b/.github/workflows/openapi-specs-check.yaml @@ -5,7 +5,7 @@ jobs: validate: runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 steps: - name: Get Repository content uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 diff --git a/.github/workflows/postgres.yaml b/.github/workflows/postgres.yaml index dff764e287..419dd2297e 100644 --- a/.github/workflows/postgres.yaml +++ b/.github/workflows/postgres.yaml @@ -21,7 +21,7 @@ jobs: DB_PASSWORD: postgres runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 continue-on-error: true name: Build suite=${{ matrix.suite }}, postgres=${{ matrix.postgres }} services: diff --git a/.github/workflows/tidy-go-mod.yaml b/.github/workflows/tidy-go-mod.yaml index 34068d5a09..64a0d2a2cd 100644 --- a/.github/workflows/tidy-go-mod.yaml +++ b/.github/workflows/tidy-go-mod.yaml @@ -11,7 +11,7 @@ jobs: name: ensure that go mod tidy has run runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 diff --git a/.github/workflows/update-all-golang-dependencies.yaml b/.github/workflows/update-all-golang-dependencies.yaml index 7b5367c73e..36c2ef16a8 100644 --- a/.github/workflows/update-all-golang-dependencies.yaml +++ b/.github/workflows/update-all-golang-dependencies.yaml @@ -9,7 +9,7 @@ jobs: name: "go get -u" runs-on: ubuntu-latest container: - image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:b89f25eeea092104fb75e8e7eaf76b0dbd3156bec51ea234670ff0bdd1fc6e8b + image: ghcr.io/cloudfoundry/app-autoscaler-release-tools:main@sha256:a894fc6c7678445848d896dab24875a94ed95c0d887760b28a56baf916fef811 permissions: pull-requests: write contents: write From 5e31870a068ddf77ac918328eabf3adeab6900ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Jan 2025 14:55:12 +0000 Subject: [PATCH 06/27] fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v3.4.1 (#3440) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- src/scheduler/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scheduler/pom.xml b/src/scheduler/pom.xml index 95c83ba28d..d4e05fa345 100644 --- a/src/scheduler/pom.xml +++ b/src/scheduler/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 3.4.0 + 3.4.1 From ad4710a47849b81c396bf55b39c2afdf2ffb4a6e Mon Sep 17 00:00:00 2001 From: Arsalan Khan Date: Fri, 20 Dec 2024 10:50:39 +0100 Subject: [PATCH 07/27] Test custom metrics with basic auth (binding secret) --- src/acceptance/app/custom_metric_test.go | 11 +++-- src/acceptance/helpers/helpers.go | 57 +++++++++++++++++++++--- 2 files changed, 58 insertions(+), 10 deletions(-) diff --git a/src/acceptance/app/custom_metric_test.go b/src/acceptance/app/custom_metric_test.go index 3b9410e5c1..0a42139603 100644 --- a/src/acceptance/app/custom_metric_test.go +++ b/src/acceptance/app/custom_metric_test.go @@ -27,12 +27,17 @@ var _ = Describe("AutoScaler custom metrics", func() { Describe("custom metrics policy for same app", func() { BeforeEach(func() { - policy = GenerateDynamicScaleOutAndInPolicy(1, 2, "test_metric", 500, 500) + credentialType := "binding-secret" + policy = GeneratePolicyWithCredentialType( + 1, 2, "test_metric", 500, 500, + &credentialType) instanceName = CreatePolicy(cfg, appToScaleName, appToScaleGUID, policy) StartApp(appToScaleName, cfg.CfPushTimeoutDuration()) }) - // This test will fail if credential-type is set to X509 in autoscaler broker. - // Therefore, only mtls connection will be supported for custom metrics in future + /* + Going forward, custom metrics submission should be possible via mTLS route only.This test can be removed in future if credential-type is set to X509. + Added test for rollback cases where custom metrics are still sent via basic auth route. + */ Context("when scaling by custom metrics", func() { It("should scale out and scale in", Label(acceptance.LabelSmokeTests), func() { By("Scale out to 2 instances") diff --git a/src/acceptance/helpers/helpers.go b/src/acceptance/helpers/helpers.go index ee3c2bc9f4..8fe4ccfed6 100644 --- a/src/acceptance/helpers/helpers.go +++ b/src/acceptance/helpers/helpers.go @@ -59,16 +59,18 @@ func (b *BindingConfig) SetCustomMetricsStrategy(allowFrom string) { } type ScalingPolicy struct { - InstanceMin int `json:"instance_min_count"` - InstanceMax int `json:"instance_max_count"` - ScalingRules []*ScalingRule `json:"scaling_rules,omitempty"` - Schedules *ScalingSchedules `json:"schedules,omitempty"` + InstanceMin int `json:"instance_min_count"` + InstanceMax int `json:"instance_max_count"` + ScalingRules []*ScalingRule `json:"scaling_rules,omitempty"` + Schedules *ScalingSchedules `json:"schedules,omitempty"` + CredentialType *string `json:"credential-type,omitempty"` } type ScalingPolicyWithExtraFields struct { - IsAdmin bool `json:"is_admin"` - IsSSO bool `json:"is_sso"` - Role string `json:"role"` + IsAdmin bool `json:"is_admin"` + IsSSO bool `json:"is_sso"` + Role string `json:"role"` + //CredentialType *string `json:"credential-type,omitempty"` InstanceMin int `json:"instance_min_count"` InstanceMax int `json:"instance_max_count"` ScalingRules []*ScalingRulesWithExtraFields `json:"scaling_rules,omitempty"` @@ -272,6 +274,47 @@ func GenerateDynamicScaleOutAndInPolicy(instanceMin, instanceMax int, metricName return string(marshaled) } +func GeneratePolicyWithCredentialType(instanceMin, instanceMax int, metricName string, scaleInWhenBelowThreshold int64, scaleOutWhenGreaterOrEqualThreshold int64, credentialType *string) string { + policyWithCredentialType := buildScaleOutScaleInPolicy(instanceMin, instanceMax, metricName, scaleInWhenBelowThreshold, scaleOutWhenGreaterOrEqualThreshold) + policyWithCredentialType.CredentialType = credentialType + marshaled, err := MarshalWithoutHTMLEscape(policyWithCredentialType) + Expect(err).NotTo(HaveOccurred()) + + return string(marshaled) +} + +func GeneratePolicyWithExtraFields(instanceMin, instanceMax int, metricName string, scaleInWhenBelowThreshold int64, scaleOutWhenGreaterOrEqualThreshold int64, credentialType *string) string { + scalingOutRule := ScalingRule{ + MetricType: metricName, + BreachDurationSeconds: TestBreachDurationSeconds, + Threshold: scaleOutWhenGreaterOrEqualThreshold, + Operator: ">=", + CoolDownSeconds: TestCoolDownSeconds, + Adjustment: "+1", + } + scalingInRule := ScalingRule{ + MetricType: metricName, + BreachDurationSeconds: TestBreachDurationSeconds, + Threshold: scaleInWhenBelowThreshold, + Operator: "<", + CoolDownSeconds: TestCoolDownSeconds, + Adjustment: "-1", + } + policyWithExtraFields := ScalingPolicyWithExtraFields{ + IsAdmin: false, + IsSSO: false, + Role: "", + //CredentialType: credentialType, + InstanceMin: instanceMin, + InstanceMax: instanceMax, + ScalingRules: []*ScalingRulesWithExtraFields{{StatsWindowSeconds: 0, ScalingRule: scalingOutRule}, {StatsWindowSeconds: 0, ScalingRule: scalingInRule}}, + } + marshaled, err := MarshalWithoutHTMLEscape(policyWithExtraFields) + Expect(err).NotTo(HaveOccurred()) + + return string(marshaled) +} + func buildScaleOutScaleInPolicy(instanceMin int, instanceMax int, metricName string, scaleInWhenBelowThreshold int64, scaleOutWhenGreaterOrEqualThreshold int64) ScalingPolicy { scalingOutRule := ScalingRule{ MetricType: metricName, From f262bc5bb2b9cf1df3b8ab0b20004c7e4bfd0c70 Mon Sep 17 00:00:00 2001 From: Arsalan Khan Date: Wed, 8 Jan 2025 12:44:46 +0100 Subject: [PATCH 08/27] broker: set credentialType default to x509 - breaking change --- jobs/golangapiserver/spec | 2 +- spec/jobs/golangapiserver/apiserver_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jobs/golangapiserver/spec b/jobs/golangapiserver/spec index f828e86c1d..32804760ad 100644 --- a/jobs/golangapiserver/spec +++ b/jobs/golangapiserver/spec @@ -68,7 +68,7 @@ properties: default: '' autoscaler.apiserver.broker.default_credential_type: description: "The default credential type generated to authenticate with the custom metrics API. if no credential type is explicitly set.\nAllowed values:\n - binding-secret\n - x509\nIf credential-type \"binding-secret\" is set, then username and password are generated by the broker. \nIf credential-type \"x509\" is set, only instance identity credentials may be used.\n" - default: 'binding-secret' + default: 'x509' autoscaler.apiserver.broker.server.catalog: description: "" autoscaler.apiserver.broker.server.dashboard_redirect_uri: diff --git a/spec/jobs/golangapiserver/apiserver_spec.rb b/spec/jobs/golangapiserver/apiserver_spec.rb index adeed8de4a..9f34f4ac60 100644 --- a/spec/jobs/golangapiserver/apiserver_spec.rb +++ b/spec/jobs/golangapiserver/apiserver_spec.rb @@ -252,8 +252,8 @@ end context "default_credential_type for custom metrics" do - it "has a value of binding-secret by default" do - expect(rendered_template).to include({"default_credential_type" => "binding-secret"}) + it "has a value of x509 by default" do + expect(rendered_template).to include({"default_credential_type" => "x509"}) end end end From a013f4b20ec5ed8a8fcef5a66d7356b7887c0203 Mon Sep 17 00:00:00 2001 From: Arsalan Khan Date: Wed, 8 Jan 2025 13:34:50 +0100 Subject: [PATCH 09/27] Fix: submit custom metrics via mTLS for lead time test --- src/acceptance/app/custom_metric_test.go | 23 ++++++++------ src/acceptance/app/lead_times_test.go | 4 +-- src/acceptance/helpers/helpers.go | 39 ++---------------------- 3 files changed, 18 insertions(+), 48 deletions(-) diff --git a/src/acceptance/app/custom_metric_test.go b/src/acceptance/app/custom_metric_test.go index 0a42139603..ebfba3597c 100644 --- a/src/acceptance/app/custom_metric_test.go +++ b/src/acceptance/app/custom_metric_test.go @@ -26,19 +26,18 @@ var _ = Describe("AutoScaler custom metrics", func() { AfterEach(AppAfterEach) Describe("custom metrics policy for same app", func() { - BeforeEach(func() { - credentialType := "binding-secret" - policy = GeneratePolicyWithCredentialType( - 1, 2, "test_metric", 500, 500, - &credentialType) - instanceName = CreatePolicy(cfg, appToScaleName, appToScaleGUID, policy) - StartApp(appToScaleName, cfg.CfPushTimeoutDuration()) - }) /* - Going forward, custom metrics submission should be possible via mTLS route only.This test can be removed in future if credential-type is set to X509. + Going forward, custom metrics submission should be possible via mTLS route only.This test can be removed in future if credential-type is set to X509 permanently. Added test for rollback cases where custom metrics are still sent via basic auth route. */ Context("when scaling by custom metrics", func() { + BeforeEach(func() { + credentialType := "binding-secret" + policy = GeneratePolicyWithCredentialType( + 1, 2, "test_metric", 500, 500, &credentialType) + instanceName = CreatePolicy(cfg, appToScaleName, appToScaleGUID, policy) + StartApp(appToScaleName, cfg.CfPushTimeoutDuration()) + }) It("should scale out and scale in", Label(acceptance.LabelSmokeTests), func() { By("Scale out to 2 instances") scaleOut := sendMetricToAutoscaler(cfg, appToScaleGUID, appToScaleName, 550, false) @@ -53,11 +52,15 @@ var _ = Describe("AutoScaler custom metrics", func() { WithTimeout(5 * time.Minute). WithPolling(15 * time.Second). Should(Equal(1)) - }) }) Context("when scaling by custom metrics via mtls", func() { + BeforeEach(func() { + policy := GenerateDynamicScaleOutAndInPolicy(1, 2, "test_metric", 500, 500) + instanceName = CreatePolicy(cfg, appToScaleName, appToScaleGUID, policy) + StartApp(appToScaleName, cfg.CfPushTimeoutDuration()) + }) It("should scale out and scale in", Label(acceptance.LabelSmokeTests), func() { By("Scale out to 2 instances") scaleOut := sendMetricToAutoscaler(cfg, appToScaleGUID, appToScaleName, 550, true) diff --git a/src/acceptance/app/lead_times_test.go b/src/acceptance/app/lead_times_test.go index f833ee348c..62e972333f 100644 --- a/src/acceptance/app/lead_times_test.go +++ b/src/acceptance/app/lead_times_test.go @@ -29,8 +29,8 @@ var _ = Describe("Autoscaler lead times for scaling", func() { coolDown := TestCoolDownSeconds * time.Second scalingTimewindow := 130 * time.Second // be friendly and allow some time for "internal autoscaler processes" (metric polling interval etc.) to take place before actual scaling happens - sendMetricForScaleOutAndReturnNumInstancesFunc := sendMetricToAutoscaler(cfg, appToScaleGUID, appToScaleName, 510, false) - sendMetricForScaleInAndReturnNumInstancesFunc := sendMetricToAutoscaler(cfg, appToScaleGUID, appToScaleName, 490, false) + sendMetricForScaleOutAndReturnNumInstancesFunc := sendMetricToAutoscaler(cfg, appToScaleGUID, appToScaleName, 510, true) + sendMetricForScaleInAndReturnNumInstancesFunc := sendMetricToAutoscaler(cfg, appToScaleGUID, appToScaleName, 490, true) By("checking that no scaling out happens before breach_duration_secs have passed") Consistently(sendMetricForScaleOutAndReturnNumInstancesFunc). diff --git a/src/acceptance/helpers/helpers.go b/src/acceptance/helpers/helpers.go index 8fe4ccfed6..0efcb6b851 100644 --- a/src/acceptance/helpers/helpers.go +++ b/src/acceptance/helpers/helpers.go @@ -67,10 +67,9 @@ type ScalingPolicy struct { } type ScalingPolicyWithExtraFields struct { - IsAdmin bool `json:"is_admin"` - IsSSO bool `json:"is_sso"` - Role string `json:"role"` - //CredentialType *string `json:"credential-type,omitempty"` + IsAdmin bool `json:"is_admin"` + IsSSO bool `json:"is_sso"` + Role string `json:"role"` InstanceMin int `json:"instance_min_count"` InstanceMax int `json:"instance_max_count"` ScalingRules []*ScalingRulesWithExtraFields `json:"scaling_rules,omitempty"` @@ -283,38 +282,6 @@ func GeneratePolicyWithCredentialType(instanceMin, instanceMax int, metricName s return string(marshaled) } -func GeneratePolicyWithExtraFields(instanceMin, instanceMax int, metricName string, scaleInWhenBelowThreshold int64, scaleOutWhenGreaterOrEqualThreshold int64, credentialType *string) string { - scalingOutRule := ScalingRule{ - MetricType: metricName, - BreachDurationSeconds: TestBreachDurationSeconds, - Threshold: scaleOutWhenGreaterOrEqualThreshold, - Operator: ">=", - CoolDownSeconds: TestCoolDownSeconds, - Adjustment: "+1", - } - scalingInRule := ScalingRule{ - MetricType: metricName, - BreachDurationSeconds: TestBreachDurationSeconds, - Threshold: scaleInWhenBelowThreshold, - Operator: "<", - CoolDownSeconds: TestCoolDownSeconds, - Adjustment: "-1", - } - policyWithExtraFields := ScalingPolicyWithExtraFields{ - IsAdmin: false, - IsSSO: false, - Role: "", - //CredentialType: credentialType, - InstanceMin: instanceMin, - InstanceMax: instanceMax, - ScalingRules: []*ScalingRulesWithExtraFields{{StatsWindowSeconds: 0, ScalingRule: scalingOutRule}, {StatsWindowSeconds: 0, ScalingRule: scalingInRule}}, - } - marshaled, err := MarshalWithoutHTMLEscape(policyWithExtraFields) - Expect(err).NotTo(HaveOccurred()) - - return string(marshaled) -} - func buildScaleOutScaleInPolicy(instanceMin int, instanceMax int, metricName string, scaleInWhenBelowThreshold int64, scaleOutWhenGreaterOrEqualThreshold int64) ScalingPolicy { scalingOutRule := ScalingRule{ MetricType: metricName, From e3244724662b1689e5b4c79ab35b6f1f6ea16e1c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 Jan 2025 22:55:33 +0000 Subject: [PATCH 10/27] chore(deps): update docker/build-push-action digest to b32b51a --- .github/workflows/image.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/image.yaml b/.github/workflows/image.yaml index ded1727967..1d66b3ca81 100644 --- a/.github/workflows/image.yaml +++ b/.github/workflows/image.yaml @@ -63,7 +63,7 @@ jobs: - name: Build and push id: build-and-push - uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6 + uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6 with: context: ci/dockerfiles/autoscaler-${{ matrix.image_suffix }} push: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} From b338ed1824286742900715308bdec4dacb9e7c04 Mon Sep 17 00:00:00 2001 From: Arsalan Khan Date: Thu, 9 Jan 2025 12:08:12 +0100 Subject: [PATCH 11/27] review fixes --- src/acceptance/app/custom_metric_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/acceptance/app/custom_metric_test.go b/src/acceptance/app/custom_metric_test.go index ebfba3597c..491e39d6b1 100644 --- a/src/acceptance/app/custom_metric_test.go +++ b/src/acceptance/app/custom_metric_test.go @@ -30,13 +30,15 @@ var _ = Describe("AutoScaler custom metrics", func() { Going forward, custom metrics submission should be possible via mTLS route only.This test can be removed in future if credential-type is set to X509 permanently. Added test for rollback cases where custom metrics are still sent via basic auth route. */ + JustBeforeEach(func() { + instanceName = CreatePolicy(cfg, appToScaleName, appToScaleGUID, policy) + StartApp(appToScaleName, cfg.CfPushTimeoutDuration()) + }) Context("when scaling by custom metrics", func() { BeforeEach(func() { credentialType := "binding-secret" policy = GeneratePolicyWithCredentialType( 1, 2, "test_metric", 500, 500, &credentialType) - instanceName = CreatePolicy(cfg, appToScaleName, appToScaleGUID, policy) - StartApp(appToScaleName, cfg.CfPushTimeoutDuration()) }) It("should scale out and scale in", Label(acceptance.LabelSmokeTests), func() { By("Scale out to 2 instances") @@ -57,9 +59,7 @@ var _ = Describe("AutoScaler custom metrics", func() { Context("when scaling by custom metrics via mtls", func() { BeforeEach(func() { - policy := GenerateDynamicScaleOutAndInPolicy(1, 2, "test_metric", 500, 500) - instanceName = CreatePolicy(cfg, appToScaleName, appToScaleGUID, policy) - StartApp(appToScaleName, cfg.CfPushTimeoutDuration()) + policy = GenerateDynamicScaleOutAndInPolicy(1, 2, "test_metric", 500, 500) }) It("should scale out and scale in", Label(acceptance.LabelSmokeTests), func() { By("Scale out to 2 instances") From a09b84c7d536732c19df480cafaf4f1ef94d5915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Weisbarth?= Date: Thu, 9 Jan 2025 15:05:22 +0100 Subject: [PATCH 12/27] =?UTF-8?q?Check=20=E2=80=93=20before=20creating=20a?= =?UTF-8?q?n=20index=20for=20the=20app-metrics=20=E2=80=93=20if=20it=20is?= =?UTF-8?q?=20already=20there.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eventgenerator/db/dataaggregator.db.changelog.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/autoscaler/eventgenerator/db/dataaggregator.db.changelog.yml b/src/autoscaler/eventgenerator/db/dataaggregator.db.changelog.yml index 01a9ff604c..bae2ec6d9a 100644 --- a/src/autoscaler/eventgenerator/db/dataaggregator.db.changelog.yml +++ b/src/autoscaler/eventgenerator/db/dataaggregator.db.changelog.yml @@ -76,6 +76,11 @@ databaseChangeLog: type: bigint indexName: index_app_metrics tableName: app_metric + preConditions: + - onFail: MARK_RAN + - not: + - indexExists: + indexName: index_app_metrics - changeSet: id: 4 author: byang From 2f0ff9cad012d601c4129f2193f5c9db252303a5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 Jan 2025 23:10:00 +0000 Subject: [PATCH 13/27] chore(deps): update jetpackio/devbox:latest docker digest to 7425ccc (#3446) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index b774cd8958..22d73e85a8 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -FROM jetpackio/devbox:latest@sha256:e321dc782066163de34303b98589c0040b6ad315b5cbcc3459be077f08a61ab2 +FROM jetpackio/devbox:latest@sha256:7425cccfbdfccb7f9fd763d3d6f110fa1d3e5a04191357499cfeba7b975fcc76 # Installing your devbox project WORKDIR /code From 91dc33fabf1d4a9855348cf3773faaa1f6b359f1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 Jan 2025 08:45:34 +0000 Subject: [PATCH 14/27] chore(deps): update reviewdog/action-actionlint digest to af17f9e (#3447) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/linters.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linters.yaml b/.github/workflows/linters.yaml index d9c52c9c6c..5b8e9229b2 100644 --- a/.github/workflows/linters.yaml +++ b/.github/workflows/linters.yaml @@ -29,7 +29,7 @@ jobs: with: reporter: github-pr-review - name: actionlint - uses: reviewdog/action-actionlint@08ef4afa963243489a457cca426f705ce4e0d1a5 # v1 + uses: reviewdog/action-actionlint@af17f9e3640ac863dbcc515d45f5f35d708d0faf # v1 with: reporter: github-pr-review - name: Run Ruby linter From 67bdf88f0396c54ab6ffc859e955c97a9af9d6ed Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 Jan 2025 22:01:09 +0000 Subject: [PATCH 15/27] chore(deps): update github/codeql-action digest to b6a472f --- .github/workflows/codeql-analysis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 7a2af2c94f..a63529c3e2 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -51,7 +51,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3 + uses: github/codeql-action/init@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -64,4 +64,4 @@ jobs: make build-all - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3 + uses: github/codeql-action/analyze@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3 From b33c82123ec06bd026948afd5628ca51dc4c1ade Mon Sep 17 00:00:00 2001 From: Arsalan Khan Date: Thu, 9 Jan 2025 15:28:22 +0100 Subject: [PATCH 16/27] use mTLS for custom metrics remove acceptance-tests-config make target --- Makefile | 8 +++---- ...g.sh => acceptance-tests-config.source.sh} | 12 ++++------ ci/autoscaler/scripts/run-acceptance-tests.sh | 6 +++++ ci/autoscaler/scripts/vars.source.sh | 10 +++++++- devbox.json | 2 +- devbox.lock | 24 +++++++++---------- src/acceptance/app/custom_metric_test.go | 2 +- src/acceptance/helpers/apps.go | 8 +++++-- .../run_performance/run_performance_test.go | 4 ++-- 9 files changed, 45 insertions(+), 31 deletions(-) rename ci/autoscaler/scripts/{acceptance-tests-config.sh => acceptance-tests-config.source.sh} (88%) diff --git a/Makefile b/Makefile index 46bae4b182..b78d544061 100644 --- a/Makefile +++ b/Makefile @@ -381,7 +381,7 @@ build-acceptance-tests: @make --directory='./src/acceptance' build_tests .PHONY: acceptance-tests -acceptance-tests: build-test-app acceptance-tests-config ## Run acceptance tests against OSS dev environment (requrires a previous deployment of the autoscaler) +acceptance-tests: build-test-app ## Run acceptance tests against OSS dev environment (requires a previous deployment of the autoscaler) @make --directory='./src/acceptance' run-acceptance-tests .PHONY: acceptance-cleanup acceptance-cleanup: @@ -399,18 +399,18 @@ cf-login: ## Login to OSS CF dev environment @${CI_DIR}/autoscaler/scripts/cf-login.sh .PHONY: setup-performance -setup-performance: build-test-app acceptance-tests-config +setup-performance: build-test-app export NODES=1;\ export SUITES="setup_performance";\ export DEPLOYMENT_NAME="autoscaler-performance";\ - ${CI_DIR}/autoscaler/scripts/run-acceptance-tests.sh;\ + make --directory='./src/acceptance' run-acceptance-tests .PHONY: run-performance run-performance: export NODES=1;\ export DEPLOYMENT_NAME="autoscaler-performance";\ export SUITES="run_performance";\ - ${CI_DIR}/autoscaler/scripts/run-acceptance-tests.sh;\ + make --directory='./src/acceptance' run-acceptance-tests .PHONY: run-act run-act: diff --git a/ci/autoscaler/scripts/acceptance-tests-config.sh b/ci/autoscaler/scripts/acceptance-tests-config.source.sh similarity index 88% rename from ci/autoscaler/scripts/acceptance-tests-config.sh rename to ci/autoscaler/scripts/acceptance-tests-config.source.sh index 6b07caf9b1..c41defad98 100755 --- a/ci/autoscaler/scripts/acceptance-tests-config.sh +++ b/ci/autoscaler/scripts/acceptance-tests-config.source.sh @@ -14,7 +14,7 @@ existing_space="${EXISTING_SPACE:-}" performance_app_count="${PERFORMANCE_APP_COUNT:-}" performance_app_percentage_to_scale="${PERFORMANCE_APP_PERCENTAGE_TO_SCALE:-}" performance_setup_workers="${PERFORMANCE_SETUP_WORKERS:-}" -performance_update_existing_org_quota=${PERFORMANCE_UPDATE_EXISTING_ORG_QUOTA:-true} +performance_update_existing_org_quota=${PERFORMANCE_UPDATE_EXISTING_ORG_QUOTA:-} cpu_upper_threshold=${CPU_UPPER_THRESHOLD:-100} if [[ -z "${cf_admin_password}" ]] @@ -26,11 +26,11 @@ then cf_admin_password="$(credhub get --quiet --name='/bosh-autoscaler/cf/cf_admin_password')" fi -function write_app_config() { +function write_test_config() { local -r config_path="$1" local -r use_existing_organization="$2" local -r use_existing_space="$3" - local -r existing_org="$4" + local -r existing_organization="$4" local -r existing_space="$5" cat > "${config_path}" << EOF @@ -45,7 +45,7 @@ function write_app_config() { "service_plan": "autoscaler-free-plan", "service_broker": "${deployment_name}", "use_existing_organization": ${use_existing_organization}, - "existing_organization": "${existing_org}", + "existing_organization": "${existing_organization}", "use_existing_space": ${use_existing_space}, "existing_space": "${existing_space}", "aggregate_interval": 120, @@ -63,7 +63,3 @@ function write_app_config() { } EOF } - -write_app_config \ - "${ACCEPTANCE_CONFIG_PATH}" \ - "${use_existing_organization}" "${use_existing_space}" "${existing_organization}" "${existing_space}" diff --git a/ci/autoscaler/scripts/run-acceptance-tests.sh b/ci/autoscaler/scripts/run-acceptance-tests.sh index ad00eeedc1..0420422734 100755 --- a/ci/autoscaler/scripts/run-acceptance-tests.sh +++ b/ci/autoscaler/scripts/run-acceptance-tests.sh @@ -3,6 +3,7 @@ set -eu -o pipefail script_dir="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" source "${script_dir}/vars.source.sh" +source "${script_dir}/acceptance-tests-config.source.sh" skip_teardown="${SKIP_TEARDOWN:-false}" suites="${SUITES:-"api app broker"}" @@ -16,6 +17,10 @@ then exit 1; fi +write_test_config \ + "${autoscaler_acceptance_dir}/acceptance_config.json" \ + "${USE_EXISTING_ORGANIZATION:-false}" "${USE_EXISTING_SPACE:-false}" "${EXISTING_ORGANIZATION:-}" "${EXISTING_SPACE:-}" + if [[ ! -f "${autoscaler_dir}/src/acceptance/acceptance_config.json" ]] then echo 'FAILED: Did not find file acceptance_config.json.' @@ -40,4 +45,5 @@ if [ "${suites_to_run}" != "" ]; then SKIP_TEARDOWN="${skip_teardown}" CONFIG="${PWD}/acceptance_config.json" DEBUG='true' ./bin/test -race -nodes="${nodes}" -trace $ginkgo_opts ${suites_to_run} else log 'Nothing to run!' + exit 1 fi diff --git a/ci/autoscaler/scripts/vars.source.sh b/ci/autoscaler/scripts/vars.source.sh index 0bba413f69..c4c15b2d04 100644 --- a/ci/autoscaler/scripts/vars.source.sh +++ b/ci/autoscaler/scripts/vars.source.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # NOTE: to turn on debug use DEBUG=true # shellcheck disable=SC2155,SC2034 # @@ -83,6 +83,11 @@ export CI_DIR="$(realpath -e "${CI_DIR}")" debug "CI_DIR: ${CI_DIR}" ci_dir="${CI_DIR}" +AUTOSCALER_ACCEPTANCE_DIR="${AUTOSCALER_ACCEPTANCE_DIR:-${root_dir}/src/acceptance}" +export AUTOSCALER_ACCEPTANCE_DIR="$(realpath -e "${AUTOSCALER_ACCEPTANCE_DIR}" )" +debug "AUTOSCALER_ACCEPTANCE_DIR: ${AUTOSCALER_ACCEPTANCE_DIR}" +autoscaler_acceptance_dir="${AUTOSCALER_ACCEPTANCE_DIR}" + export SERVICE_NAME="${DEPLOYMENT_NAME}" debug "SERVICE_NAME: ${SERVICE_NAME}" service_name="%{SERVICE_NAME" @@ -109,6 +114,9 @@ debug "PERFORMANCE_SETUP_WORKERS: ${PERFORMANCE_SETUP_WORKERS}" export PERFORMANCE_TEARDOWN=${PERFORMANCE_TEARDOWN:-true} debug "PERFORMANCE_TEARDOWN: ${PERFORMANCE_TEARDOWN}" +export PERFORMANCE_UPDATE_EXISTING_ORG_QUOTA=${PERFORMANCE_UPDATE_EXISTING_ORG_QUOTA:-false} +debug "PERFORMANCE_UPDATE_EXISTING_ORG_QUOTA: ${PERFORMANCE_UPDATE_EXISTING_ORG_QUOTA}" + export CPU_UPPER_THRESHOLD=${CPU_UPPER_THRESHOLD:-100} debug "CPU_UPPER_THRESHOLD: ${CPU_UPPER_THRESHOLD}" cpu_upper_threshold=${CPU_UPPER_THRESHOLD} diff --git a/devbox.json b/devbox.json index 878feafeec..c3a572b26c 100644 --- a/devbox.json +++ b/devbox.json @@ -9,7 +9,7 @@ "bundix": "latest", "coreutils": "latest", "delve": "latest", - "fly": "7.10.0", + "fly": "7.12.0", "gh": "latest", "gnumake": "4.4", "gnutar": "latest", diff --git a/devbox.lock b/devbox.lock index 2f7d7da376..f64a452bdd 100644 --- a/devbox.lock +++ b/devbox.lock @@ -505,51 +505,51 @@ } } }, - "fly@7.10.0": { - "last_modified": "2023-10-25T20:49:13Z", - "resolved": "github:NixOS/nixpkgs/75a52265bda7fd25e06e3a67dee3f0354e73243c#fly", + "fly@7.12.0": { + "last_modified": "2024-12-23T21:10:33Z", + "resolved": "github:NixOS/nixpkgs/de1864217bfa9b5845f465e771e0ecb48b30e02d#fly", "source": "devbox-search", - "version": "7.10.0", + "version": "7.12.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/8izh5mrp88vpv2p22r5djhg1l3yijcir-fly-7.10.0", + "path": "/nix/store/v42agkj44lkkczrijyrnab5pa7yh2bad-fly-7.12.0", "default": true } ], - "store_path": "/nix/store/8izh5mrp88vpv2p22r5djhg1l3yijcir-fly-7.10.0" + "store_path": "/nix/store/v42agkj44lkkczrijyrnab5pa7yh2bad-fly-7.12.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/bjhdz4zxq77av8rlvg32agpd8aixh7bh-fly-7.10.0", + "path": "/nix/store/bnzbalznggbacy0xbq1ya9qyp6rj7s3r-fly-7.12.0", "default": true } ], - "store_path": "/nix/store/bjhdz4zxq77av8rlvg32agpd8aixh7bh-fly-7.10.0" + "store_path": "/nix/store/bnzbalznggbacy0xbq1ya9qyp6rj7s3r-fly-7.12.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/60jgzhcj2s4rchrmqc479gi46fkydjyc-fly-7.10.0", + "path": "/nix/store/gzigrvd80bpmbj6ncqhpv0jrrrf4ls17-fly-7.12.0", "default": true } ], - "store_path": "/nix/store/60jgzhcj2s4rchrmqc479gi46fkydjyc-fly-7.10.0" + "store_path": "/nix/store/gzigrvd80bpmbj6ncqhpv0jrrrf4ls17-fly-7.12.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/ddyvlw35d8skg4r7gv732g19ch7bwrh0-fly-7.10.0", + "path": "/nix/store/5nw561vp6bbq945lnfajw0l42jdkycjn-fly-7.12.0", "default": true } ], - "store_path": "/nix/store/ddyvlw35d8skg4r7gv732g19ch7bwrh0-fly-7.10.0" + "store_path": "/nix/store/5nw561vp6bbq945lnfajw0l42jdkycjn-fly-7.12.0" } } }, diff --git a/src/acceptance/app/custom_metric_test.go b/src/acceptance/app/custom_metric_test.go index 3b9410e5c1..3d25d42a2f 100644 --- a/src/acceptance/app/custom_metric_test.go +++ b/src/acceptance/app/custom_metric_test.go @@ -125,7 +125,7 @@ var _ = Describe("AutoScaler custom metrics", func() { func sendMetricToAutoscaler(config *config.Config, appToScaleGUID string, metricProducerAppName string, metricThreshold int, mtls bool) func() (int, error) { return func() (int, error) { if mtls { - SendMetricMTLS(config, appToScaleGUID, metricProducerAppName, metricThreshold) + SendMetricMTLS(config, appToScaleGUID, metricProducerAppName, metricThreshold, 0) } else { SendMetric(config, metricProducerAppName, metricThreshold) } diff --git a/src/acceptance/helpers/apps.go b/src/acceptance/helpers/apps.go index f44803cb7e..336bf4bd72 100644 --- a/src/acceptance/helpers/apps.go +++ b/src/acceptance/helpers/apps.go @@ -82,9 +82,13 @@ func SendMetric(cfg *config.Config, appName string, metric int) { cfh.CurlApp(cfg, appName, fmt.Sprintf("/custom-metrics/test_metric/%d", metric), "-f") } -func SendMetricMTLS(cfg *config.Config, appGuid string, appName string, metric int) { +func SendMetricMTLS(cfg *config.Config, appGuid string, appName string, metric int, timeOut time.Duration) string { GinkgoHelper() - cfh.CurlApp(cfg, appName, fmt.Sprintf("/custom-metrics/mtls/test_metric/%d?appToScaleGuid=%s", metric, appGuid), "-f") + if timeOut == 0 { + timeOut = cfh.CURL_TIMEOUT + } + return cfh.CurlAppWithTimeout(cfg, appName, fmt.Sprintf("/custom-metrics/mtls/test_metric/%d?appToScaleGuid=%s", + metric, appGuid), timeOut, "-f") } func StartAppWithErr(appName string, timeout time.Duration) error { diff --git a/src/acceptance/run_performance/run_performance_test.go b/src/acceptance/run_performance/run_performance_test.go index 9167cbb9a4..28d626ad08 100644 --- a/src/acceptance/run_performance/run_performance_test.go +++ b/src/acceptance/run_performance/run_performance_test.go @@ -325,7 +325,7 @@ func scaleOutApp(appName string, appGUID string, scaleOutApps *sync.Map, // Q. why sending post request to autoscaler after every pollTime. // A. It is observed that sometime cf does not pick the cf scale event. Therefore, // sending the metric again(and again) is the way to go at the moment - cmdOutput := helpers.SendMetricWithTimeout(cfg, appName, 550, 5*time.Minute) + cmdOutput := helpers.SendMetricMTLS(cfg, appGUID, appName, 550, 5*time.Minute) GinkgoWriter.Printf("worker %d - scale-out %s with App %s %s\n", workerIndex, cmdOutput, appName, appGUID) instances, err := helpers.RunningInstances(appGUID, 10*time.Minute) @@ -354,7 +354,7 @@ func scaleInApp(appName string, appGUID string, scaleInApps *sync.Map, pendingSc scaledInAppsCount *atomic.Int32, actualAppsToScaleCount int, workerIndex int, wg *sync.WaitGroup) func() { return func() { scaleIn := func() (int, error) { - cmdOutput := helpers.SendMetricWithTimeout(cfg, appName, 100, 5*time.Minute) + cmdOutput := helpers.SendMetricMTLS(cfg, appGUID, appName, 100, 5*time.Minute) GinkgoWriter.Printf("worker %d - scale-in %s with App %s %s\n", workerIndex, cmdOutput, appName, appGUID) instances, err := helpers.RunningInstances(appGUID, 10*time.Minute) From 0839ede7855224388a7f8544cd855f12e2d9d143 Mon Sep 17 00:00:00 2001 From: Arsalan Khan Date: Mon, 13 Jan 2025 16:36:48 +0100 Subject: [PATCH 17/27] generate test config before running performance test --- Makefile | 7 +++++-- ...s-config.source.sh => acceptance-tests-config.sh} | 12 ++++++++---- ci/autoscaler/scripts/run-acceptance-tests.sh | 7 +------ 3 files changed, 14 insertions(+), 12 deletions(-) rename ci/autoscaler/scripts/{acceptance-tests-config.source.sh => acceptance-tests-config.sh} (88%) diff --git a/Makefile b/Makefile index b78d544061..fe24b53641 100644 --- a/Makefile +++ b/Makefile @@ -381,7 +381,7 @@ build-acceptance-tests: @make --directory='./src/acceptance' build_tests .PHONY: acceptance-tests -acceptance-tests: build-test-app ## Run acceptance tests against OSS dev environment (requires a previous deployment of the autoscaler) +acceptance-tests: build-test-app acceptance-tests-config ## Run acceptance tests against OSS dev environment (requrires a previous deployment of the autoscaler) @make --directory='./src/acceptance' run-acceptance-tests .PHONY: acceptance-cleanup acceptance-cleanup: @@ -403,6 +403,7 @@ setup-performance: build-test-app export NODES=1;\ export SUITES="setup_performance";\ export DEPLOYMENT_NAME="autoscaler-performance";\ + make acceptance-tests-config;\ make --directory='./src/acceptance' run-acceptance-tests .PHONY: run-performance @@ -410,7 +411,9 @@ run-performance: export NODES=1;\ export DEPLOYMENT_NAME="autoscaler-performance";\ export SUITES="run_performance";\ - make --directory='./src/acceptance' run-acceptance-tests + make acceptance-tests-config;\ + make --directory='./src/acceptance' run-acceptance-tests + .PHONY: run-act run-act: diff --git a/ci/autoscaler/scripts/acceptance-tests-config.source.sh b/ci/autoscaler/scripts/acceptance-tests-config.sh similarity index 88% rename from ci/autoscaler/scripts/acceptance-tests-config.source.sh rename to ci/autoscaler/scripts/acceptance-tests-config.sh index c41defad98..6b07caf9b1 100755 --- a/ci/autoscaler/scripts/acceptance-tests-config.source.sh +++ b/ci/autoscaler/scripts/acceptance-tests-config.sh @@ -14,7 +14,7 @@ existing_space="${EXISTING_SPACE:-}" performance_app_count="${PERFORMANCE_APP_COUNT:-}" performance_app_percentage_to_scale="${PERFORMANCE_APP_PERCENTAGE_TO_SCALE:-}" performance_setup_workers="${PERFORMANCE_SETUP_WORKERS:-}" -performance_update_existing_org_quota=${PERFORMANCE_UPDATE_EXISTING_ORG_QUOTA:-} +performance_update_existing_org_quota=${PERFORMANCE_UPDATE_EXISTING_ORG_QUOTA:-true} cpu_upper_threshold=${CPU_UPPER_THRESHOLD:-100} if [[ -z "${cf_admin_password}" ]] @@ -26,11 +26,11 @@ then cf_admin_password="$(credhub get --quiet --name='/bosh-autoscaler/cf/cf_admin_password')" fi -function write_test_config() { +function write_app_config() { local -r config_path="$1" local -r use_existing_organization="$2" local -r use_existing_space="$3" - local -r existing_organization="$4" + local -r existing_org="$4" local -r existing_space="$5" cat > "${config_path}" << EOF @@ -45,7 +45,7 @@ function write_test_config() { "service_plan": "autoscaler-free-plan", "service_broker": "${deployment_name}", "use_existing_organization": ${use_existing_organization}, - "existing_organization": "${existing_organization}", + "existing_organization": "${existing_org}", "use_existing_space": ${use_existing_space}, "existing_space": "${existing_space}", "aggregate_interval": 120, @@ -63,3 +63,7 @@ function write_test_config() { } EOF } + +write_app_config \ + "${ACCEPTANCE_CONFIG_PATH}" \ + "${use_existing_organization}" "${use_existing_space}" "${existing_organization}" "${existing_space}" diff --git a/ci/autoscaler/scripts/run-acceptance-tests.sh b/ci/autoscaler/scripts/run-acceptance-tests.sh index 0420422734..97edf99eef 100755 --- a/ci/autoscaler/scripts/run-acceptance-tests.sh +++ b/ci/autoscaler/scripts/run-acceptance-tests.sh @@ -3,7 +3,6 @@ set -eu -o pipefail script_dir="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" source "${script_dir}/vars.source.sh" -source "${script_dir}/acceptance-tests-config.source.sh" skip_teardown="${SKIP_TEARDOWN:-false}" suites="${SUITES:-"api app broker"}" @@ -17,11 +16,7 @@ then exit 1; fi -write_test_config \ - "${autoscaler_acceptance_dir}/acceptance_config.json" \ - "${USE_EXISTING_ORGANIZATION:-false}" "${USE_EXISTING_SPACE:-false}" "${EXISTING_ORGANIZATION:-}" "${EXISTING_SPACE:-}" - -if [[ ! -f "${autoscaler_dir}/src/acceptance/acceptance_config.json" ]] +if [[ ! -f "${autoscaler_acceptance_dir}/acceptance_config.json" ]] then echo 'FAILED: Did not find file acceptance_config.json.' exit 1 From 62fc78c78f289c78f48c8ac7f5893da1a0f3cf3a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 14 Jan 2025 08:20:32 +0000 Subject: [PATCH 18/27] chore(deps): update google.golang.org/genproto digest to 5f5ef82 (#3443) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update google.golang.org/genproto digest to 5f5ef82 * 🤖🦾🛠️ go mod tidy & make package-specs --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- src/autoscaler/go.mod | 8 +- src/autoscaler/go.sum | 241 ++++++++++++++++++++++-------------------- 2 files changed, 132 insertions(+), 117 deletions(-) diff --git a/src/autoscaler/go.mod b/src/autoscaler/go.mod index a71148da59..4f276031d9 100644 --- a/src/autoscaler/go.mod +++ b/src/autoscaler/go.mod @@ -49,7 +49,7 @@ require ( gopkg.in/yaml.v3 v3.0.1 ) -replace google.golang.org/genproto => google.golang.org/genproto v0.0.0-20241216192217-9240e9c98484 +replace google.golang.org/genproto => google.golang.org/genproto v0.0.0-20250106144421-5f5ef82da422 require ( code.cloudfoundry.org/go-diodes v0.0.0-20241202111822-779c0b5a3368 // indirect @@ -100,8 +100,8 @@ require ( golang.org/x/sys v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/tools v0.28.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect - google.golang.org/protobuf v1.36.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d // indirect + google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/src/autoscaler/go.sum b/src/autoscaler/go.sum index c279611b88..81a4a6f8ac 100644 --- a/src/autoscaler/go.sum +++ b/src/autoscaler/go.sum @@ -48,19 +48,20 @@ cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMd cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc= cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= cloud.google.com/go v0.117.0/go.mod h1:ZbwhVTb1DBGt2Iwb3tNO6SEK4q+cplHZmLWH+DelYYc= -cloud.google.com/go/accessapproval v1.8.2/go.mod h1:aEJvHZtpjqstffVwF/2mCXXSQmpskyzvw6zKLvLutZM= -cloud.google.com/go/accesscontextmanager v1.9.1/go.mod h1:wUVSoz8HmG7m9miQTh6smbyYuNOJrvZukK5g6WxSOp0= +cloud.google.com/go v0.118.0/go.mod h1:zIt2pkedt/mo+DQjcT4/L3NDxzHPR29j5HcclNH+9PM= +cloud.google.com/go/accessapproval v1.8.3/go.mod h1:3speETyAv63TDrDmo5lIkpVueFkQcQchkiw/TAMbBo4= cloud.google.com/go/accesscontextmanager v1.9.2/go.mod h1:T0Sw/PQPyzctnkw1pdmGAKb7XBA84BqQzH0fSU7wzJU= +cloud.google.com/go/accesscontextmanager v1.9.3/go.mod h1:S1MEQV5YjkAKBoMekpGrkXKfrBdsi4x6Dybfq6gZ8BU= cloud.google.com/go/aiplatform v1.69.0/go.mod h1:nUsIqzS3khlnWvpjfJbP+2+h+VrFyYsTm7RNCAViiY8= -cloud.google.com/go/analytics v0.25.2/go.mod h1:th0DIunqrhI1ZWVlT3PH2Uw/9ANX8YHfFDEPqf/+7xM= -cloud.google.com/go/apigateway v1.7.2/go.mod h1:+weId+9aR9J6GRwDka7jIUSrKEX60XGcikX7dGU8O7M= -cloud.google.com/go/apigeeconnect v1.7.2/go.mod h1:he/SWi3A63fbyxrxD6jb67ak17QTbWjva1TFbT5w8Kw= -cloud.google.com/go/apigeeregistry v0.9.2/go.mod h1:A5n/DwpG5NaP2fcLYGiFA9QfzpQhPRFNATO1gie8KM8= -cloud.google.com/go/appengine v1.9.2/go.mod h1:bK4dvmMG6b5Tem2JFZcjvHdxco9g6t1pwd3y/1qr+3s= -cloud.google.com/go/area120 v0.9.2/go.mod h1:Ar/KPx51UbrTWGVGgGzFnT7hFYQuk/0VOXkvHdTbQMI= -cloud.google.com/go/artifactregistry v1.16.0/go.mod h1:LunXo4u2rFtvJjrGjO0JS+Gs9Eco2xbZU6JVJ4+T8Sk= -cloud.google.com/go/asset v1.20.3/go.mod h1:797WxTDwdnFAJzbjZ5zc+P5iwqXc13yO9DHhmS6wl+o= -cloud.google.com/go/assuredworkloads v1.12.2/go.mod h1:/WeRr/q+6EQYgnoYrqCVgw7boMoDfjXZZev3iJxs2Iw= +cloud.google.com/go/analytics v0.25.3/go.mod h1:pWoYg4yEr0iYg83LZRAicjDDdv54+Z//RyhzWwKbavI= +cloud.google.com/go/apigateway v1.7.3/go.mod h1:uK0iRHdl2rdTe79bHW/bTsKhhXPcFihjUdb7RzhTPf4= +cloud.google.com/go/apigeeconnect v1.7.3/go.mod h1:2ZkT5VCAqhYrDqf4dz7lGp4N/+LeNBSfou8Qs5bIuSg= +cloud.google.com/go/apigeeregistry v0.9.3/go.mod h1:oNCP2VjOeI6U8yuOuTmU4pkffdcXzR5KxeUD71gF+Dg= +cloud.google.com/go/appengine v1.9.3/go.mod h1:DtLsE/z3JufM/pCEIyVYebJ0h9UNPpN64GZQrYgOSyM= +cloud.google.com/go/area120 v0.9.3/go.mod h1:F3vxS/+hqzrjJo55Xvda3Jznjjbd+4Foo43SN5eMd8M= +cloud.google.com/go/artifactregistry v1.16.1/go.mod h1:sPvFPZhfMavpiongKwfg93EOwJ18Tnj9DIwTU9xWUgs= +cloud.google.com/go/asset v1.20.4/go.mod h1:DP09pZ+SoFWUZyPZx26xVroHk+6+9umnQv+01yfJxbM= +cloud.google.com/go/assuredworkloads v1.12.3/go.mod h1:iGBkyMGdtlsxhCi4Ys5SeuvIrPTeI6HeuEJt7qJgJT8= cloud.google.com/go/auth v0.2.1/go.mod h1:khQRBNrvNoHiHhV1iu2x8fSnlNbCaVHilznW5MAI5GY= cloud.google.com/go/auth v0.3.0/go.mod h1:lBv6NKTWp8E3LPzmO1TbiiRKc4drLOfHsgmlH9ogv5w= cloud.google.com/go/auth v0.4.1/go.mod h1:QVBuVEKpCn4Zp58hzRGvL0tjRGU0YqdRTdCHM1IHnro= @@ -78,15 +79,16 @@ cloud.google.com/go/auth v0.9.9/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNO cloud.google.com/go/auth v0.10.1/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI= cloud.google.com/go/auth v0.11.0/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI= cloud.google.com/go/auth v0.12.1/go.mod h1:BFMu+TNpF3DmvfBO9ClqTR/SiqVIm7LukKF9mbendF4= +cloud.google.com/go/auth v0.13.0/go.mod h1:COOjD9gwfKNKz+IIduatIhYJQIc0mG3H102r/EMxX6Q= cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= cloud.google.com/go/auth/oauth2adapt v0.2.3/go.mod h1:tMQXOfZzFuNuUxOypHlQEXgdfX5cuhwU+ffUuXRJE8I= cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc= cloud.google.com/go/auth/oauth2adapt v0.2.5/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8= cloud.google.com/go/auth/oauth2adapt v0.2.6/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8= -cloud.google.com/go/automl v1.14.3/go.mod h1:XBkHTOSBIXNLrGgz9zHImy3wNAx9mHo6FLWWqDygrTk= -cloud.google.com/go/baremetalsolution v1.3.2/go.mod h1:3+wqVRstRREJV/puwaKAH3Pnn7ByreZG2aFRsavnoBQ= -cloud.google.com/go/batch v1.11.4/go.mod h1:l7i656a/EGqpzgEaCEMcPwh49dgFeor4KN4BK//V1Po= -cloud.google.com/go/beyondcorp v1.1.2/go.mod h1:q6YWSkEsSZTU2WDt1qtz6P5yfv79wgktGtNbd0FJTLI= +cloud.google.com/go/automl v1.14.4/go.mod h1:sVfsJ+g46y7QiQXpVs9nZ/h8ntdujHm5xhjHW32b3n4= +cloud.google.com/go/baremetalsolution v1.3.3/go.mod h1:uF9g08RfmXTF6ZKbXxixy5cGMGFcG6137Z99XjxLOUI= +cloud.google.com/go/batch v1.11.5/go.mod h1:HUxnmZqnkG7zIZuF3NYCfUIrOMU3+SPArR5XA6NGu5s= +cloud.google.com/go/beyondcorp v1.1.3/go.mod h1:3SlVKnlczNTSQFuH5SSyLuRd4KaBSc8FH/911TuF/Cc= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -96,14 +98,14 @@ cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM7 cloud.google.com/go/bigquery v1.65.0/go.mod h1:9WXejQ9s5YkTW4ryDYzKXBooL78u5+akWGXgJqQkY6A= cloud.google.com/go/bigtable v1.18.1/go.mod h1:NAVyfJot9jlo+KmgWLUJ5DJGwNDoChzAcrecLpmuAmY= cloud.google.com/go/bigtable v1.20.0/go.mod h1:upJDn8frsjzpRMfybiWkD1PG6WCCL7CRl26MgVeoXY4= -cloud.google.com/go/bigtable v1.33.0/go.mod h1:HtpnH4g25VT1pejHRtInlFPnN5sjTxbQlsYBjh9t5l0= -cloud.google.com/go/billing v1.20.0/go.mod h1:AAtih/X2nka5mug6jTAq8jfh1nPye0OjkHbZEZgU59c= -cloud.google.com/go/binaryauthorization v1.9.2/go.mod h1:T4nOcRWi2WX4bjfSRXJkUnpliVIqjP38V88Z10OvEv4= -cloud.google.com/go/certificatemanager v1.9.2/go.mod h1:PqW+fNSav5Xz8bvUnJpATIRo1aaABP4mUg/7XIeAn6c= -cloud.google.com/go/channel v1.19.1/go.mod h1:ungpP46l6XUeuefbA/XWpWWnAY3897CSRPXUbDstwUo= -cloud.google.com/go/cloudbuild v1.19.1/go.mod h1:VIq8XLI8tixd3YpySXxQ/tqJMcewMYRXqsMAXbdKCt4= -cloud.google.com/go/clouddms v1.8.2/go.mod h1:pe+JSp12u4mYOkwXpSMouyCCuQHL3a6xvWH2FgOcAt4= -cloud.google.com/go/cloudtasks v1.13.2/go.mod h1:2pyE4Lhm7xY8GqbZKLnYk7eeuh8L0JwAvXx1ecKxYu8= +cloud.google.com/go/bigtable v1.34.0/go.mod h1:p94uLf6cy6D73POkudMagaFF3x9c7ktZjRnOUVGjZAw= +cloud.google.com/go/billing v1.20.1/go.mod h1:DhT80hUZ9gz5UqaxtK/LNoDELfxH73704VTce+JZqrY= +cloud.google.com/go/binaryauthorization v1.9.3/go.mod h1:f3xcb/7vWklDoF+q2EaAIS+/A/e1278IgiYxonRX+Jk= +cloud.google.com/go/certificatemanager v1.9.3/go.mod h1:O5T4Lg/dHbDHLFFooV2Mh/VsT3Mj2CzPEWRo4qw5prc= +cloud.google.com/go/channel v1.19.2/go.mod h1:syX5opXGXFt17DHCyCdbdlM464Tx0gHMi46UlEWY9Gg= +cloud.google.com/go/cloudbuild v1.19.2/go.mod h1:jQbnwL8ewycsWUorJj4e11XNH8Q7ISvuDqlliNVfN7g= +cloud.google.com/go/clouddms v1.8.3/go.mod h1:wn8O2KhhJWcOlQk0pMC7F/4TaJRS5sN6KdNWM8A7o6c= +cloud.google.com/go/cloudtasks v1.13.3/go.mod h1:f9XRvmuFTm3VhIKzkzLCPyINSU3rjjvFUsFVGR5wi24= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -127,7 +129,7 @@ cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzc cloud.google.com/go/compute v1.23.4/go.mod h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI= cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= -cloud.google.com/go/compute v1.31.0/go.mod h1:4SCUCDAvOQvMGu4ze3YIJapnY0UQa5+WvJJeYFsQRoo= +cloud.google.com/go/compute v1.31.1/go.mod h1:hyOponWhXviDptJCJSoEh89XO1cfv616wbwbkde1/+8= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= @@ -137,40 +139,41 @@ cloud.google.com/go/compute/metadata v0.4.0/go.mod h1:SIQh1Kkb4ZJ8zJ874fqVkslA29 cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= cloud.google.com/go/compute/metadata v0.5.1/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= -cloud.google.com/go/contactcenterinsights v1.16.0/go.mod h1:cFGxDVm/OwEVAHbU9UO4xQCtQFn0RZSrSUcF/oJ0Bbs= -cloud.google.com/go/container v1.42.0/go.mod h1:YL6lDgCUi3frIWNIFU9qrmF7/6K1EYrtspmFTyyqJ+k= -cloud.google.com/go/containeranalysis v0.13.2/go.mod h1:AiKvXJkc3HiqkHzVIt6s5M81wk+q7SNffc6ZlkTDgiE= +cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= +cloud.google.com/go/contactcenterinsights v1.17.1/go.mod h1:n8OiNv7buLA2AkGVkfuvtW3HU13AdTmEwAlAu46bfxY= +cloud.google.com/go/container v1.42.1/go.mod h1:5huIxYuOD8Ocuj0KbcyRq9MzB3J1mQObS0KSWHTYceY= +cloud.google.com/go/containeranalysis v0.13.3/go.mod h1:0SYnagA1Ivb7qPqKNYPkCtphhkJn3IzgaSp3mj+9XAY= cloud.google.com/go/datacatalog v1.23.0/go.mod h1:9Wamq8TDfL2680Sav7q3zEhBJSPBrDxJU8WtPJ25dBM= -cloud.google.com/go/datacatalog v1.24.0/go.mod h1:9Wamq8TDfL2680Sav7q3zEhBJSPBrDxJU8WtPJ25dBM= -cloud.google.com/go/dataflow v0.10.2/go.mod h1:+HIb4HJxDCZYuCqDGnBHZEglh5I0edi/mLgVbxDf0Ag= -cloud.google.com/go/dataform v0.10.2/go.mod h1:oZHwMBxG6jGZCVZqqMx+XWXK+dA/ooyYiyeRbUxI15M= -cloud.google.com/go/datafusion v1.8.2/go.mod h1:XernijudKtVG/VEvxtLv08COyVuiYPraSxm+8hd4zXA= -cloud.google.com/go/datalabeling v0.9.2/go.mod h1:8me7cCxwV/mZgYWtRAd3oRVGFD6UyT7hjMi+4GRyPpg= -cloud.google.com/go/dataplex v1.20.0/go.mod h1:vsxxdF5dgk3hX8Ens9m2/pMNhQZklUhSgqTghZtF1v4= -cloud.google.com/go/dataproc/v2 v2.10.0/go.mod h1:HD16lk4rv2zHFhbm8gGOtrRaFohMDr9f0lAUMLmg1PM= -cloud.google.com/go/dataqna v0.9.2/go.mod h1:WCJ7pwD0Mi+4pIzFQ+b2Zqy5DcExycNKHuB+VURPPgs= +cloud.google.com/go/datacatalog v1.24.2/go.mod h1:NfsHGaJHBi3s0X7jQ64VIj4Zwp7e5Vlyh51Eo2LNbA4= +cloud.google.com/go/dataflow v0.10.3/go.mod h1:5EuVGDh5Tg4mDePWXMMGAG6QYAQhLNyzxdNQ0A1FfW4= +cloud.google.com/go/dataform v0.10.3/go.mod h1:8SruzxHYCxtvG53gXqDZvZCx12BlsUchuV/JQFtyTCw= +cloud.google.com/go/datafusion v1.8.3/go.mod h1:hyglMzE57KRf0Rf/N2VRPcHCwKfZAAucx+LATY6Jc6Q= +cloud.google.com/go/datalabeling v0.9.3/go.mod h1:3LDFUgOx+EuNUzDyjU7VElO8L+b5LeaZEFA/ZU1O1XU= +cloud.google.com/go/dataplex v1.21.0/go.mod h1:KXALVHwHdMBhz90IJAUSKh2gK0fEKB6CRjs4f6MrbMU= +cloud.google.com/go/dataproc/v2 v2.10.1/go.mod h1:fq+LSN/HYUaaV2EnUPFVPxfe1XpzGVqFnL0TTXs8juk= +cloud.google.com/go/dataqna v0.9.3/go.mod h1:PiAfkXxa2LZYxMnOWVYWz3KgY7txdFg9HEMQPb4u1JA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/datastore v1.20.0/go.mod h1:uFo3e+aEpRfHgtp5pp0+6M0o147KoPaYNaPAKpfh8Ew= -cloud.google.com/go/datastream v1.12.0/go.mod h1:RnFWa5zwR5SzHxeZGJOlQ4HKBQPcjGfD219Qy0qfh2k= -cloud.google.com/go/deploy v1.26.0/go.mod h1:h9uVCWxSDanXUereI5WR+vlZdbPJ6XGy+gcfC25v5rM= -cloud.google.com/go/dialogflow v1.63.0/go.mod h1:ilj5xjY1TRklKLle9ucy5ZiguwgeEIzqeJFIniKO5ng= -cloud.google.com/go/dlp v1.20.0/go.mod h1:nrGsA3r8s7wh2Ct9FWu69UjBObiLldNyQda2RCHgdaY= -cloud.google.com/go/documentai v1.35.0/go.mod h1:ZotiWUlDE8qXSUqkJsGMQqVmfTMYATwJEYqbPXTR9kk= -cloud.google.com/go/domains v0.10.2/go.mod h1:oL0Wsda9KdJvvGNsykdalHxQv4Ri0yfdDkIi3bzTUwk= -cloud.google.com/go/edgecontainer v1.4.0/go.mod h1:Hxj5saJT8LMREmAI9tbNTaBpW5loYiWFyisCjDhzu88= +cloud.google.com/go/datastream v1.12.1/go.mod h1:GxPeRBsokZ8ylxVJBp9Q39QG+z4Iri5QIBRJrKuzJVQ= +cloud.google.com/go/deploy v1.26.1/go.mod h1:PwF9RP0Jh30Qd+I71wb52oM42LgfRKXRMSg87wKpK3I= +cloud.google.com/go/dialogflow v1.64.1/go.mod h1:jkv4vTiGhEUPBzmk1sJ+S1Duu2epCOBNHoWUImHkO5U= +cloud.google.com/go/dlp v1.20.1/go.mod h1:NO0PLy43RQV0QI6vZcPiNTR9eiKu9pFzawaueBlDwz8= +cloud.google.com/go/documentai v1.35.1/go.mod h1:WJjwUAQfwQPJORW8fjz7RODprMULDzEGLA2E6WxenFw= +cloud.google.com/go/domains v0.10.3/go.mod h1:m7sLe18p0PQab56bVH3JATYOJqyRHhmbye6gz7isC7o= +cloud.google.com/go/edgecontainer v1.4.1/go.mod h1:ubMQvXSxsvtEjJLyqcPFrdWrHfvjQxdoyt+SUrAi5ek= cloud.google.com/go/errorreporting v0.3.2/go.mod h1:s5kjs5r3l6A8UUyIsgvAhGq6tkqyBCUss0FRpsoVTww= -cloud.google.com/go/essentialcontacts v1.7.2/go.mod h1:NoCBlOIVteJFJU+HG9dIG/Cc9kt1K9ys9mbOaGPUmPc= -cloud.google.com/go/eventarc v1.15.0/go.mod h1:PAd/pPIZdJtJQFJI1yDEUms1mqohdNuM1BFEVHHlVFg= -cloud.google.com/go/filestore v1.9.2/go.mod h1:I9pM7Hoetq9a7djC1xtmtOeHSUYocna09ZP6x+PG1Xw= +cloud.google.com/go/essentialcontacts v1.7.3/go.mod h1:uimfZgDbhWNCmBpwUUPHe4vcMY2azsq/axC9f7vZFKI= +cloud.google.com/go/eventarc v1.15.1/go.mod h1:K2luolBpwaVOujZQyx6wdG4n2Xum4t0q1cMBmY1xVyI= +cloud.google.com/go/filestore v1.9.3/go.mod h1:Me0ZRT5JngT/aZPIKpIK6N4JGMzrFHRtGHd9ayUS4R4= cloud.google.com/go/firestore v1.17.0/go.mod h1:69uPx1papBsY8ZETooc71fOhoKkD70Q1DwMrtKuOT/Y= -cloud.google.com/go/functions v1.19.2/go.mod h1:SBzWwWuaFDLnUyStDAMEysVN1oA5ECLbP3/PfJ9Uk7Y= -cloud.google.com/go/gkebackup v1.6.2/go.mod h1:WsTSWqKJkGan1pkp5dS30oxb+Eaa6cLvxEUxKTUALwk= -cloud.google.com/go/gkeconnect v0.12.0/go.mod h1:zn37LsFiNZxPN4iO7YbUk8l/E14pAJ7KxpoXoxt7Ly0= -cloud.google.com/go/gkehub v0.15.2/go.mod h1:8YziTOpwbM8LM3r9cHaOMy2rNgJHXZCrrmGgcau9zbQ= -cloud.google.com/go/gkemulticloud v1.4.1/go.mod h1:KRvPYcx53bztNwNInrezdfNF+wwUom8Y3FuJBwhvFpQ= +cloud.google.com/go/functions v1.19.3/go.mod h1:nOZ34tGWMmwfiSJjoH/16+Ko5106x+1Iji29wzrBeOo= +cloud.google.com/go/gkebackup v1.6.3/go.mod h1:JJzGsA8/suXpTDtqI7n9RZW97PXa2CIp+n8aRC/y57k= +cloud.google.com/go/gkeconnect v0.12.1/go.mod h1:L1dhGY8LjINmWfR30vneozonQKRSIi5DWGIHjOqo58A= +cloud.google.com/go/gkehub v0.15.3/go.mod h1:nzFT/Q+4HdQES/F+FP1QACEEWR9Hd+Sh00qgiH636cU= +cloud.google.com/go/gkemulticloud v1.5.0/go.mod h1:mQ5E/lKmQLByqB8koGTU8vij3/pJafxjRygDPH8AHvg= cloud.google.com/go/grafeas v0.3.11/go.mod h1:dcQyG2+T4tBgG0MvJAh7g2wl/xHV2w+RZIqivwuLjNg= -cloud.google.com/go/gsuiteaddons v1.7.2/go.mod h1:GD32J2rN/4APilqZw4JKmwV84+jowYYMkEVwQEYuAWc= +cloud.google.com/go/gsuiteaddons v1.7.3/go.mod h1:0rR+LC21v1Sx1Yb6uohHI/F8DF3h2arSJSHvfi3GmyQ= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= @@ -187,16 +190,16 @@ cloud.google.com/go/iam v1.1.12/go.mod h1:9LDX8J7dN5YRyzVHxwQzrQs9opFFqn0Mxs9nAe cloud.google.com/go/iam v1.2.0/go.mod h1:zITGuWgsLZxd8OwAlX+eMFgZDXzBm7icj1PVTYG766Q= cloud.google.com/go/iam v1.2.1/go.mod h1:3VUIJDPpwT6p/amXRC5GY8fCCh70lxPygguVtI0Z4/g= cloud.google.com/go/iam v1.2.2/go.mod h1:0Ys8ccaZHdI1dEUilwzqng/6ps2YB6vRsjIe00/+6JY= -cloud.google.com/go/iam v1.3.0/go.mod h1:0Ys8ccaZHdI1dEUilwzqng/6ps2YB6vRsjIe00/+6JY= -cloud.google.com/go/iap v1.10.2/go.mod h1:cClgtI09VIfazEK6VMJr6bX8KQfuQ/D3xqX+d0wrUlI= -cloud.google.com/go/ids v1.5.2/go.mod h1:P+ccDD96joXlomfonEdCnyrHvE68uLonc7sJBPVM5T0= -cloud.google.com/go/iot v1.8.2/go.mod h1:UDwVXvRD44JIcMZr8pzpF3o4iPsmOO6fmbaIYCAg1ww= +cloud.google.com/go/iam v1.3.1/go.mod h1:3wMtuyT4NcbnYNPLMBzYRFiEfjKfJlLVLrisE7bwm34= +cloud.google.com/go/iap v1.10.3/go.mod h1:xKgn7bocMuCFYhzRizRWP635E2LNPnIXT7DW0TlyPJ8= +cloud.google.com/go/ids v1.5.3/go.mod h1:a2MX8g18Eqs7yxD/pnEdid42SyBUm9LIzSWf8Jux9OY= +cloud.google.com/go/iot v1.8.3/go.mod h1:dYhrZh+vUxIQ9m3uajyKRSW7moF/n0rYmA2PhYAkMFE= cloud.google.com/go/kms v1.15.8/go.mod h1:WoUHcDjD9pluCg7pNds131awnH429QGvRM3N/4MyoVs= cloud.google.com/go/kms v1.20.1/go.mod h1:LywpNiVCvzYNJWS9JUcGJSVTNSwPwi0vBAotzDqn2nc= -cloud.google.com/go/kms v1.20.2/go.mod h1:LywpNiVCvzYNJWS9JUcGJSVTNSwPwi0vBAotzDqn2nc= -cloud.google.com/go/language v1.14.2/go.mod h1:dviAbkxT9art+2ioL9AM05t+3Ql6UPfMpwq1cDsF+rg= -cloud.google.com/go/lifesciences v0.10.2/go.mod h1:vXDa34nz0T/ibUNoeHnhqI+Pn0OazUTdxemd0OLkyoY= -cloud.google.com/go/logging v1.12.0/go.mod h1:wwYBt5HlYP1InnrtYI0wtwttpVU1rifnMT7RejksUAM= +cloud.google.com/go/kms v1.20.4/go.mod h1:gPLsp1r4FblUgBYPOcvI/bUPpdMg2Jm1ZVKU4tQUfcc= +cloud.google.com/go/language v1.14.3/go.mod h1:hjamj+KH//QzF561ZuU2J+82DdMlFUjmiGVWpovGGSA= +cloud.google.com/go/lifesciences v0.10.3/go.mod h1:hnUUFht+KcZcliixAg+iOh88FUwAzDQQt5tWd7iIpNg= +cloud.google.com/go/logging v1.13.0/go.mod h1:36CoKh6KA/M0PbhPKMq6/qety2DCAErbhXT62TuXALA= cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= @@ -212,28 +215,29 @@ cloud.google.com/go/longrunning v0.5.12/go.mod h1:S5hMV8CDJ6r50t2ubVJSKQVv5u0rmi cloud.google.com/go/longrunning v0.6.0/go.mod h1:uHzSZqW89h7/pasCWNYdUpwGz3PcVWhrWupreVPYLts= cloud.google.com/go/longrunning v0.6.1/go.mod h1:nHISoOZpBcmlwbJmiVk5oDRz0qG/ZxPynEGs1iZ79s0= cloud.google.com/go/longrunning v0.6.2/go.mod h1:k/vIs83RN4bE3YCswdXC5PFfWVILjm3hpEUlSko4PiI= -cloud.google.com/go/longrunning v0.6.3/go.mod h1:k/vIs83RN4bE3YCswdXC5PFfWVILjm3hpEUlSko4PiI= -cloud.google.com/go/managedidentities v1.7.2/go.mod h1:t0WKYzagOoD3FNtJWSWcU8zpWZz2i9cw2sKa9RiPx5I= -cloud.google.com/go/maps v1.17.0/go.mod h1:7LSQFPyfIrX7fAlLSUFYHmKCnJy0QYclWhm3UsfsZYw= -cloud.google.com/go/mediatranslation v0.9.2/go.mod h1:1xyRoDYN32THzy+QaU62vIMciX0CFexplju9t30XwUc= -cloud.google.com/go/memcache v1.11.2/go.mod h1:jIzHn79b0m5wbkax2SdlW5vNSbpaEk0yWHbeLpMIYZE= -cloud.google.com/go/metastore v1.14.2/go.mod h1:dk4zOBhZIy3TFOQlI8sbOa+ef0FjAcCHEnd8dO2J+LE= +cloud.google.com/go/longrunning v0.6.4/go.mod h1:ttZpLCe6e7EXvn9OxpBRx7kZEB0efv8yBO6YnVMfhJs= +cloud.google.com/go/managedidentities v1.7.3/go.mod h1:H9hO2aMkjlpY+CNnKWRh+WoQiUIDO8457wWzUGsdtLA= +cloud.google.com/go/maps v1.17.1/go.mod h1:lGZCm2ILmN06GQyrRQwA1rScqQZuApQsCTX+0v+bdm8= +cloud.google.com/go/mediatranslation v0.9.3/go.mod h1:KTrFV0dh7duYKDjmuzjM++2Wn6yw/I5sjZQVV5k3BAA= +cloud.google.com/go/memcache v1.11.3/go.mod h1:UeWI9cmY7hvjU1EU6dwJcQb6EFG4GaM3KNXOO2OFsbI= +cloud.google.com/go/metastore v1.14.3/go.mod h1:HlbGVOvg0ubBLVFRk3Otj3gtuzInuzO/TImOBwsKlG4= cloud.google.com/go/monitoring v1.21.1/go.mod h1:Rj++LKrlht9uBi8+Eb530dIrzG/cU/lB8mt+lbeFK1c= -cloud.google.com/go/monitoring v1.22.0/go.mod h1:hS3pXvaG8KgWTSz+dAdyzPrGUYmi2Q+WFX8g2hqVEZU= -cloud.google.com/go/networkconnectivity v1.16.0/go.mod h1:N1O01bEk5z9bkkWwXLKcN2T53QN49m/pSpjfUvlHDQY= -cloud.google.com/go/networkmanagement v1.17.0/go.mod h1:Yc905R9U5jik5YMt76QWdG5WqzPU4ZsdI/mLnVa62/Q= -cloud.google.com/go/networksecurity v0.10.2/go.mod h1:puU3Gwchd6Y/VTyMkL50GI2RSRMS3KXhcDBY1HSOcck= -cloud.google.com/go/notebooks v1.12.2/go.mod h1:EkLwv8zwr8DUXnvzl944+sRBG+b73HEKzV632YYAGNI= -cloud.google.com/go/optimization v1.7.2/go.mod h1:msYgDIh1SGSfq6/KiWJQ/uxMkWq8LekPyn1LAZ7ifNE= -cloud.google.com/go/orchestration v1.11.2/go.mod h1:ESdQV8u+75B+uNf5PBwJC9Qn+SNT8kkiP3FFFN5nns4= -cloud.google.com/go/orgpolicy v1.14.0/go.mod h1:S6Pveh1JOxpSbs6+2ToJG7h3HwqC6Uf1YQ6JYG7wdM8= +cloud.google.com/go/monitoring v1.21.2/go.mod h1:hS3pXvaG8KgWTSz+dAdyzPrGUYmi2Q+WFX8g2hqVEZU= +cloud.google.com/go/monitoring v1.22.1/go.mod h1:AuZZXAoN0WWWfsSvET1Cpc4/1D8LXq8KRDU87fMS6XY= +cloud.google.com/go/networkconnectivity v1.16.1/go.mod h1:GBC1iOLkblcnhcnfRV92j4KzqGBrEI6tT7LP52nZCTk= +cloud.google.com/go/networkmanagement v1.17.1/go.mod h1:9n6B4wq5zsvr7TRibPP/PhAHPZhEqU6vQDLdvS/4MD8= +cloud.google.com/go/networksecurity v0.10.3/go.mod h1:G85ABVcPscEgpw+gcu+HUxNZJWjn3yhTqEU7+SsltFM= +cloud.google.com/go/notebooks v1.12.3/go.mod h1:I0pMxZct+8Rega2LYrXL8jGAGZgLchSmh8Ksc+0xNyA= +cloud.google.com/go/optimization v1.7.3/go.mod h1:GlYFp4Mju0ybK5FlOUtV6zvWC00TIScdbsPyF6Iv144= +cloud.google.com/go/orchestration v1.11.3/go.mod h1:pbHPtKzHN8EQ8rO4JgmYxMnReqIUMygIlM8uAuG2i5E= cloud.google.com/go/orgpolicy v1.14.1/go.mod h1:1z08Hsu1mkoH839X7C8JmnrqOkp2IZRSxiDw7W/Xpg4= -cloud.google.com/go/osconfig v1.14.1/go.mod h1:Rk62nyQscgy8x4bICaTn0iWiip5EpwEfG2UCBa2TP/s= +cloud.google.com/go/orgpolicy v1.14.2/go.mod h1:2fTDMT3X048iFKxc6DEgkG+a/gN+68qEgtPrHItKMzo= cloud.google.com/go/osconfig v1.14.2/go.mod h1:kHtsm0/j8ubyuzGciBsRxFlbWVjc4c7KdrwJw0+g+pQ= -cloud.google.com/go/oslogin v1.14.2/go.mod h1:M7tAefCr6e9LFTrdWRQRrmMeKHbkvc4D9g6tHIjHySA= -cloud.google.com/go/phishingprotection v0.9.2/go.mod h1:mSCiq3tD8fTJAuXq5QBHFKZqMUy8SfWsbUM9NpzJIRQ= -cloud.google.com/go/policytroubleshooter v1.11.2/go.mod h1:1TdeCRv8Qsjcz2qC3wFltg/Mjga4HSpv8Tyr5rzvPsw= -cloud.google.com/go/privatecatalog v0.10.2/go.mod h1:o124dHoxdbO50ImR3T4+x3GRwBSTf4XTn6AatP8MgsQ= +cloud.google.com/go/osconfig v1.14.3/go.mod h1:9D2MS1Etne18r/mAeW5jtto3toc9H1qu9wLNDG3NvQg= +cloud.google.com/go/oslogin v1.14.3/go.mod h1:fDEGODTG/W9ZGUTHTlMh8euXWC1fTcgjJ9Kcxxy14a8= +cloud.google.com/go/phishingprotection v0.9.3/go.mod h1:ylzN9HruB/X7dD50I4sk+FfYzuPx9fm5JWsYI0t7ncc= +cloud.google.com/go/policytroubleshooter v1.11.3/go.mod h1:AFHlORqh4AnMC0twc2yPKfzlozp3DO0yo9OfOd9aNOs= +cloud.google.com/go/privatecatalog v0.10.3/go.mod h1:72f485zfjkP46EcsXMsjRKssB7feo3pwykwSJx2bhcE= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -241,22 +245,22 @@ cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjp cloud.google.com/go/pubsub v1.38.0/go.mod h1:IPMJSWSus/cu57UyR01Jqa/bNOQA+XnPF6Z4dKW4fAA= cloud.google.com/go/pubsub v1.45.3/go.mod h1:cGyloK/hXC4at7smAtxFnXprKEFTqmMXNNd9w+bd94Q= cloud.google.com/go/pubsublite v1.8.2/go.mod h1:4r8GSa9NznExjuLPEJlF1VjOPOpgf3IT6k8x/YgaOPI= -cloud.google.com/go/recaptchaenterprise/v2 v2.19.1/go.mod h1:vnbA2SpVPPwKeoFrCQxR+5a0JFRRytwBBG69Zj9pGfk= -cloud.google.com/go/recommendationengine v0.9.2/go.mod h1:DjGfWZJ68ZF5ZuNgoTVXgajFAG0yLt4CJOpC0aMK3yw= -cloud.google.com/go/recommender v1.13.2/go.mod h1:XJau4M5Re8F4BM+fzF3fqSjxNJuM66fwF68VCy/ngGE= -cloud.google.com/go/redis v1.17.2/go.mod h1:h071xkcTMnJgQnU/zRMOVKNj5J6AttG16RDo+VndoNo= -cloud.google.com/go/resourcemanager v1.10.2/go.mod h1:5f+4zTM/ZOTDm6MmPOp6BQAhR0fi8qFPnvVGSoWszcc= -cloud.google.com/go/resourcesettings v1.8.2/go.mod h1:uEgtPiMA+xuBUM4Exu+ZkNpMYP0BLlYeJbyNHfrc+U0= -cloud.google.com/go/retail v1.19.1/go.mod h1:W48zg0zmt2JMqmJKCuzx0/0XDLtovwzGAeJjmv6VPaE= -cloud.google.com/go/run v1.8.0/go.mod h1:IvJOg2TBb/5a0Qkc6crn5yTy5nkjcgSWQLhgO8QL8PQ= -cloud.google.com/go/scheduler v1.11.2/go.mod h1:GZSv76T+KTssX2I9WukIYQuQRf7jk1WI+LOcIEHUUHk= -cloud.google.com/go/secretmanager v1.14.2/go.mod h1:Q18wAPMM6RXLC/zVpWTlqq2IBSbbm7pKBlM3lCKsmjw= -cloud.google.com/go/security v1.18.2/go.mod h1:3EwTcYw8554iEtgK8VxAjZaq2unFehcsgFIF9nOvQmU= -cloud.google.com/go/securitycenter v1.35.2/go.mod h1:AVM2V9CJvaWGZRHf3eG+LeSTSissbufD27AVBI91C8s= -cloud.google.com/go/servicedirectory v1.12.2/go.mod h1:F0TJdFjqqotiZRlMXgIOzszaplk4ZAmUV8ovHo08M2U= -cloud.google.com/go/shell v1.8.2/go.mod h1:QQR12T6j/eKvqAQLv6R3ozeoqwJ0euaFSz2qLqG93Bs= +cloud.google.com/go/recaptchaenterprise/v2 v2.19.2/go.mod h1:hlKYMCYcyREgABerHpEQR9XeiCNqbsj3OU79MqLntgA= +cloud.google.com/go/recommendationengine v0.9.3/go.mod h1:QRnX5aM7DCvtqtSs7I0zay5Zfq3fzxqnsPbZF7pa1G8= +cloud.google.com/go/recommender v1.13.3/go.mod h1:6yAmcfqJRKglZrVuTHsieTFEm4ai9JtY3nQzmX4TC0Q= +cloud.google.com/go/redis v1.17.3/go.mod h1:23OoThXAU5bvhg4/oKsEcdVfq3wmyTEPNA9FP/t9xGo= +cloud.google.com/go/resourcemanager v1.10.3/go.mod h1:JSQDy1JA3K7wtaFH23FBGld4dMtzqCoOpwY55XYR8gs= +cloud.google.com/go/resourcesettings v1.8.3/go.mod h1:BzgfXFHIWOOmHe6ZV9+r3OWfpHJgnqXy8jqwx4zTMLw= +cloud.google.com/go/retail v1.19.2/go.mod h1:71tRFYAcR4MhrZ1YZzaJxr030LvaZiIcupH7bXfFBcY= +cloud.google.com/go/run v1.8.1/go.mod h1:wR5IG8Nujk9pyyNai187K4p8jzSLeqCKCAFBrZ2Sd4c= +cloud.google.com/go/scheduler v1.11.3/go.mod h1:Io2+gcvUjLX1GdymwaSPJ6ZYxHN9/NNGL5kIV3Ax5+Q= +cloud.google.com/go/secretmanager v1.14.3/go.mod h1:Pwzcfn69Ni9Lrk1/XBzo1H9+MCJwJ6CDCoeoQUsMN+c= +cloud.google.com/go/security v1.18.3/go.mod h1:NmlSnEe7vzenMRoTLehUwa/ZTZHDQE59IPRevHcpCe4= +cloud.google.com/go/securitycenter v1.35.3/go.mod h1:kjsA8Eg4jlMHW1JwxbMC8148I+gcjgkWPdbDycatoRQ= +cloud.google.com/go/servicedirectory v1.12.3/go.mod h1:dwTKSCYRD6IZMrqoBCIvZek+aOYK/6+jBzOGw8ks5aY= +cloud.google.com/go/shell v1.8.3/go.mod h1:OYcrgWF6JSp/uk76sNTtYFlMD0ho2+Cdzc7U3P/bF54= cloud.google.com/go/spanner v1.73.0/go.mod h1:mw98ua5ggQXVWwp83yjwggqEmW9t8rjs9Po1ohcUGW4= -cloud.google.com/go/speech v1.25.2/go.mod h1:KPFirZlLL8SqPaTtG6l+HHIFHPipjbemv4iFg7rTlYs= +cloud.google.com/go/speech v1.26.0/go.mod h1:78bqDV2SgwFlP/M4n3i3PwLthFq6ta7qmyG6lUV7UCA= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= @@ -275,22 +279,22 @@ cloud.google.com/go/storage v1.39.1/go.mod h1:xK6xZmxZmo+fyP7+DEF6FhNc24/JAe95OL cloud.google.com/go/storage v1.40.0/go.mod h1:Rrj7/hKlG87BLqDJYtwR0fbPld8uJPbQ2ucUMY7Ir0g= cloud.google.com/go/storage v1.41.0/go.mod h1:J1WCa/Z2FcgdEDuPUY8DxT5I+d9mFKsCepp5vR6Sq80= cloud.google.com/go/storage v1.43.0/go.mod h1:ajvxEa7WmZS1PxvKRq4bq0tFT3vMd502JwstCcYv0Q0= -cloud.google.com/go/storagetransfer v1.11.2/go.mod h1:FcM29aY4EyZ3yVPmW5SxhqUdhjgPBUOFyy4rqiQbias= -cloud.google.com/go/talent v1.7.2/go.mod h1:k1sqlDgS9gbc0gMTRuRQpX6C6VB7bGUxSPcoTRWJod8= -cloud.google.com/go/texttospeech v1.10.0/go.mod h1:215FpCOyRxxrS7DSb2t7f4ylMz8dXsQg8+Vdup5IhP4= -cloud.google.com/go/tpu v1.7.2/go.mod h1:0Y7dUo2LIbDUx0yQ/vnLC6e18FK6NrDfAhYS9wZ/2vs= -cloud.google.com/go/trace v1.11.2/go.mod h1:bn7OwXd4pd5rFuAnTrzBuoZ4ax2XQeG3qNgYmfCy0Io= +cloud.google.com/go/storagetransfer v1.12.1/go.mod h1:hQqbfs8/LTmObJyCC0KrlBw8yBJ2bSFlaGila0qBMk4= +cloud.google.com/go/talent v1.7.3/go.mod h1:6HhwxYxAtL6eKzcUMJ8reliQPUpay3/L6JZll4cS/vE= +cloud.google.com/go/texttospeech v1.10.1/go.mod h1:FJ9HdePKBJXF8wU/1xjLHjBipjyre6uWoSTLMh4A1yM= +cloud.google.com/go/tpu v1.7.3/go.mod h1:jZJET6Hp4VKRFHf+ABHVXW4mq1az4ZYHDLBKb5mYAWE= +cloud.google.com/go/trace v1.11.3/go.mod h1:pt7zCYiDSQjC9Y2oqCsh9jF4GStB/hmjrYLsxRR27q8= cloud.google.com/go/translate v1.10.3/go.mod h1:GW0vC1qvPtd3pgtypCv4k4U8B7EdgK9/QEF2aJEUovs= -cloud.google.com/go/translate v1.12.2/go.mod h1:jjLVf2SVH2uD+BNM40DYvRRKSsuyKxVvs3YjTW/XSWY= -cloud.google.com/go/video v1.23.2/go.mod h1:rNOr2pPHWeCbW0QsOwJRIe0ZiuwHpHtumK0xbiYB1Ew= -cloud.google.com/go/videointelligence v1.12.2/go.mod h1:8xKGlq0lNVyT8JgTkkCUCpyNJnYYEJVWGdqzv+UcwR8= -cloud.google.com/go/vision/v2 v2.9.2/go.mod h1:WuxjVQdAy4j4WZqY5Rr655EdAgi8B707Vdb5T8c90uo= -cloud.google.com/go/vmmigration v1.8.2/go.mod h1:FBejrsr8ZHmJb949BSOyr3D+/yCp9z9Hk0WtsTiHc1Q= -cloud.google.com/go/vmwareengine v1.3.2/go.mod h1:JsheEadzT0nfXOGkdnwtS1FhFAnj4g8qhi4rKeLi/AU= -cloud.google.com/go/vpcaccess v1.8.2/go.mod h1:4yvYKNjlNjvk/ffgZ0PuEhpzNJb8HybSM1otG2aDxnY= -cloud.google.com/go/webrisk v1.10.2/go.mod h1:c0ODT2+CuKCYjaeHO7b0ni4CUrJ95ScP5UFl9061Qq8= -cloud.google.com/go/websecurityscanner v1.7.2/go.mod h1:728wF9yz2VCErfBaACA5px2XSYHQgkK812NmHcUsDXA= -cloud.google.com/go/workflows v1.13.2/go.mod h1:l5Wj2Eibqba4BsADIRzPLaevLmIuYF2W+wfFBkRG3vU= +cloud.google.com/go/translate v1.12.3/go.mod h1:qINOVpgmgBnY4YTFHdfVO4nLrSBlpvlIyosqpGEgyEg= +cloud.google.com/go/video v1.23.3/go.mod h1:Kvh/BheubZxGZDXSb0iO6YX7ZNcaYHbLjnnaC8Qyy3g= +cloud.google.com/go/videointelligence v1.12.3/go.mod h1:dUA6V+NH7CVgX6TePq0IelVeBMGzvehxKPR4FGf1dtw= +cloud.google.com/go/vision/v2 v2.9.3/go.mod h1:weAcT8aNYSgrWWVTC2PuJTc7fcXKvUeAyDq8B6HkLSg= +cloud.google.com/go/vmmigration v1.8.3/go.mod h1:8CzUpK9eBzohgpL4RvBVtW4sY/sDliVyQonTFQfWcJ4= +cloud.google.com/go/vmwareengine v1.3.3/go.mod h1:G7vz05KGijha0c0dj1INRKyDAaQW8TRMZt/FrfOZVXc= +cloud.google.com/go/vpcaccess v1.8.3/go.mod h1:bqOhyeSh/nEmLIsIUoCiQCBHeNPNjaK9M3bIvKxFdsY= +cloud.google.com/go/webrisk v1.10.3/go.mod h1:rRAqCA5/EQOX8ZEEF4HMIrLHGTK/Y1hEQgWMnih+jAw= +cloud.google.com/go/websecurityscanner v1.7.3/go.mod h1:gy0Kmct4GNLoCePWs9xkQym1D7D59ld5AjhXrjipxSs= +cloud.google.com/go/workflows v1.13.3/go.mod h1:Xi7wggEt/ljoEcyk+CB/Oa1AHBCk0T1f5UH/exBB5CE= code.cloudfoundry.org/cfhttp/v2 v2.23.0 h1:Xnd4DdoxojD7HRPhGssBzMBDQz5yotuCKSfO0vxop24= code.cloudfoundry.org/cfhttp/v2 v2.23.0/go.mod h1:0NtBBdWRmqwNdeT3pvdSFlV3Wl34NSsP+CLsqkAHV40= code.cloudfoundry.org/clock v1.22.0 h1:wNLKi3vSt0ywYrC1KLOlGYxT6ELwUlWrSpEqe9YczRo= @@ -317,7 +321,9 @@ git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3p github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.0/go.mod h1:dppbR7CwXD4pgtV9t3wD1812RaLDcBjtblcDF5f1vI0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.0/go.mod h1:p2puVVSKjQ84Qb1gzw2XHLs34WQyHTYFZLaVxypAFYs= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= @@ -409,6 +415,7 @@ github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQ github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155/go.mod h1:5Wkq+JduFtdAXihLmeTJf+tRYIT4KBc2vPXDhwVo1pA= github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= +github.com/envoyproxy/go-control-plane v0.13.1/go.mod h1:X45hY0mufo6Fd0KW3rqsGvQMw58jvjymeCzBU3mWyHw= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= @@ -879,6 +886,7 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/detectors/gcp v1.28.0/go.mod h1:9BIqH22qyHWAiZxQh0whuJygro59z+nbMVuc7ciiGug= go.opentelemetry.io/contrib/detectors/gcp v1.29.0/go.mod h1:GW2aWZNwR2ZxDLdv8OyC2G8zkRoQBuURgV7RPQgcPoU= go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux v0.57.0 h1:ydMxn2B3ZKzDXmjgE/tBtq7RsArxmikZUlRWComOPFs= go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux v0.57.0/go.mod h1:rD9Z+09JseOeFdSJUrtnA2hO4XBY3lf1Tj0tPqf+LEM= @@ -919,6 +927,7 @@ go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8 go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4= go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU= +go.opentelemetry.io/otel/sdk/metric v1.28.0/go.mod h1:cWPjykihLAPvXKi4iZc1dpER3Jdq2Z0YLse3moQUCpg= go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= @@ -1558,6 +1567,7 @@ google.golang.org/api v0.203.0/go.mod h1:BuOVyCSYEPwJb3npWvDnNmFI92f3GeRnHNkETne google.golang.org/api v0.205.0/go.mod h1:NrK1EMqO8Xk6l6QwRAmrXXg2v6dzukhlOyvkYtnvUuc= google.golang.org/api v0.210.0/go.mod h1:B9XDZGnx2NtyjzVkOVTGrFSAVZgPcbedzKg/gTLwqBs= google.golang.org/api v0.211.0/go.mod h1:XOloB4MXFH4UTlQSGuNUxw0UT74qdENK8d6JNsXKLi0= +google.golang.org/api v0.214.0/go.mod h1:bYPpLG8AyeMWwDU6NXoB00xC0DFkikVvd5MfwoxjLqE= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1566,7 +1576,7 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= -google.golang.org/genproto v0.0.0-20241216192217-9240e9c98484/go.mod h1:Gmd/M/W9fEyf6VSu/mWLnl+9Be51B9CLdxdsKokYq7Y= +google.golang.org/genproto v0.0.0-20250106144421-5f5ef82da422/go.mod h1:1NPAxoesyw/SgLPqaUp9u1f9PWCLAk/jVmhx7gJZStg= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= @@ -1605,8 +1615,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go. google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:dguCy7UOdZhTvLzDyt15+rOrawrpM4q7DD9dQ1P11P4= google.golang.org/genproto/googleapis/api v0.0.0-20241113202542-65e8d215514f/go.mod h1:Yo94eF2nj7igQt+TiJ49KxjIH8ndLYPZMIRSiRcEbg0= google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697/go.mod h1:+D9ySVjN8nY8YCVjc5O7PZDIdZporIDY3KaGfJunh88= -google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 h1:CkkIfIt50+lT6NHAVoRYEyAvQGFM7xEwXUUywFvEb3Q= -google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576/go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08= +google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d h1:H8tOf8XM88HvKqLTxe755haY6r1fqqzLbEnfrmLXlSA= +google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d/go.mod h1:2v7Z7gP2ZUOGsaFyxATQSRoBnKygqVq2Cwnvom7QiqY= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:+34luvCflYKiKylNwGJfn9cFBbcL/WrkciMmDmsTQ/A= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= @@ -1632,6 +1642,7 @@ google.golang.org/genproto/googleapis/bytestream v0.0.0-20241015192408-796eee8c2 google.golang.org/genproto/googleapis/bytestream v0.0.0-20241021214115-324edc3d5d38/go.mod h1:T8O3fECQbif8cez15vxAcjbwXxvL2xbnvbQ7ZfiMAMs= google.golang.org/genproto/googleapis/bytestream v0.0.0-20241118233622-e639e219e697/go.mod h1:qUsLYwbwz5ostUWtuFuXPlHmSJodC5NI/88ZlHj4M1o= google.golang.org/genproto/googleapis/bytestream v0.0.0-20241206012308-a4fef0638583/go.mod h1:qUsLYwbwz5ostUWtuFuXPlHmSJodC5NI/88ZlHj4M1o= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20241209162323-e6fa225c2576/go.mod h1:qUsLYwbwz5ostUWtuFuXPlHmSJodC5NI/88ZlHj4M1o= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= @@ -1690,8 +1701,10 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20241113202542-65e8d215514f/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 h1:8ZmaLZE4XWrtU3MyClkYqqtl6Oegr3235h7jxsDyqCY= google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8/go.mod h1:lcTa1sDdWEIHMWlITnIczmw5w60CF9ffkb8Z+DVmmjA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d h1:xJJRGY7TJcvIlpSrN3K6LAWgNFUILlO+OMAqtg9aqnw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d/go.mod h1:3ENsm/5D1mzDyhpzeRi1NR784I0BcofWBoSc5QqqMK4= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1756,6 +1769,7 @@ google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR google.golang.org/grpc v1.66.1/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/grpc v1.67.3/go.mod h1:YGaHCc6Oap+FzBJTZLBzkGSYt/cvGPFTPxkn7QfSU8s= google.golang.org/grpc v1.68.1 h1:oI5oTa11+ng8r8XMMN7jAOmWfPZWbYpCFaMUTACxkM0= google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= @@ -1783,8 +1797,9 @@ google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHh google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ= google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= +google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From 19b1401e695374b691c7dabf63a0b8248351340f Mon Sep 17 00:00:00 2001 From: Silvestre Zabala Date: Wed, 8 Jan 2025 16:18:28 +0100 Subject: [PATCH 19/27] fix(api): add admin user access test for policy retrieval --- src/acceptance/api/api_test.go | 14 +++++++++ .../api/publicapiserver/middleware.go | 29 ++++++++++--------- .../api/publicapiserver/middleware_test.go | 18 ++++++++---- .../publicapiserver_suite_test.go | 3 +- src/autoscaler/cf/oauth.go | 2 +- 5 files changed, 45 insertions(+), 21 deletions(-) diff --git a/src/acceptance/api/api_test.go b/src/acceptance/api/api_test.go index f190887f30..98ca8de555 100644 --- a/src/acceptance/api/api_test.go +++ b/src/acceptance/api/api_test.go @@ -200,6 +200,20 @@ var _ = Describe("AutoScaler Public API", func() { }) }) + When("an admin user tries to access the api", func() { + BeforeEach(func() { + workflowhelpers.AsUser(setup.AdminUserContext(), cfg.DefaultTimeoutDuration(), func() { + oauthToken = OauthToken(cfg) + }) + }) + + It("should succeed to get a policy", func() { + gotPolicy, status := getPolicy() + Expect(status).To(Equal(200)) + Expect(string(gotPolicy)).Should(MatchJSON(policy)) + }) + }) + When("a scale out is triggered ", func() { BeforeEach(func() { totalTime := time.Duration(cfg.AggregateInterval*2)*time.Second + 3*time.Minute diff --git a/src/autoscaler/api/publicapiserver/middleware.go b/src/autoscaler/api/publicapiserver/middleware.go index 53542d01e9..2ccb801e4b 100644 --- a/src/autoscaler/api/publicapiserver/middleware.go +++ b/src/autoscaler/api/publicapiserver/middleware.go @@ -2,6 +2,7 @@ package publicapiserver import ( "errors" + "fmt" "net/http" "strings" @@ -34,15 +35,16 @@ func (mw *Middleware) Oauth(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) - userToken := r.Header.Get("Authorization") - if userToken == "" { - mw.logger.Error("userToken is not present", nil, lager.Data{"url": r.URL.String()}) + authHeaderValue := r.Header.Get("Authorization") + if authHeaderValue == "" { + mw.logger.Error("authorization-header-is-not-present", nil, lager.Data{"url": r.URL.String()}) handlers.WriteJSONResponse(w, http.StatusUnauthorized, models.ErrorResponse{ Code: "Unauthorized", - Message: "User token is not present in Authorization header"}) + Message: "Authorization header is not present"}) return } - if !mw.isValidUserToken(userToken) { + userToken, err := mw.extractBearerToken(authHeaderValue) + if err != nil { handlers.WriteJSONResponse(w, http.StatusUnauthorized, models.ErrorResponse{ Code: "Unauthorized", Message: "Invalid bearer token"}) @@ -125,19 +127,18 @@ func (mw *Middleware) CheckServiceBinding(next http.Handler) http.Handler { }) } -func (mw *Middleware) isValidUserToken(userToken string) bool { - lowerCaseToken := strings.ToLower(userToken) - if !strings.HasPrefix(lowerCaseToken, "bearer ") { - mw.logger.Error("Token should start with bearer", cf.ErrInvalidTokenFormat) - return false +func (mw *Middleware) extractBearerToken(token string) (string, error) { + if !strings.HasPrefix(strings.ToLower(token), "bearer ") { + mw.logger.Error("check-bearer-scheme", fmt.Errorf("authorization credentials should specify bearer scheme")) + return "", cf.ErrInvalidTokenFormat } - tokenSplitted := strings.Split(lowerCaseToken, " ") + tokenSplitted := strings.Split(token, " ") if len(tokenSplitted) != 2 { - mw.logger.Error("Token should contain two parts separated by space", cf.ErrInvalidTokenFormat) - return false + mw.logger.Error("split-auth-credentials", fmt.Errorf("authorization credentials should contain scheme and token separated by space")) + return "", cf.ErrInvalidTokenFormat } - return true + return tokenSplitted[1], nil } func (mw *Middleware) HasClientToken(next http.Handler) http.Handler { diff --git a/src/autoscaler/api/publicapiserver/middleware_test.go b/src/autoscaler/api/publicapiserver/middleware_test.go index 31aa6fff08..a77f563af5 100644 --- a/src/autoscaler/api/publicapiserver/middleware_test.go +++ b/src/autoscaler/api/publicapiserver/middleware_test.go @@ -52,27 +52,27 @@ var _ = Describe("Middleware", func() { router.ServeHTTP(resp, req) }) - Context("User token is not present in Authorization header", func() { + When("Authorization header is not preset", func() { BeforeEach(func() { req = httptest.NewRequest(http.MethodGet, "/v1/apps/"+TEST_APP_ID, nil) }) It("should fail with 401", func() { CheckResponse(resp, http.StatusUnauthorized, models.ErrorResponse{ Code: "Unauthorized", - Message: "User token is not present in Authorization header", + Message: "Authorization header is not present", }) }) }) Context("Invalid user token format", func() { - Context("when user token is not a bearer token", func() { + When("Authorization header does not contain a bearer token", func() { BeforeEach(func() { req = httptest.NewRequest(http.MethodGet, "/v1/apps/"+TEST_APP_ID, nil) req.Header.Add("Authorization", INVALID_USER_TOKEN_WITHOUT_BEARER) }) It("should fail with 401", func() { - Eventually(logger.Buffer).Should(Say("Token should start with bearer")) + Eventually(logger.Buffer).Should(Say("authorization credentials should specify bearer scheme")) CheckResponse(resp, http.StatusUnauthorized, models.ErrorResponse{ Code: "Unauthorized", Message: "Invalid bearer token", @@ -86,7 +86,7 @@ var _ = Describe("Middleware", func() { req.Header.Add("Authorization", INVALID_USER_TOKEN) }) It("should fail with 401", func() { - Eventually(logger.Buffer).Should(Say("Token should contain two parts separated by space")) + Eventually(logger.Buffer).Should(Say("authorization credentials should contain scheme and token separated by space")) CheckResponse(resp, http.StatusUnauthorized, models.ErrorResponse{ Code: "Unauthorized", Message: "Invalid bearer token", @@ -130,6 +130,10 @@ var _ = Describe("Middleware", func() { req.Header.Add("Authorization", TEST_USER_TOKEN) }) It("should fail with 500", func() { + By("checking if the token is from an admin user") + Expect(fakeCFClient.IsUserAdminCallCount()).To(Equal(1)) + Expect(fakeCFClient.IsUserAdminArgsForCall(0)).To(Equal(TEST_BEARER_TOKEN)) + CheckResponse(resp, http.StatusInternalServerError, models.ErrorResponse{ Code: http.StatusText(http.StatusInternalServerError), Message: "Failed to check if user is admin", @@ -145,6 +149,10 @@ var _ = Describe("Middleware", func() { req.Header.Add("Authorization", TEST_USER_TOKEN) }) It("should succeed with 200", func() { + By("checking if the token is from an admin user") + Expect(fakeCFClient.IsUserAdminCallCount()).To(Equal(1)) + Expect(fakeCFClient.IsUserAdminArgsForCall(0)).To(Equal(TEST_BEARER_TOKEN)) + Expect(resp.Code).To(Equal(http.StatusOK)) }) }) diff --git a/src/autoscaler/api/publicapiserver/publicapiserver_suite_test.go b/src/autoscaler/api/publicapiserver/publicapiserver_suite_test.go index 08f4c59c41..c88594175d 100644 --- a/src/autoscaler/api/publicapiserver/publicapiserver_suite_test.go +++ b/src/autoscaler/api/publicapiserver/publicapiserver_suite_test.go @@ -31,7 +31,8 @@ const ( CLIENT_ID = "client-id" CLIENT_SECRET = "client-secret" TEST_APP_ID = "deadbeef-dead-beef-dead-beef00000075" - TEST_USER_TOKEN = "bearer testusertoken" + TEST_BEARER_TOKEN = "testusertoken" + TEST_USER_TOKEN = "bearer " + TEST_BEARER_TOKEN INVALID_USER_TOKEN = "bearer invalid_user_token invalid_user_token" INVALID_USER_TOKEN_WITHOUT_BEARER = "not-bearer testusertoken" TEST_INVALID_USER_TOKEN = "bearer testinvalidusertoken" diff --git a/src/autoscaler/cf/oauth.go b/src/autoscaler/cf/oauth.go index 7e29884e2b..10188f7383 100644 --- a/src/autoscaler/cf/oauth.go +++ b/src/autoscaler/cf/oauth.go @@ -85,7 +85,7 @@ func (c *CtxClient) getUserId(ctx context.Context, userToken string) (UserId, er c.logger.Error("Failed to get user info, create request failed", err, lager.Data{"userInfoEndpoint": userInfoEndpoint}) return "", err } - req.Header.Set("Authorization", userToken) + req.Header.Set("Authorization", "Bearer "+userToken) req.Header.Set("Content-Type", "application/json") resp, err := c.Client.Do(req) From d34879335e926d5cd0eff919426cbcaf379978fd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 15 Jan 2025 09:22:51 +0100 Subject: [PATCH 20/27] chore(deps): update reviewdog/action-actionlint digest to f3dcc52 (#3449) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/linters.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linters.yaml b/.github/workflows/linters.yaml index 5b8e9229b2..f8bd869af1 100644 --- a/.github/workflows/linters.yaml +++ b/.github/workflows/linters.yaml @@ -29,7 +29,7 @@ jobs: with: reporter: github-pr-review - name: actionlint - uses: reviewdog/action-actionlint@af17f9e3640ac863dbcc515d45f5f35d708d0faf # v1 + uses: reviewdog/action-actionlint@f3dcc52bc6039e5d736486952379dce3e869e8a2 # v1 with: reporter: github-pr-review - name: Run Ruby linter From ec23f5a42d97a37b618593b5a2a197f7e682d66e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Jan 2025 08:36:35 +0000 Subject: [PATCH 21/27] fix(deps): update dependency org.postgresql:postgresql to v42.7.5 (#3451) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- src/db/pom.xml | 2 +- src/scheduler/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/db/pom.xml b/src/db/pom.xml index f1593c20a1..ef5b5c7eb2 100644 --- a/src/db/pom.xml +++ b/src/db/pom.xml @@ -30,7 +30,7 @@ org.postgresql postgresql - 42.7.4 + 42.7.5 com.mysql diff --git a/src/scheduler/pom.xml b/src/scheduler/pom.xml index d4e05fa345..34c5e44718 100644 --- a/src/scheduler/pom.xml +++ b/src/scheduler/pom.xml @@ -78,7 +78,7 @@ org.postgresql postgresql - 42.7.4 + 42.7.5 com.mysql From 0f5d366b06180e729cf2c1385692247c929bafff Mon Sep 17 00:00:00 2001 From: app-autoscaler-ci-bot Date: Thu, 16 Jan 2025 10:47:26 +0000 Subject: [PATCH 22/27] Updated release version to 15.0.0 in golangapiserver --- jobs/golangapiserver/spec | 2 +- src/autoscaler/api/default_info.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jobs/golangapiserver/spec b/jobs/golangapiserver/spec index 32804760ad..9b524f4b3e 100644 --- a/jobs/golangapiserver/spec +++ b/jobs/golangapiserver/spec @@ -95,7 +95,7 @@ properties: default: "Autoscaler" autoscaler.apiserver.info.build: description: "Autoscaler application build number" - default: "14.7.0" + default: "15.0.0" autoscaler.apiserver.info.support_url: description: "Autoscaler application support page URL" default: "https://github.com/cloudfoundry/app-autoscaler-release" diff --git a/src/autoscaler/api/default_info.json b/src/autoscaler/api/default_info.json index d7e9a83239..f3ccb74315 100644 --- a/src/autoscaler/api/default_info.json +++ b/src/autoscaler/api/default_info.json @@ -1,6 +1,6 @@ { "name": "Autoscaler", - "build": "14.7.0", + "build": "15.0.0", "support": "https://github.com/cloudfoundry/app-autoscaler-release", "description": "Automatically increase or decrease the number of application instances based on a policy you define." } From 220bf307339a921b45d3661d0dcce823abdfef63 Mon Sep 17 00:00:00 2001 From: app-autoscaler-ci-bot Date: Thu, 16 Jan 2025 10:53:48 +0000 Subject: [PATCH 23/27] created release v15.0.0 --- .final_builds/jobs/golangapiserver/index.yml | 4 + .final_builds/packages/db/index.yml | 4 + .../packages/eventgenerator/index.yml | 4 + .../packages/golangapiserver/index.yml | 4 + .../packages/metricsforwarder/index.yml | 4 + .final_builds/packages/operator/index.yml | 4 + .../packages/scalingengine/index.yml | 4 + .final_builds/packages/scheduler/index.yml | 4 + .../app-autoscaler/app-autoscaler-15.0.0.yml | 132 ++++++++++++++++++ releases/app-autoscaler/index.yml | 2 + 10 files changed, 166 insertions(+) create mode 100644 releases/app-autoscaler/app-autoscaler-15.0.0.yml diff --git a/.final_builds/jobs/golangapiserver/index.yml b/.final_builds/jobs/golangapiserver/index.yml index 051348da33..f5a3e25ead 100644 --- a/.final_builds/jobs/golangapiserver/index.yml +++ b/.final_builds/jobs/golangapiserver/index.yml @@ -343,6 +343,10 @@ builds: version: ddd19a16ab5356baddbbc7b2225263c27b09ee1d6b1d98fa02801bfd85b831c2 blobstore_id: 20b0b9e1-90bd-402e-5940-5f108f291e81 sha1: sha256:b8351d8a5bd1e5de81c4091fcaa97a8c81ed00594a7288606a5e0ffcb5adc640 + dedd38ec2340178eef0cbe9d3261c310435a50efe892ba5c8e687bb41dbd3418: + version: dedd38ec2340178eef0cbe9d3261c310435a50efe892ba5c8e687bb41dbd3418 + blobstore_id: cf2d3046-3744-4e74-76df-99918041020d + sha1: sha256:fcc528e4dbc6ed655acda55866e4fb792ca598f283510b85c4310d2c96510c32 e2c5abbf984264c8833d09e452d51f950a1d57f4b90c8aa99482ee61dcc20262: version: e2c5abbf984264c8833d09e452d51f950a1d57f4b90c8aa99482ee61dcc20262 blobstore_id: e22dc409-709c-475c-6186-bdb508001c03 diff --git a/.final_builds/packages/db/index.yml b/.final_builds/packages/db/index.yml index 7edc3eae95..9ff8117a8e 100644 --- a/.final_builds/packages/db/index.yml +++ b/.final_builds/packages/db/index.yml @@ -3,6 +3,10 @@ builds: version: 029220b171b978fd252244f39da99e8798acbe5ca2fee7d36d444d421791d1e5 blobstore_id: 216f173c-b735-40bf-4d42-c504d873d113 sha1: sha256:32a8015288a64f2e1b649eb87a34f82e28be1db6c097081947a1762063c24f15 + 0de6859ecf25537174a206402bbcf139d0acbbfa749a05a56960c41fb15b3c1c: + version: 0de6859ecf25537174a206402bbcf139d0acbbfa749a05a56960c41fb15b3c1c + blobstore_id: 1754b682-8bbf-48cd-51c6-f4537c374d41 + sha1: sha256:e938eaab8ac5601faf4c95702d8827d7433fc54e26f94899ecea8af9237359ae 0f960d9b1cf9a05dbaf4287a44b5cc944993385da7f52c5a85f6d60a136df04e: version: 0f960d9b1cf9a05dbaf4287a44b5cc944993385da7f52c5a85f6d60a136df04e blobstore_id: ebc6949d-19ff-496e-78c0-1c872f29946c diff --git a/.final_builds/packages/eventgenerator/index.yml b/.final_builds/packages/eventgenerator/index.yml index 031dce6bdb..bf84d7af68 100644 --- a/.final_builds/packages/eventgenerator/index.yml +++ b/.final_builds/packages/eventgenerator/index.yml @@ -107,6 +107,10 @@ builds: version: 5f3c997880c5eaf1d0eef3576424961693739f1455fc8426d5c1fc7895ef1810 blobstore_id: 377114b4-c71d-4abb-47f8-0794f49b2e42 sha1: sha256:ad21d54ea04012acd2a80e3d4adc40a896ad6b2e521b3d1564faa91c59078069 + 5febc12f51d50aafb34687446854c23da28ee8bd573cd80579ad632a8aa420b2: + version: 5febc12f51d50aafb34687446854c23da28ee8bd573cd80579ad632a8aa420b2 + blobstore_id: 90edb0c4-fc65-4323-621a-c6c82d9a1a46 + sha1: sha256:b996d2ac893dcf792d78fd4d2ba5b91750b78d2437fcbf8cd526e2a63b06f087 66e5d7521f4e27f6448cb150691d6450bb7fb99133f63536530ba2f2c9e1c732: version: 66e5d7521f4e27f6448cb150691d6450bb7fb99133f63536530ba2f2c9e1c732 blobstore_id: 5ba2a640-7a45-4300-56f7-d851dcda381a diff --git a/.final_builds/packages/golangapiserver/index.yml b/.final_builds/packages/golangapiserver/index.yml index c2ab774623..e707d42f14 100644 --- a/.final_builds/packages/golangapiserver/index.yml +++ b/.final_builds/packages/golangapiserver/index.yml @@ -315,6 +315,10 @@ builds: version: f52ad9145e0c4257da3b7864f283468a7d24ad899d6a201e809a8a98f48bc6e0 blobstore_id: 743fccd0-bf3e-45fb-4924-b02ab21beb98 sha1: sha256:c24a927719e01d98ae92fab8164a11c9e7e879ca028fd94ee79f062ea72e4117 + f8a177b7e715fc05ac5517b19f5a47616747255eca9ba554f604ae2a57b8382a: + version: f8a177b7e715fc05ac5517b19f5a47616747255eca9ba554f604ae2a57b8382a + blobstore_id: 9dffcd7c-468d-4fcd-5c77-cced188a9250 + sha1: sha256:fcd52a4aa72c64e33ba513208a318ad23eb0f1bcebf812f79d1fcf82b0dab53f ffeea66e873d248db5259be81d1c75fb39c3a9c54126d0e9c7353f877d285978: version: ffeea66e873d248db5259be81d1c75fb39c3a9c54126d0e9c7353f877d285978 blobstore_id: 7abeb7fb-4eba-4670-7586-a47f2876fcf7 diff --git a/.final_builds/packages/metricsforwarder/index.yml b/.final_builds/packages/metricsforwarder/index.yml index 687fb709a4..2097d8e0ef 100644 --- a/.final_builds/packages/metricsforwarder/index.yml +++ b/.final_builds/packages/metricsforwarder/index.yml @@ -223,6 +223,10 @@ builds: version: bd37a6533d722cbdd62fbd157eac3c21b5051ba9de02e6d39454b1c282bab86c blobstore_id: 207c6620-dd20-4868-4144-4561ca2a545c sha1: sha256:89a056d0ef9b613db1be7a4fbfedee11eda1aa46bd8c6b1479e04ff8d67acc7c + bd9587d942c3212ab6c759abc930b74ecff88523340083d4c5978ca7defd5922: + version: bd9587d942c3212ab6c759abc930b74ecff88523340083d4c5978ca7defd5922 + blobstore_id: 590e4f07-8c77-4ef6-4f67-35cad0ee3867 + sha1: sha256:da5a2be01bfec2738d6ada81e317f1ef6d115a4d201a5f7eae95492173add518 c00fd9bae6d6adcef352f99c28370aa8a4ee62843c3386e4413291c17175978c: version: c00fd9bae6d6adcef352f99c28370aa8a4ee62843c3386e4413291c17175978c blobstore_id: fece4e4e-e26a-4bf8-5848-dee159b5f386 diff --git a/.final_builds/packages/operator/index.yml b/.final_builds/packages/operator/index.yml index 92c7d83316..f3e35954bc 100644 --- a/.final_builds/packages/operator/index.yml +++ b/.final_builds/packages/operator/index.yml @@ -11,6 +11,10 @@ builds: version: 0342f7b0e6972be3227a252bb408419fa363c53f12429f483744c1b1393562f5 blobstore_id: bda0b89c-5664-40f3-42eb-5c160dd1a859 sha1: sha256:cd2a2f434c482f8d2ef342a292b97a6ce65fbe920003c88a7dea2f469c9659ad + 047135f3a50ab4b41f4f22223faf3c83461f7c6461bbc162bc6d60ca1d1fb95a: + version: 047135f3a50ab4b41f4f22223faf3c83461f7c6461bbc162bc6d60ca1d1fb95a + blobstore_id: 54a674dd-0183-465b-4c71-52a1bc6808d2 + sha1: sha256:04d4c91151b40380fdd9b3766de5a4c0f9d9ee6abdc11b503e5dfe40365e00c6 1362543cde6f1d898f821bd443ab32bb946ab56e3d2331d99bc313ad5a0cbb46: version: 1362543cde6f1d898f821bd443ab32bb946ab56e3d2331d99bc313ad5a0cbb46 blobstore_id: 65cc1424-43cc-4b49-7f78-2e5283eddfb3 diff --git a/.final_builds/packages/scalingengine/index.yml b/.final_builds/packages/scalingengine/index.yml index 2a55381813..74b857f5af 100644 --- a/.final_builds/packages/scalingengine/index.yml +++ b/.final_builds/packages/scalingengine/index.yml @@ -51,6 +51,10 @@ builds: version: 25983eae323bbe60cf9ea1fc8caa42c19cca736131ebda29d46b711eae0e4468 blobstore_id: e59d2e24-377f-4517-5f7f-69dfabb24bf1 sha1: sha256:8586836874c8d2c56054a9f0af9b3ca1c78e71171ca2975d274577200974d3a8 + 29c3fb582ceb60d0c82d07744514aebf48efdd6ea8a64dfb7af9d553fb1fdf00: + version: 29c3fb582ceb60d0c82d07744514aebf48efdd6ea8a64dfb7af9d553fb1fdf00 + blobstore_id: c5704f63-9d81-459c-4615-794162ff92b7 + sha1: sha256:bf30995ce61b1770f265f45d22f8997d796147682beb96e8e7ea971d44289c18 32f0f4668e07e6ac0234c1a94652103c382e32240a6e22a33dce9cbe3102fc59: version: 32f0f4668e07e6ac0234c1a94652103c382e32240a6e22a33dce9cbe3102fc59 blobstore_id: 91d0778a-2da6-4ea0-5972-09fb55fb099e diff --git a/.final_builds/packages/scheduler/index.yml b/.final_builds/packages/scheduler/index.yml index 53abd9d3ad..0e7de91cc6 100644 --- a/.final_builds/packages/scheduler/index.yml +++ b/.final_builds/packages/scheduler/index.yml @@ -151,6 +151,10 @@ builds: version: 6b0ba5e4ae62efecd41a92ee31532bd584ca54092e76ff7a2ea95bf5694b74dc blobstore_id: f77f2f00-32fd-43f8-4bfa-812ae58af30d sha1: sha256:8ef5e6c08d36c9fc8342c8ab6e20a3785c33133e616bce02546955f99482fa8f + 6bed20b0d3d1a8ab264106a7340f87b7fa0e7c08f5be0296743d63be85c78978: + version: 6bed20b0d3d1a8ab264106a7340f87b7fa0e7c08f5be0296743d63be85c78978 + blobstore_id: e574c45b-1fe7-45ba-40ba-65622eb0ad58 + sha1: sha256:87059b134a0a5e0b1fcd215bd2e93077819cee17535048dfea1f8f31f276736d 7137a5acad82d24cfa425acdbf3b869b6fade3b966548541886999cc96566993: version: 7137a5acad82d24cfa425acdbf3b869b6fade3b966548541886999cc96566993 blobstore_id: acda6090-b22a-4cf7-55fa-b72461a02a4b diff --git a/releases/app-autoscaler/app-autoscaler-15.0.0.yml b/releases/app-autoscaler/app-autoscaler-15.0.0.yml new file mode 100644 index 0000000000..52834cacea --- /dev/null +++ b/releases/app-autoscaler/app-autoscaler-15.0.0.yml @@ -0,0 +1,132 @@ +name: app-autoscaler +version: 15.0.0 +commit_hash: 0f5d366b0 +uncommitted_changes: false +jobs: +- name: eventgenerator + version: 7847d1815f5a07e785733f65251e30a5828e0f1290a4d410e5515a6a688f6a5b + fingerprint: 7847d1815f5a07e785733f65251e30a5828e0f1290a4d410e5515a6a688f6a5b + sha1: sha256:ff8b330978e34821cc1449b63819bbed7bd14c4d93c01412d16a89499051d05b + packages: + - openjdk-21 + - db + - eventgenerator + - common + - changeloglockcleaner +- name: golangapiserver + version: dedd38ec2340178eef0cbe9d3261c310435a50efe892ba5c8e687bb41dbd3418 + fingerprint: dedd38ec2340178eef0cbe9d3261c310435a50efe892ba5c8e687bb41dbd3418 + sha1: sha256:fcc528e4dbc6ed655acda55866e4fb792ca598f283510b85c4310d2c96510c32 + packages: + - golang-1-linux + - golangapiserver + - db + - openjdk-21 + - common + - changeloglockcleaner +- name: metricsforwarder + version: 41b12c8dcc3a4d7f57c7f190c13d0fcb78f0ed88c12f3b7f7df849dd02eb38f7 + fingerprint: 41b12c8dcc3a4d7f57c7f190c13d0fcb78f0ed88c12f3b7f7df849dd02eb38f7 + sha1: sha256:1ed008b40ffe634eb70ba8c6b2ea6571a368705ace7c5b7daa82484e7f3da761 + packages: + - db + - metricsforwarder + - common +- name: operator + version: 17db784fb4632092b031e5aead108ff3c9a8aa515dc70dc4f97c1482f77c30e3 + fingerprint: 17db784fb4632092b031e5aead108ff3c9a8aa515dc70dc4f97c1482f77c30e3 + sha1: sha256:ae9cc402e1d64bf9fc9b82a1d005000093e570fe10c18532bf2cd103ef44b2c3 + packages: + - operator + - common + - db + - openjdk-21 + - changeloglockcleaner +- name: scalingengine + version: e01697ef31fb88e3ea704c5edbed45997d884738882aab375ca432ecde345869 + fingerprint: e01697ef31fb88e3ea704c5edbed45997d884738882aab375ca432ecde345869 + sha1: sha256:6a7590dbccadbade635420ef3d9fb5bcbb7e334cb2677ff750f304e471316d19 + packages: + - openjdk-21 + - db + - scalingengine + - common + - changeloglockcleaner +- name: scheduler + version: 5c0db6476ec8ef2b3564f164658a7038221e160d982aad9cb806770ee2afdfa8 + fingerprint: 5c0db6476ec8ef2b3564f164658a7038221e160d982aad9cb806770ee2afdfa8 + sha1: sha256:a4be2218204fc5103dc22756009277988c2851a956873b5b4a0bc903be2abbb7 + packages: + - scheduler + - db + - openjdk-21 + - common + - changeloglockcleaner +packages: +- name: changeloglockcleaner + version: 51c69d838e62b623241d8c842e086f1261d09b02b6ce4f5866bb6d5b2c94bc71 + fingerprint: 51c69d838e62b623241d8c842e086f1261d09b02b6ce4f5866bb6d5b2c94bc71 + sha1: sha256:416145c7a248c01708cd36cd91a074d0b803d16ac708712ae1c3cd701ae38e8b + dependencies: + - golang-1-linux +- name: common + version: c5672108ea00b3612f31da4ac566aa0535510b0bc88b390fd0a5c50693b2439e + fingerprint: c5672108ea00b3612f31da4ac566aa0535510b0bc88b390fd0a5c50693b2439e + sha1: sha256:0fcc907e0419bf0925679a559f3c8a76a9e8034958c8688c25748d9088350c4c + dependencies: [] +- name: db + version: 0de6859ecf25537174a206402bbcf139d0acbbfa749a05a56960c41fb15b3c1c + fingerprint: 0de6859ecf25537174a206402bbcf139d0acbbfa749a05a56960c41fb15b3c1c + sha1: sha256:e938eaab8ac5601faf4c95702d8827d7433fc54e26f94899ecea8af9237359ae + dependencies: + - openjdk-21 +- name: eventgenerator + version: 5febc12f51d50aafb34687446854c23da28ee8bd573cd80579ad632a8aa420b2 + fingerprint: 5febc12f51d50aafb34687446854c23da28ee8bd573cd80579ad632a8aa420b2 + sha1: sha256:b996d2ac893dcf792d78fd4d2ba5b91750b78d2437fcbf8cd526e2a63b06f087 + dependencies: + - golang-1-linux +- name: golang-1-linux + version: 65e1dbda6b56080be4108e94c744f40bb2dca4caa417ab9fb376c2c353bdff1c + fingerprint: 65e1dbda6b56080be4108e94c744f40bb2dca4caa417ab9fb376c2c353bdff1c + sha1: sha256:7ce19cd8fc20ef9cb583ff20490067d7698c5608884140aaeb72bd6ad4298c0a + dependencies: [] +- name: golangapiserver + version: f8a177b7e715fc05ac5517b19f5a47616747255eca9ba554f604ae2a57b8382a + fingerprint: f8a177b7e715fc05ac5517b19f5a47616747255eca9ba554f604ae2a57b8382a + sha1: sha256:fcd52a4aa72c64e33ba513208a318ad23eb0f1bcebf812f79d1fcf82b0dab53f + dependencies: + - golang-1-linux +- name: metricsforwarder + version: bd9587d942c3212ab6c759abc930b74ecff88523340083d4c5978ca7defd5922 + fingerprint: bd9587d942c3212ab6c759abc930b74ecff88523340083d4c5978ca7defd5922 + sha1: sha256:da5a2be01bfec2738d6ada81e317f1ef6d115a4d201a5f7eae95492173add518 + dependencies: + - golang-1-linux +- name: openjdk-21 + version: e45cc7f365be6d9be193bbb9b64d8f8754774f831efd18d7e9d9af275c3c4def + fingerprint: e45cc7f365be6d9be193bbb9b64d8f8754774f831efd18d7e9d9af275c3c4def + sha1: sha256:434ae686813536fe08a5a7d83d287dbcac0af3e4da0927062dc55fec8f3aa08a + dependencies: [] +- name: operator + version: 047135f3a50ab4b41f4f22223faf3c83461f7c6461bbc162bc6d60ca1d1fb95a + fingerprint: 047135f3a50ab4b41f4f22223faf3c83461f7c6461bbc162bc6d60ca1d1fb95a + sha1: sha256:04d4c91151b40380fdd9b3766de5a4c0f9d9ee6abdc11b503e5dfe40365e00c6 + dependencies: + - golang-1-linux +- name: scalingengine + version: 29c3fb582ceb60d0c82d07744514aebf48efdd6ea8a64dfb7af9d553fb1fdf00 + fingerprint: 29c3fb582ceb60d0c82d07744514aebf48efdd6ea8a64dfb7af9d553fb1fdf00 + sha1: sha256:bf30995ce61b1770f265f45d22f8997d796147682beb96e8e7ea971d44289c18 + dependencies: + - golang-1-linux +- name: scheduler + version: 6bed20b0d3d1a8ab264106a7340f87b7fa0e7c08f5be0296743d63be85c78978 + fingerprint: 6bed20b0d3d1a8ab264106a7340f87b7fa0e7c08f5be0296743d63be85c78978 + sha1: sha256:87059b134a0a5e0b1fcd215bd2e93077819cee17535048dfea1f8f31f276736d + dependencies: + - openjdk-21 +license: + version: 15eb386a0db48f190d29bd28058f5d0d6605f5acde7c6cfc6f014d57747e41f9 + fingerprint: 15eb386a0db48f190d29bd28058f5d0d6605f5acde7c6cfc6f014d57747e41f9 + sha1: sha256:6c7a834097b96efc340787fbe5876c1e366de0235def5e2b93fa016c8655535c diff --git a/releases/app-autoscaler/index.yml b/releases/app-autoscaler/index.yml index 272d3315c7..c1d96d89bb 100644 --- a/releases/app-autoscaler/index.yml +++ b/releases/app-autoscaler/index.yml @@ -19,6 +19,8 @@ builds: version: 14.1.5 16819cc6-96db-4762-6c99-d063a0e63ef9: version: 11.4.2 + 180c0c81-e0f0-4e0e-5f9d-6b269d9e32bc: + version: 15.0.0 185fc36f-1155-46c1-60d8-077250defef0: version: 14.1.2 1cd42334-e708-43e9-70fe-d4d0a9a8a1a6: From 684e878f79aefe3739f5511210e3a1f45811a9c3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Jan 2025 16:30:40 +0100 Subject: [PATCH 24/27] chore(deps): update docker/build-push-action digest to 67a2d40 (#3452) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/image.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/image.yaml b/.github/workflows/image.yaml index 1d66b3ca81..7bf41804f3 100644 --- a/.github/workflows/image.yaml +++ b/.github/workflows/image.yaml @@ -63,7 +63,7 @@ jobs: - name: Build and push id: build-and-push - uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6 + uses: docker/build-push-action@67a2d409c0a876cbe6b11854e3e25193efe4e62d # v6 with: context: ci/dockerfiles/autoscaler-${{ matrix.image_suffix }} push: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} From fefd6d103d1a99274bc201ff258f62f3c17cf476 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 17 Jan 2025 13:59:10 +0100 Subject: [PATCH 25/27] chore(deps): update reviewdog/action-shellcheck digest to 6e0e63d (#3454) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/linters.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linters.yaml b/.github/workflows/linters.yaml index f8bd869af1..5b6b2c5072 100644 --- a/.github/workflows/linters.yaml +++ b/.github/workflows/linters.yaml @@ -25,7 +25,7 @@ jobs: run: | make lint-go - name: shellcheck - uses: reviewdog/action-shellcheck@22f96e34e9185b642c5567cc26d1df952f5c9d10 # v1 + uses: reviewdog/action-shellcheck@6e0e63d1750d02d761b3df0f2c5ba9f9ac4a9ed7 # v1 with: reporter: github-pr-review - name: actionlint From 93a942e0e018e736e1ffc52f9f9f952300343bfb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 17 Jan 2025 14:07:29 +0000 Subject: [PATCH 26/27] chore(deps): update google.golang.org/genproto digest to 1a7da9e (#3453) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update google.golang.org/genproto digest to 1a7da9e * 🤖🦾🛠️ go mod tidy & make package-specs --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- src/autoscaler/go.mod | 8 ++++---- src/autoscaler/go.sum | 30 +++++++++++++++--------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/autoscaler/go.mod b/src/autoscaler/go.mod index 4f276031d9..e951125ed7 100644 --- a/src/autoscaler/go.mod +++ b/src/autoscaler/go.mod @@ -49,7 +49,7 @@ require ( gopkg.in/yaml.v3 v3.0.1 ) -replace google.golang.org/genproto => google.golang.org/genproto v0.0.0-20250106144421-5f5ef82da422 +replace google.golang.org/genproto => google.golang.org/genproto v0.0.0-20250115164207-1a7da9e5054f require ( code.cloudfoundry.org/go-diodes v0.0.0-20241202111822-779c0b5a3368 // indirect @@ -100,8 +100,8 @@ require ( golang.org/x/sys v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/tools v0.28.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d // indirect - google.golang.org/protobuf v1.36.1 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250106144421-5f5ef82da422 // indirect + google.golang.org/protobuf v1.36.3 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/src/autoscaler/go.sum b/src/autoscaler/go.sum index 81a4a6f8ac..e3c1fab131 100644 --- a/src/autoscaler/go.sum +++ b/src/autoscaler/go.sum @@ -52,7 +52,7 @@ cloud.google.com/go v0.118.0/go.mod h1:zIt2pkedt/mo+DQjcT4/L3NDxzHPR29j5HcclNH+9 cloud.google.com/go/accessapproval v1.8.3/go.mod h1:3speETyAv63TDrDmo5lIkpVueFkQcQchkiw/TAMbBo4= cloud.google.com/go/accesscontextmanager v1.9.2/go.mod h1:T0Sw/PQPyzctnkw1pdmGAKb7XBA84BqQzH0fSU7wzJU= cloud.google.com/go/accesscontextmanager v1.9.3/go.mod h1:S1MEQV5YjkAKBoMekpGrkXKfrBdsi4x6Dybfq6gZ8BU= -cloud.google.com/go/aiplatform v1.69.0/go.mod h1:nUsIqzS3khlnWvpjfJbP+2+h+VrFyYsTm7RNCAViiY8= +cloud.google.com/go/aiplatform v1.70.0/go.mod h1:1cewyC4h+yvRs0qVvlCuU3V6j1pJ41doIcroYX3uv8o= cloud.google.com/go/analytics v0.25.3/go.mod h1:pWoYg4yEr0iYg83LZRAicjDDdv54+Z//RyhzWwKbavI= cloud.google.com/go/apigateway v1.7.3/go.mod h1:uK0iRHdl2rdTe79bHW/bTsKhhXPcFihjUdb7RzhTPf4= cloud.google.com/go/apigeeconnect v1.7.3/go.mod h1:2ZkT5VCAqhYrDqf4dz7lGp4N/+LeNBSfou8Qs5bIuSg= @@ -144,7 +144,7 @@ cloud.google.com/go/contactcenterinsights v1.17.1/go.mod h1:n8OiNv7buLA2AkGVkfuv cloud.google.com/go/container v1.42.1/go.mod h1:5huIxYuOD8Ocuj0KbcyRq9MzB3J1mQObS0KSWHTYceY= cloud.google.com/go/containeranalysis v0.13.3/go.mod h1:0SYnagA1Ivb7qPqKNYPkCtphhkJn3IzgaSp3mj+9XAY= cloud.google.com/go/datacatalog v1.23.0/go.mod h1:9Wamq8TDfL2680Sav7q3zEhBJSPBrDxJU8WtPJ25dBM= -cloud.google.com/go/datacatalog v1.24.2/go.mod h1:NfsHGaJHBi3s0X7jQ64VIj4Zwp7e5Vlyh51Eo2LNbA4= +cloud.google.com/go/datacatalog v1.24.3/go.mod h1:Z4g33XblDxWGHngDzcpfeOU0b1ERlDPTuQoYG6NkF1s= cloud.google.com/go/dataflow v0.10.3/go.mod h1:5EuVGDh5Tg4mDePWXMMGAG6QYAQhLNyzxdNQ0A1FfW4= cloud.google.com/go/dataform v0.10.3/go.mod h1:8SruzxHYCxtvG53gXqDZvZCx12BlsUchuV/JQFtyTCw= cloud.google.com/go/datafusion v1.8.3/go.mod h1:hyglMzE57KRf0Rf/N2VRPcHCwKfZAAucx+LATY6Jc6Q= @@ -166,7 +166,7 @@ cloud.google.com/go/errorreporting v0.3.2/go.mod h1:s5kjs5r3l6A8UUyIsgvAhGq6tkqy cloud.google.com/go/essentialcontacts v1.7.3/go.mod h1:uimfZgDbhWNCmBpwUUPHe4vcMY2azsq/axC9f7vZFKI= cloud.google.com/go/eventarc v1.15.1/go.mod h1:K2luolBpwaVOujZQyx6wdG4n2Xum4t0q1cMBmY1xVyI= cloud.google.com/go/filestore v1.9.3/go.mod h1:Me0ZRT5JngT/aZPIKpIK6N4JGMzrFHRtGHd9ayUS4R4= -cloud.google.com/go/firestore v1.17.0/go.mod h1:69uPx1papBsY8ZETooc71fOhoKkD70Q1DwMrtKuOT/Y= +cloud.google.com/go/firestore v1.18.0/go.mod h1:5ye0v48PhseZBdcl0qbl3uttu7FIEwEYVaWm0UIEOEU= cloud.google.com/go/functions v1.19.3/go.mod h1:nOZ34tGWMmwfiSJjoH/16+Ko5106x+1Iji29wzrBeOo= cloud.google.com/go/gkebackup v1.6.3/go.mod h1:JJzGsA8/suXpTDtqI7n9RZW97PXa2CIp+n8aRC/y57k= cloud.google.com/go/gkeconnect v0.12.1/go.mod h1:L1dhGY8LjINmWfR30vneozonQKRSIi5DWGIHjOqo58A= @@ -196,7 +196,7 @@ cloud.google.com/go/ids v1.5.3/go.mod h1:a2MX8g18Eqs7yxD/pnEdid42SyBUm9LIzSWf8Ju cloud.google.com/go/iot v1.8.3/go.mod h1:dYhrZh+vUxIQ9m3uajyKRSW7moF/n0rYmA2PhYAkMFE= cloud.google.com/go/kms v1.15.8/go.mod h1:WoUHcDjD9pluCg7pNds131awnH429QGvRM3N/4MyoVs= cloud.google.com/go/kms v1.20.1/go.mod h1:LywpNiVCvzYNJWS9JUcGJSVTNSwPwi0vBAotzDqn2nc= -cloud.google.com/go/kms v1.20.4/go.mod h1:gPLsp1r4FblUgBYPOcvI/bUPpdMg2Jm1ZVKU4tQUfcc= +cloud.google.com/go/kms v1.20.5/go.mod h1:C5A8M1sv2YWYy1AE6iSrnddSG9lRGdJq5XEdBy28Lmw= cloud.google.com/go/language v1.14.3/go.mod h1:hjamj+KH//QzF561ZuU2J+82DdMlFUjmiGVWpovGGSA= cloud.google.com/go/lifesciences v0.10.3/go.mod h1:hnUUFht+KcZcliixAg+iOh88FUwAzDQQt5tWd7iIpNg= cloud.google.com/go/logging v1.13.0/go.mod h1:36CoKh6KA/M0PbhPKMq6/qety2DCAErbhXT62TuXALA= @@ -237,7 +237,7 @@ cloud.google.com/go/osconfig v1.14.3/go.mod h1:9D2MS1Etne18r/mAeW5jtto3toc9H1qu9 cloud.google.com/go/oslogin v1.14.3/go.mod h1:fDEGODTG/W9ZGUTHTlMh8euXWC1fTcgjJ9Kcxxy14a8= cloud.google.com/go/phishingprotection v0.9.3/go.mod h1:ylzN9HruB/X7dD50I4sk+FfYzuPx9fm5JWsYI0t7ncc= cloud.google.com/go/policytroubleshooter v1.11.3/go.mod h1:AFHlORqh4AnMC0twc2yPKfzlozp3DO0yo9OfOd9aNOs= -cloud.google.com/go/privatecatalog v0.10.3/go.mod h1:72f485zfjkP46EcsXMsjRKssB7feo3pwykwSJx2bhcE= +cloud.google.com/go/privatecatalog v0.10.4/go.mod h1:n/vXBT+Wq8B4nSRUJNDsmqla5BYjbVxOlHzS6PjiF+w= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -245,7 +245,7 @@ cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjp cloud.google.com/go/pubsub v1.38.0/go.mod h1:IPMJSWSus/cu57UyR01Jqa/bNOQA+XnPF6Z4dKW4fAA= cloud.google.com/go/pubsub v1.45.3/go.mod h1:cGyloK/hXC4at7smAtxFnXprKEFTqmMXNNd9w+bd94Q= cloud.google.com/go/pubsublite v1.8.2/go.mod h1:4r8GSa9NznExjuLPEJlF1VjOPOpgf3IT6k8x/YgaOPI= -cloud.google.com/go/recaptchaenterprise/v2 v2.19.2/go.mod h1:hlKYMCYcyREgABerHpEQR9XeiCNqbsj3OU79MqLntgA= +cloud.google.com/go/recaptchaenterprise/v2 v2.19.3/go.mod h1:ZnQ14+5i27Vy4iWjiUyKjkFHnkSYZQMBMy1xIp6j2SM= cloud.google.com/go/recommendationengine v0.9.3/go.mod h1:QRnX5aM7DCvtqtSs7I0zay5Zfq3fzxqnsPbZF7pa1G8= cloud.google.com/go/recommender v1.13.3/go.mod h1:6yAmcfqJRKglZrVuTHsieTFEm4ai9JtY3nQzmX4TC0Q= cloud.google.com/go/redis v1.17.3/go.mod h1:23OoThXAU5bvhg4/oKsEcdVfq3wmyTEPNA9FP/t9xGo= @@ -280,8 +280,8 @@ cloud.google.com/go/storage v1.40.0/go.mod h1:Rrj7/hKlG87BLqDJYtwR0fbPld8uJPbQ2u cloud.google.com/go/storage v1.41.0/go.mod h1:J1WCa/Z2FcgdEDuPUY8DxT5I+d9mFKsCepp5vR6Sq80= cloud.google.com/go/storage v1.43.0/go.mod h1:ajvxEa7WmZS1PxvKRq4bq0tFT3vMd502JwstCcYv0Q0= cloud.google.com/go/storagetransfer v1.12.1/go.mod h1:hQqbfs8/LTmObJyCC0KrlBw8yBJ2bSFlaGila0qBMk4= -cloud.google.com/go/talent v1.7.3/go.mod h1:6HhwxYxAtL6eKzcUMJ8reliQPUpay3/L6JZll4cS/vE= -cloud.google.com/go/texttospeech v1.10.1/go.mod h1:FJ9HdePKBJXF8wU/1xjLHjBipjyre6uWoSTLMh4A1yM= +cloud.google.com/go/talent v1.8.0/go.mod h1:/gvOzSrtMcfTL/9xWhdYaZATaxUNhQ+L+3ZaGOGs7bA= +cloud.google.com/go/texttospeech v1.11.0/go.mod h1:7M2ro3I2QfIEvArFk1TJ+pqXJqhszDtxUpnIv/150As= cloud.google.com/go/tpu v1.7.3/go.mod h1:jZJET6Hp4VKRFHf+ABHVXW4mq1az4ZYHDLBKb5mYAWE= cloud.google.com/go/trace v1.11.3/go.mod h1:pt7zCYiDSQjC9Y2oqCsh9jF4GStB/hmjrYLsxRR27q8= cloud.google.com/go/translate v1.10.3/go.mod h1:GW0vC1qvPtd3pgtypCv4k4U8B7EdgK9/QEF2aJEUovs= @@ -1576,7 +1576,7 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= -google.golang.org/genproto v0.0.0-20250106144421-5f5ef82da422/go.mod h1:1NPAxoesyw/SgLPqaUp9u1f9PWCLAk/jVmhx7gJZStg= +google.golang.org/genproto v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:0joYwWwLQh18AOj8zMYeZLjzuqcYTU3/nC5JdCvC3JI= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= @@ -1615,8 +1615,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go. google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:dguCy7UOdZhTvLzDyt15+rOrawrpM4q7DD9dQ1P11P4= google.golang.org/genproto/googleapis/api v0.0.0-20241113202542-65e8d215514f/go.mod h1:Yo94eF2nj7igQt+TiJ49KxjIH8ndLYPZMIRSiRcEbg0= google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697/go.mod h1:+D9ySVjN8nY8YCVjc5O7PZDIdZporIDY3KaGfJunh88= -google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d h1:H8tOf8XM88HvKqLTxe755haY6r1fqqzLbEnfrmLXlSA= -google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d/go.mod h1:2v7Z7gP2ZUOGsaFyxATQSRoBnKygqVq2Cwnvom7QiqY= +google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24= +google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:+34luvCflYKiKylNwGJfn9cFBbcL/WrkciMmDmsTQ/A= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= @@ -1702,9 +1702,9 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20241113202542-65e8d215514f/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8/go.mod h1:lcTa1sDdWEIHMWlITnIczmw5w60CF9ffkb8Z+DVmmjA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d h1:xJJRGY7TJcvIlpSrN3K6LAWgNFUILlO+OMAqtg9aqnw= google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d/go.mod h1:3ENsm/5D1mzDyhpzeRi1NR784I0BcofWBoSc5QqqMK4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250106144421-5f5ef82da422 h1:3UsHvIr4Wc2aW4brOaSCmcxh9ksica6fHEr8P1XhkYw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250106144421-5f5ef82da422/go.mod h1:3ENsm/5D1mzDyhpzeRi1NR784I0BcofWBoSc5QqqMK4= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1797,9 +1797,9 @@ google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHh google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= +google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From 3c673c76da2b3809463d9a711279772fa4e30ecc Mon Sep 17 00:00:00 2001 From: Silvestre Zabala Date: Fri, 17 Jan 2025 17:14:32 +0100 Subject: [PATCH 27/27] chore(scheduler): Replace deprectated Mockito annotations # Issue ``` Warning: /__w/app-autoscaler-release/app-autoscaler-release/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/service/ScheduleManagerTest.java:[94,4] org.springframework.boot.test.mock.mockito.SpyBean in org.springframework.boot.test.mock.mockito has been deprecated and marked for removal ``` # Fix Run [Replace `@MockBean` and `@SpyBean` ](https://docs.openrewrite.org/recipes/java/boot3/replacemockbeanandspybean) OpenRewrite recipe: ``` $ mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-spring:RELEASE -Drewrite.exportDatatables=true -Drewrite.activeRecipes=org.openrewrite.java.spring.boot3.ReplaceMockBeanAndSpyBean ``` --- .../dao/ActiveScheduleDaoImplFailureTest.java | 4 ++-- .../quartz/AppScalingScheduleJobTest.java | 10 +++++----- .../rest/ScheduleRestControllerTest.java | 6 +++--- .../rest/ScheduleSyncRestControllerTest.java | 6 +++--- .../service/ScheduleJobManagerTest.java | 6 +++--- .../scheduler/service/ScheduleManagerTest.java | 16 ++++++++-------- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/dao/ActiveScheduleDaoImplFailureTest.java b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/dao/ActiveScheduleDaoImplFailureTest.java index d3eb3a8ee7..b8a479ed0a 100644 --- a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/dao/ActiveScheduleDaoImplFailureTest.java +++ b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/dao/ActiveScheduleDaoImplFailureTest.java @@ -15,7 +15,7 @@ import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.SpyBean; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @@ -24,7 +24,7 @@ public class ActiveScheduleDaoImplFailureTest { @Autowired private ActiveScheduleDao activeScheduleDao; - @SpyBean private DataSource dataSource; + @MockitoSpyBean private DataSource dataSource; @Autowired TestDataDbUtil testDataDbUtil; diff --git a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/quartz/AppScalingScheduleJobTest.java b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/quartz/AppScalingScheduleJobTest.java index d4a965693d..22d9bd3d62 100644 --- a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/quartz/AppScalingScheduleJobTest.java +++ b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/quartz/AppScalingScheduleJobTest.java @@ -47,10 +47,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.context.ApplicationContext; import org.springframework.http.HttpEntity; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.client.ResourceAccessException; import org.springframework.web.client.RestOperations; @@ -62,9 +62,9 @@ public class AppScalingScheduleJobTest { private static EmbeddedTomcatUtil embeddedTomcatUtil; @Autowired private MessageBundleResourceHelper messageBundleResourceHelper; private Scheduler memScheduler; - @MockBean private Scheduler scheduler; - @MockBean private ActiveScheduleDao activeScheduleDao; - @SpyBean private RestOperations restOperations; + @MockitoBean private Scheduler scheduler; + @MockitoBean private ActiveScheduleDao activeScheduleDao; + @MockitoSpyBean private RestOperations restOperations; @Autowired private TestDataDbUtil testDataDbUtil; @Autowired private ApplicationContext applicationContext; diff --git a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/rest/ScheduleRestControllerTest.java b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/rest/ScheduleRestControllerTest.java index 6251de0c51..bc4fc1881b 100644 --- a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/rest/ScheduleRestControllerTest.java +++ b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/rest/ScheduleRestControllerTest.java @@ -38,10 +38,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext.ClassMode; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; @@ -54,9 +54,9 @@ @DirtiesContext(classMode = ClassMode.BEFORE_CLASS) public class ScheduleRestControllerTest { - @MockBean private Scheduler scheduler; + @MockitoBean private Scheduler scheduler; - @MockBean private ActiveScheduleDao activeScheduleDao; + @MockitoBean private ActiveScheduleDao activeScheduleDao; @Autowired private SpecificDateScheduleDao specificDateScheduleDao; diff --git a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/rest/ScheduleSyncRestControllerTest.java b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/rest/ScheduleSyncRestControllerTest.java index 14806e4f00..61d2ac06aa 100644 --- a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/rest/ScheduleSyncRestControllerTest.java +++ b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/rest/ScheduleSyncRestControllerTest.java @@ -21,9 +21,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext.ClassMode; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; @@ -35,9 +35,9 @@ @DirtiesContext(classMode = ClassMode.BEFORE_CLASS) public class ScheduleSyncRestControllerTest { - @MockBean private Scheduler scheduler; + @MockitoBean private Scheduler scheduler; - @MockBean private ActiveScheduleDao activeScheduleDao; + @MockitoBean private ActiveScheduleDao activeScheduleDao; @Autowired private TestDataDbUtil testDataDbUtil; diff --git a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/service/ScheduleJobManagerTest.java b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/service/ScheduleJobManagerTest.java index 72358fa67e..e7ce0a6164 100644 --- a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/service/ScheduleJobManagerTest.java +++ b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/service/ScheduleJobManagerTest.java @@ -55,16 +55,16 @@ import org.quartz.TriggerKey; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class ScheduleJobManagerTest { - @MockBean private Scheduler scheduler; + @MockitoBean private Scheduler scheduler; - @MockBean private ActiveScheduleDao activeScheduleDao; + @MockitoBean private ActiveScheduleDao activeScheduleDao; @Autowired private ScheduleJobManager scheduleJobManager; diff --git a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/service/ScheduleManagerTest.java b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/service/ScheduleManagerTest.java index eef163249f..9988017009 100644 --- a/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/service/ScheduleManagerTest.java +++ b/src/scheduler/src/test/java/org/cloudfoundry/autoscaler/scheduler/service/ScheduleManagerTest.java @@ -58,10 +58,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.client.ExpectedCount; import org.springframework.test.web.client.MockRestServiceServer; @@ -75,15 +75,15 @@ public class ScheduleManagerTest { @Autowired private ScheduleManager scheduleManager; - @MockBean private PolicyJsonDao policyJsonDao; + @MockitoBean private PolicyJsonDao policyJsonDao; - @MockBean private SpecificDateScheduleDao specificDateScheduleDao; + @MockitoBean private SpecificDateScheduleDao specificDateScheduleDao; - @MockBean private RecurringScheduleDao recurringScheduleDao; + @MockitoBean private RecurringScheduleDao recurringScheduleDao; - @MockBean private ActiveScheduleDao activeScheduleDao; + @MockitoBean private ActiveScheduleDao activeScheduleDao; - @MockBean private ScheduleJobManager scheduleJobManager; + @MockitoBean private ScheduleJobManager scheduleJobManager; @Autowired private MessageBundleResourceHelper messageBundleResourceHelper; @@ -91,7 +91,7 @@ public class ScheduleManagerTest { @Autowired private TestDataDbUtil testDataDbUtil; - @SpyBean private RestOperations restOperations; + @MockitoSpyBean private RestOperations restOperations; @Value("${autoscaler.scalingengine.url}") private String scalingEngineUrl;