From 7d3432899890a84a2e745932a2f88ef53e75282a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 17:08:10 +0000 Subject: [PATCH 01/33] chore(deps-dev): bump babel-jest from 29.0.2 to 29.0.3 in /ui (#9604) Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 29.0.2 to 29.0.3. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v29.0.3/packages/babel-jest) --- updated-dependencies: - dependency-name: babel-jest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 64 ++++++++++++++++++++++++------------------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/ui/package.json b/ui/package.json index 6ae8656002e9..28a1589f4371 100644 --- a/ui/package.json +++ b/ui/package.json @@ -59,7 +59,7 @@ "@types/react-router-dom": "^4.2.3", "@types/superagent": "^4.1.15", "@types/swagger-ui-react": "^4.11.0", - "babel-jest": "^29.0.2", + "babel-jest": "^29.0.3", "babel-loader": "^8.2.5", "copy-webpack-plugin": "^5.1.2", "copyfiles": "^2.4.1", diff --git a/ui/yarn.lock b/ui/yarn.lock index 424e81a2b5ba..42120cd24d25 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1274,22 +1274,22 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/transform@^29.0.2": - version "29.0.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.0.2.tgz#eef90ebd939b68bf2c2508d9e914377871869146" - integrity sha512-lajVQx2AnsR+Pa17q2zR7eikz2PkPs1+g/qPbZkqQATeS/s6eT55H+yHcsLfuI/0YQ/4VSBepSu3bOX+44q0aA== +"@jest/transform@^29.0.3": + version "29.0.3" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.0.3.tgz#9eb1fed2072a0354f190569807d1250572fb0970" + integrity sha512-C5ihFTRYaGDbi/xbRQRdbo5ddGtI4VSpmL6AIcZxdhwLbXMa7PcXxxqyI91vGOFHnn5aVM3WYnYKCHEqmLVGzg== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^29.0.2" + "@jest/types" "^29.0.3" "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^29.0.2" + jest-haste-map "^29.0.3" jest-regex-util "^29.0.0" - jest-util "^29.0.2" + jest-util "^29.0.3" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" @@ -1306,10 +1306,10 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@jest/types@^29.0.2": - version "29.0.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.0.2.tgz#5a5391fa7f7f41bf4b201d6d2da30e874f95b6c1" - integrity sha512-5WNMesBLmlkt1+fVkoCjHa0X3i3q8zc4QLTDkdHgCa2gyPZc7rdlZBWgVLqwS1860ZW5xJuCDwAzqbGaXIr/ew== +"@jest/types@^29.0.3": + version "29.0.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.0.3.tgz#0be78fdddb1a35aeb2041074e55b860561c8ef63" + integrity sha512-coBJmOQvurXjN1Hh5PzF7cmsod0zLIOXpP8KD161mqNlroMhLcwpODiEzi7ZsRl5Z/AIuxpeNm8DCl43F4kz8A== dependencies: "@jest/schemas" "^29.0.0" "@types/istanbul-lib-coverage" "^2.0.0" @@ -2417,12 +2417,12 @@ babel-jest@^26.6.3: graceful-fs "^4.2.4" slash "^3.0.0" -babel-jest@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.0.2.tgz#7efde496c07607949e9be499bf277aa1543ded95" - integrity sha512-yTu4/WSi/HzarjQtrJSwV+/0maoNt+iP0DmpvFJdv9yY+5BuNle8TbheHzzcSWj5gIHfuhpbLYHWRDYhWKyeKQ== +babel-jest@^29.0.3: + version "29.0.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.0.3.tgz#64e156a47a77588db6a669a88dedff27ed6e260f" + integrity sha512-ApPyHSOhS/sVzwUOQIWJmdvDhBsMG01HX9z7ogtkp1TToHGGUWFlnXJUIzCgKPSfiYLn3ibipCYzsKSURHEwLg== dependencies: - "@jest/transform" "^29.0.2" + "@jest/transform" "^29.0.3" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" babel-preset-jest "^29.0.2" @@ -5712,20 +5712,20 @@ jest-haste-map@^26.6.2: optionalDependencies: fsevents "^2.1.2" -jest-haste-map@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.0.2.tgz#cac403a595e6e43982c9776b5c4dae63e38b22c5" - integrity sha512-SOorh2ysQ0fe8gsF4gaUDhoMIWAvi2hXOkwThEO48qT3JqA8GLAUieQcIvdSEd6M0scRDe1PVmKc5tXR3Z0U0A== +jest-haste-map@^29.0.3: + version "29.0.3" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.0.3.tgz#d7f3f7180f558d760eacc5184aac5a67f20ef939" + integrity sha512-uMqR99+GuBHo0RjRhOE4iA6LmsxEwRdgiIAQgMU/wdT2XebsLDz5obIwLZm/Psj+GwSEQhw9AfAVKGYbh2G55A== dependencies: - "@jest/types" "^29.0.2" + "@jest/types" "^29.0.3" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" jest-regex-util "^29.0.0" - jest-util "^29.0.2" - jest-worker "^29.0.2" + jest-util "^29.0.3" + jest-worker "^29.0.3" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: @@ -5935,12 +5935,12 @@ jest-util@^26.1.0, jest-util@^26.6.2: is-ci "^2.0.0" micromatch "^4.0.2" -jest-util@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.0.2.tgz#c75c5cab7f3b410782f9570a60c5558b5dfb6e3a" - integrity sha512-ozk8ruEEEACxqpz0hN9UOgtPZS0aN+NffwQduR5dVlhN+eN47vxurtvgZkYZYMpYrsmlAEx1XabkB3BnN0GfKQ== +jest-util@^29.0.3: + version "29.0.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.0.3.tgz#06d1d77f9a1bea380f121897d78695902959fbc0" + integrity sha512-Q0xaG3YRG8QiTC4R6fHjHQPaPpz9pJBEi0AeOE4mQh/FuWOijFjGXMMOfQEaU9i3z76cNR7FobZZUQnL6IyfdQ== dependencies: - "@jest/types" "^29.0.2" + "@jest/types" "^29.0.3" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" @@ -5981,10 +5981,10 @@ jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.0.2.tgz#46c9f2cb9a19663d22babbacf998e4b5d7c46574" - integrity sha512-EyvBlYcvd2pg28yg5A3OODQnqK9LI1kitnGUZUG5/NYIeaRgewtYBKB5wlr7oXj8zPCkzev7EmnTCsrXK7V+Xw== +jest-worker@^29.0.3: + version "29.0.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.0.3.tgz#c2ba0aa7e41eec9eb0be8e8a322ae6518df72647" + integrity sha512-Tl/YWUugQOjoTYwjKdfJWkSOfhufJHO5LhXTSZC3TRoQKO+fuXnZAdoXXBlpLXKGODBL3OvdUasfDD4PcMe6ng== dependencies: "@types/node" "*" merge-stream "^2.0.0" From 4ab943528c8e1b510549e9c860c03adb8893e96b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 17:12:47 +0000 Subject: [PATCH 02/33] chore(deps): bump google.golang.org/api from 0.95.0 to 0.96.0 (#9600) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.95.0 to 0.96.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.95.0...v0.96.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 1248b3716fde..00dc18d6fab0 100644 --- a/go.mod +++ b/go.mod @@ -52,11 +52,11 @@ require ( github.com/xeipuuv/gojsonschema v1.2.0 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa golang.org/x/exp v0.0.0-20220602145555-4a0574d9293f - golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b + golang.org/x/net v0.0.0-20220909164309-bea034e7d591 golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094 golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 - google.golang.org/api v0.95.0 + google.golang.org/api v0.96.0 google.golang.org/genproto v0.0.0-20220810155839-1856144b1d9c google.golang.org/grpc v1.48.0 gopkg.in/go-playground/webhooks.v5 v5.17.0 diff --git a/go.sum b/go.sum index 50bb5faf65f0..cfea20da2ee0 100644 --- a/go.sum +++ b/go.sum @@ -1678,8 +1678,9 @@ golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b h1:ZmngSVLe/wycRns9MKikG9OWIEjGcGAkacif7oYQaUY= golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591 h1:D0B/7al0LLrVC8aWF4+oxpv/m8bc7ViFfVS8/gXGdqI= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= 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= @@ -1848,7 +1849,6 @@ golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10 h1:WIoqL4EROvwiPdUtaip4VcDdpZ4kha7wBWZrbVKCIZg= @@ -2037,8 +2037,8 @@ google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69 google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= -google.golang.org/api v0.95.0 h1:d1c24AAS01DYqXreBeuVV7ewY/U8Mnhh47pwtsgVtYg= -google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0 h1:F60cuQPJq7K7FzsxMYHAUJSiXh2oKctHxBMbDygxhfM= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= 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= From 4e430ecd88d26c89b0fa38b7962d40dd09e9695e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 17:14:10 +0000 Subject: [PATCH 03/33] chore(deps-dev): bump @babel/preset-env from 7.19.0 to 7.19.1 in /ui (#9605) Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.19.0 to 7.19.1. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.19.1/packages/babel-preset-env) --- updated-dependencies: - dependency-name: "@babel/preset-env" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 129 +++++++++++++++++------------------------------- 2 files changed, 47 insertions(+), 84 deletions(-) diff --git a/ui/package.json b/ui/package.json index 28a1589f4371..72601ed84024 100644 --- a/ui/package.json +++ b/ui/package.json @@ -41,7 +41,7 @@ }, "devDependencies": { "@babel/core": "^7.19.1", - "@babel/preset-env": "^7.19.0", + "@babel/preset-env": "^7.19.1", "@fortawesome/fontawesome-free": "^6.2.0", "@types/chart.js": "^2.9.24", "@types/classnames": "^2.3.1", diff --git a/ui/yarn.lock b/ui/yarn.lock index 42120cd24d25..204c645a7c44 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -51,12 +51,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86" - integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw== - -"@babel/compat-data@^7.19.1": +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.1.tgz#72d647b4ff6a4f82878d184613353af1dd0290f9" integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== @@ -145,10 +140,10 @@ "@babel/helper-annotate-as-pure" "^7.18.6" regexpu-core "^5.1.0" -"@babel/helper-define-polyfill-provider@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073" - integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg== +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== dependencies: "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" @@ -389,10 +384,10 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz#cf5740194f170467df20581712400487efc79ff1" - integrity sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ== +"@babel/plugin-proposal-async-generator-functions@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" + integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-plugin-utils" "^7.19.0" @@ -787,10 +782,10 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz#58c52422e4f91a381727faed7d513c89d7f41ada" - integrity sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ== +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" + integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.19.0" "@babel/helper-plugin-utils" "^7.19.0" @@ -890,18 +885,18 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.0.tgz#fd18caf499a67d6411b9ded68dc70d01ed1e5da7" - integrity sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ== +"@babel/preset-env@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.1.tgz#9f04c916f9c0205a48ebe5cc1be7768eb1983f67" + integrity sha512-c8B2c6D16Lp+Nt6HcD+nHl0VbPKVnNPTpszahuxJJnurfMtKeZ80A+qUv48Y7wqvS+dTFuLuaM9oYxyNHbCLWA== dependencies: - "@babel/compat-data" "^7.19.0" - "@babel/helper-compilation-targets" "^7.19.0" + "@babel/compat-data" "^7.19.1" + "@babel/helper-compilation-targets" "^7.19.1" "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.19.0" + "@babel/plugin-proposal-async-generator-functions" "^7.19.1" "@babel/plugin-proposal-class-properties" "^7.18.6" "@babel/plugin-proposal-class-static-block" "^7.18.6" "@babel/plugin-proposal-dynamic-import" "^7.18.6" @@ -949,7 +944,7 @@ "@babel/plugin-transform-modules-commonjs" "^7.18.6" "@babel/plugin-transform-modules-systemjs" "^7.19.0" "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" "@babel/plugin-transform-new-target" "^7.18.6" "@babel/plugin-transform-object-super" "^7.18.6" "@babel/plugin-transform-parameters" "^7.18.8" @@ -965,10 +960,10 @@ "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" "@babel/types" "^7.19.0" - babel-plugin-polyfill-corejs2 "^0.3.2" - babel-plugin-polyfill-corejs3 "^0.5.3" - babel-plugin-polyfill-regenerator "^0.4.0" - core-js-compat "^3.22.1" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" semver "^6.3.0" "@babel/preset-modules@^0.1.5": @@ -2478,29 +2473,29 @@ babel-plugin-jest-hoist@^29.0.2: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -babel-plugin-polyfill-corejs2@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d" - integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== dependencies: "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.2" + "@babel/helper-define-polyfill-provider" "^0.3.3" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" - integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw== +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" - core-js-compat "^3.21.0" + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" -babel-plugin-polyfill-regenerator@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe" - integrity sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw== +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" + "@babel/helper-define-polyfill-provider" "^0.3.3" babel-preset-current-node-syntax@^1.0.0: version "1.0.1" @@ -2749,17 +2744,6 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.20.3: - version "4.20.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" - integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== - dependencies: - caniuse-lite "^1.0.30001332" - electron-to-chromium "^1.4.118" - escalade "^3.1.1" - node-releases "^2.0.3" - picocolors "^1.0.0" - browserslist@^4.21.3: version "4.21.4" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" @@ -2899,11 +2883,6 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-lite@^1.0.30001332: - version "1.0.30001341" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz#59590c8ffa8b5939cf4161f00827b8873ad72498" - integrity sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA== - caniuse-lite@^1.0.30001400: version "1.0.30001402" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001402.tgz#aa29e1f47f5055b0d0c07696a67b8b08023d14c8" @@ -3362,13 +3341,12 @@ copyfiles@^2.4.1: untildify "^4.0.0" yargs "^16.1.0" -core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.22.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.5.tgz#7fffa1d20cb18405bd22756ca1353c6f1a0e8614" - integrity sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg== +core-js-compat@^3.25.1: + version "3.25.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.1.tgz#6f13a90de52f89bbe6267e5620a412c7f7ff7e42" + integrity sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw== dependencies: - browserslist "^4.20.3" - semver "7.0.0" + browserslist "^4.21.3" core-js-pure@^3.0.0: version "3.8.0" @@ -3896,11 +3874,6 @@ ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -electron-to-chromium@^1.4.118: - version "1.4.137" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" - integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== - electron-to-chromium@^1.4.251: version "1.4.254" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.254.tgz#c6203583890abf88dfc0be046cd72d3b48f8beb6" @@ -6841,11 +6814,6 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-releases@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" - integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== - node-releases@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" @@ -8804,11 +8772,6 @@ selfsigned@^2.0.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - semver@7.x, semver@^7.3.2, semver@^7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" From e0bd671ee845c5fba831c5303ee7854a9674b8d1 Mon Sep 17 00:00:00 2001 From: Alex Collins Date: Mon, 19 Sep 2022 14:06:21 -0700 Subject: [PATCH 04/33] docs: Change the bug report template to be a form. Fixes #9556 (#9616) Signed-off-by: Alex Collins --- .github/ISSUE_TEMPLATE/bug_report.md | 47 ------------------------- .github/ISSUE_TEMPLATE/bug_report.yaml | 48 ++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 47 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yaml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 755899ad284c..000000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -name: Reproducible bug report -about: Create a reproducible bug report. Not for support requests. -labels: ['bug'] ---- - - - -## Checklist - - - -* [ ] Double-checked my configuration. -* [ ] Tested using `:latest` images. -* [ ] Attached the smallest workflow that reproduces the issue. -* [ ] Attached logs from the workflow controller. -* [ ] Attached logs from the wait container. - -## Summary - -What happened/what you expected to happen? - -What version are you running? - -## Diagnostics - -Paste the smallest workflow that reproduces the bug. We must be able to run the workflow. - -```yaml - -``` - -``` -# Logs from the workflow controller: -kubectl logs -n argo deploy/workflow-controller | grep ${workflow} -``` - -``` -# Logs from in your workflow's wait container, something like: -kubectl logs -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded -``` - ---- - -**Message from the maintainers**: - -Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml new file mode 100644 index 000000000000..868550ba8a4e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -0,0 +1,48 @@ +name: Reproducible bug report +description: Create a reproducible bug report. Not for support requests. +labels: [ bug ] +body: + - type: checkboxes + id: terms + attributes: + label: Pre-requisites + options: + - label: I have double-checked my configuration + required: true + - label: I can confirm the issues exists when I tested with `:latest` + required: true + - label: I'd like to contribute the fix myself (see [CONTRIBUTING.md](https://github.com/argoproj/argo-workflows/blob/master/docs/CONTRIBUTING.md)) + - type: textarea + id: description + attributes: + label: What happened/what you expected to happen? + validations: + required: true + - type: input + id: version + attributes: + label: Version + placeholder: e.g. v3.3.8 or latest + validations: + required: true + - type: textarea + id: failing-workflow + attributes: + label: Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images. + render: YAML + validations: + required: true + - type: textarea + id: controller-logs + attributes: + label: Logs from the workflow controller + placeholder: kubectl logs -n argo deploy/workflow-controller | grep ${workflow} + validations: + required: true + - type: textarea + id: wait-logs + attributes: + label: Logs from in your workflow's wait container + placeholder: kubectl logs -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded + validations: + required: true From 72d3599b9f75861414475a39950879bddbc4e154 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 20 Sep 2022 05:22:52 +0800 Subject: [PATCH 05/33] fix: avoid panic when not passing AuthSupplier (#9586) --- pkg/apiclient/apiclient.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/apiclient/apiclient.go b/pkg/apiclient/apiclient.go index 5a70375b6b79..40fa69bd62be 100644 --- a/pkg/apiclient/apiclient.go +++ b/pkg/apiclient/apiclient.go @@ -69,8 +69,14 @@ func NewClientFromOpts(opts Opts) (context.Context, Client, error) { return nil, nil, fmt.Errorf("cannot use instance ID with Argo Server") } if opts.ArgoServerOpts.HTTP1 { + if opts.AuthSupplier == nil { + return nil, nil, fmt.Errorf("AuthSupplier cannot be empty when connecting to Argo Server") + } return newHTTP1Client(opts.ArgoServerOpts.GetURL(), opts.AuthSupplier(), opts.ArgoServerOpts.InsecureSkipVerify, opts.ArgoServerOpts.Headers) } else if opts.ArgoServerOpts.URL != "" { + if opts.AuthSupplier == nil { + return nil, nil, fmt.Errorf("AuthSupplier cannot be empty when connecting to Argo Server") + } return newArgoServerClient(opts.ArgoServerOpts, opts.AuthSupplier()) } else { if opts.ClientConfigSupplier != nil { From 36f195d67dbf2308a8e8c4a6ac122c5b1c388466 Mon Sep 17 00:00:00 2001 From: Alex Collins Date: Mon, 19 Sep 2022 15:43:31 -0700 Subject: [PATCH 06/33] docs: Fixes issues with bug report template (#9619) Signed-off-by: Alex Collins --- .github/ISSUE_TEMPLATE/bug_report.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 868550ba8a4e..ba64f90ce2f2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -11,7 +11,7 @@ body: required: true - label: I can confirm the issues exists when I tested with `:latest` required: true - - label: I'd like to contribute the fix myself (see [CONTRIBUTING.md](https://github.com/argoproj/argo-workflows/blob/master/docs/CONTRIBUTING.md)) + - label: I'd like to contribute the fix myself (see [contributing guide](https://github.com/argoproj/argo-workflows/blob/master/docs/CONTRIBUTING.md)) - type: textarea id: description attributes: @@ -22,7 +22,7 @@ body: id: version attributes: label: Version - placeholder: e.g. v3.3.8 or latest + value: e.g. v3.3.8 or latest validations: required: true - type: textarea @@ -36,13 +36,13 @@ body: id: controller-logs attributes: label: Logs from the workflow controller - placeholder: kubectl logs -n argo deploy/workflow-controller | grep ${workflow} + value: kubectl logs -n argo deploy/workflow-controller | grep ${workflow} validations: required: true - type: textarea - id: wait-logs + id: wait-logs attributes: label: Logs from in your workflow's wait container - placeholder: kubectl logs -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded + value: kubectl logs -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded validations: required: true From 0cf5e1beed2ccc76f6b4db2b8918abe6289bbadb Mon Sep 17 00:00:00 2001 From: Alex Collins Date: Mon, 19 Sep 2022 15:54:31 -0700 Subject: [PATCH 07/33] ci: Auto-retry e2e tests (#9617) Signed-off-by: Alex Collins --- .github/workflows/ci-build.yaml | 8 +++++++- docs/fields.md | 2 -- examples/data-transformations.yaml | 2 -- hack/test-examples.sh | 2 ++ 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml index 0a4ffaa89038..f308bf335cd1 100644 --- a/.github/workflows/ci-build.yaml +++ b/.github/workflows/ci-build.yaml @@ -157,7 +157,13 @@ jobs: - run: make start PROFILE=${{matrix.profile}} AUTH_MODE=client STATIC_FILES=false LOG_LEVEL=info API=${{matrix.test == 'test-api' || matrix.test == 'test-cli' || matrix.test == 'test-java-sdk' || matrix.test == 'test-python-sdk'}} UI=false AZURE=true > /tmp/argo.log 2>&1 & - run: make wait timeout-minutes: 4 - - run: make ${{matrix.test}} E2E_SUITE_TIMEOUT=20m STATIC_FILES=false AZURE=true + - name: make ${{matrix.test}} + # https://github.com/marketplace/actions/retry-step + uses: nick-fields/retry@v2.8.1 + with: + timeout_minutes: 20 + max_attempts: 2 + command: make ${{matrix.test}} E2E_SUITE_TIMEOUT=20m STATIC_FILES=false AZURE=true - if: ${{ failure() }} run: | [ -e /tmp/argo.log ] && cat /tmp/argo.log diff --git a/docs/fields.md b/docs/fields.md index a47300e55e02..3abd9071afba 100644 --- a/docs/fields.md +++ b/docs/fields.md @@ -3633,8 +3633,6 @@ MetricLabel is a single label for a prometheus metric - [`dag-inline-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/dag-inline-workflow.yaml) -- [`data-transformations.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/data-transformations.yaml) - - [`exit-handler-with-artifacts.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/exit-handler-with-artifacts.yaml) - [`exit-handler-with-param.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/exit-handler-with-param.yaml) diff --git a/examples/data-transformations.yaml b/examples/data-transformations.yaml index aa529201e778..73e1787029e2 100644 --- a/examples/data-transformations.yaml +++ b/examples/data-transformations.yaml @@ -3,8 +3,6 @@ apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: data-transformations- - labels: - workflows.argoproj.io/test: "true" annotations: workflows.argoproj.io/description: | This workflow demonstrates using a data template to list in an S3 bucket diff --git a/hack/test-examples.sh b/hack/test-examples.sh index 9cc95faecbe1..4b46fdc52a40 100755 --- a/hack/test-examples.sh +++ b/hack/test-examples.sh @@ -10,6 +10,8 @@ grep -lR 'workflows.argoproj.io/test' examples/* | while read f ; do test 0 == $(grep -o 'image: .*' $f | grep -cv 'argoproj/argosay:v2\|python:alpine3.6') done +trap 'kubectl get wf' EXIT + grep -lR 'workflows.argoproj.io/test' examples/* | while read f ; do kubectl delete workflow -l workflows.argoproj.io/test echo "Running $f..." From de7862e84920b0bd8311dfef0caf0f1fa6567a93 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 23:23:25 +0000 Subject: [PATCH 08/33] docs: updated CHANGELOG.md (#9608) Signed-off-by: GitHub Signed-off-by: GitHub Co-authored-by: sarabala1979 Co-authored-by: Alex Collins --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index af37637254b7..90cf195d0349 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # Changelog +## v3.4.0 (2022-09-18) + + * [047952afd](https://github.com/argoproj/argo-workflows/commit/047952afd539d06cae2fd6ba0b608b19c1194bba) fix: SDK workflow file + * [97328f1ed](https://github.com/argoproj/argo-workflows/commit/97328f1ed3885663b780f43e6b553208ecba4d3c) chore(deps): bump classnames and @types/classnames in /ui (#9603) + * [2dac194a5](https://github.com/argoproj/argo-workflows/commit/2dac194a52acb46c5535e5f552fdf7fd520d0f4e) chore(deps-dev): bump @babel/core from 7.19.0 to 7.19.1 in /ui (#9602) + * [47544cc02](https://github.com/argoproj/argo-workflows/commit/47544cc02a8663b5b69e4c213a382ff156deb63e) feat: Support retrying complex workflows with nested group nodes (#9499) + * [30bd96b4c](https://github.com/argoproj/argo-workflows/commit/30bd96b4c030fb728a3da78e0045982bf778d554) fix: Error message if cronworkflow failed to update (#9583) + * [fc5e11cd3](https://github.com/argoproj/argo-workflows/commit/fc5e11cd37f51e36517f7699c23afabac4f08528) chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 in /ui (#9567) + * [ace179804](https://github.com/argoproj/argo-workflows/commit/ace179804996edc0d356bff257a980e60b9bc5a0) docs(dev-container): Fix buildkit doc for local dev (#9580) + +### Contributors + + * JM + * Saravanan Balasubramanian + * Yuan Tang + * dependabot[bot] + ## v3.4.0-rc4 (2022-09-10) * [dee4ea5b0](https://github.com/argoproj/argo-workflows/commit/dee4ea5b0be2408e13af7745db910d0130e578f2) chore(deps-dev): bump @babel/core from 7.18.13 to 7.19.0 in /ui (#9566) From ecdeedd54b31dab90acfe46537783dc72f99e856 Mon Sep 17 00:00:00 2001 From: Alex Collins Date: Mon, 19 Sep 2022 19:40:56 -0700 Subject: [PATCH 09/33] docs: Change regression report to use form (#9623) Signed-off-by: Alex Collins --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/regression.md | 44 ----------------------- .github/ISSUE_TEMPLATE/regression.yaml | 49 ++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 45 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/regression.md create mode 100644 .github/ISSUE_TEMPLATE/regression.yaml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index ba64f90ce2f2..4e6e657c7c0e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -22,7 +22,7 @@ body: id: version attributes: label: Version - value: e.g. v3.3.8 or latest + placeholder: e.g. v3.3.8 or latest validations: required: true - type: textarea diff --git a/.github/ISSUE_TEMPLATE/regression.md b/.github/ISSUE_TEMPLATE/regression.md deleted file mode 100644 index e98f54816516..000000000000 --- a/.github/ISSUE_TEMPLATE/regression.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -name: Regression report -about: Create a regression report. Not for support requests. -labels: ['bug', 'regression'] ---- -## Checklist - - - -* [ ] Double-checked my configuration. -* [ ] Tested using `:latest` images. -* [ ] Attached the smallest workflow that reproduces the issue. -* [ ] Attached logs from the workflow controller. -* [ ] Attached logs from the wait container. - -## Summary - -What happened/what you expected to happen? - -What version are you running? - -## Diagnostics - -Paste the smallest workflow that reproduces the bug. We must be able to run the workflow. - -```yaml - -``` - -``` -# Logs from the workflow controller: -kubectl logs -n argo deploy/workflow-controller | grep ${workflow} -``` - -``` -# Logs from in your workflow's wait container, something like: -kubectl logs -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded -``` - ---- - -**Message from the maintainers**: - -Impacted by this regression? Give it a 👍. We prioritise the issues with the most 👍. diff --git a/.github/ISSUE_TEMPLATE/regression.yaml b/.github/ISSUE_TEMPLATE/regression.yaml new file mode 100644 index 000000000000..cd14eef0dd2d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/regression.yaml @@ -0,0 +1,49 @@ +name: Regression report +description: Create a regression report. Not for support requests. +labels: [ bug, regression ] + +body: + - type: checkboxes + id: terms + attributes: + label: Pre-requisites + options: + - label: I have double-checked my configuration + required: true + - label: I can confirm the issues exists when I tested with `:latest` + required: true + - label: I'd like to contribute the fix myself (see [contributing guide](https://github.com/argoproj/argo-workflows/blob/master/docs/CONTRIBUTING.md)) + - type: textarea + id: description + attributes: + label: What happened/what you expected to happen? + validations: + required: true + - type: input + id: version + attributes: + label: Version + placeholder: e.g. v3.3.8 or latest + validations: + required: true + - type: textarea + id: failing-workflow + attributes: + label: Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images. + render: YAML + validations: + required: true + - type: textarea + id: controller-logs + attributes: + label: Logs from the workflow controller + value: kubectl logs -n argo deploy/workflow-controller | grep ${workflow} + validations: + required: true + - type: textarea + id: wait-logs + attributes: + label: Logs from in your workflow's wait container + value: kubectl logs -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded + validations: + required: true From e556fe3eb355bf9ef31a1ef8b057c680a5c24f06 Mon Sep 17 00:00:00 2001 From: Brian Loss Date: Wed, 21 Sep 2022 17:50:01 -0400 Subject: [PATCH 10/33] fix: Fixed artifact retrieval when templateRef in use. Fixes #9631, #9644. (#9648) * fix: Fixed artifact retrieval when templateRef in use. Fixes #9631. Signed-off-by: Brian Loss * chore: Address review feedback - use util method * Expose getTemplateFromNode in workflow/util/util.go * Update uses of getTemplateFromNode to GetTemplateFromNode * Call GetTemplateFromNode in artifact_server.go Signed-off-by: Brian Loss Signed-off-by: Brian Loss --- server/artifacts/artifact_server.go | 3 +- server/artifacts/artifact_server_test.go | 78 +++++++++++++++++++++++- workflow/util/util.go | 4 +- workflow/util/util_test.go | 2 +- 4 files changed, 80 insertions(+), 7 deletions(-) diff --git a/server/artifacts/artifact_server.go b/server/artifacts/artifact_server.go index 9ce7e9d0b859..fb6fee3b0629 100644 --- a/server/artifacts/artifact_server.go +++ b/server/artifacts/artifact_server.go @@ -28,6 +28,7 @@ import ( artifact "github.com/argoproj/argo-workflows/v3/workflow/artifacts" "github.com/argoproj/argo-workflows/v3/workflow/artifacts/common" "github.com/argoproj/argo-workflows/v3/workflow/hydrator" + "github.com/argoproj/argo-workflows/v3/workflow/util" ) type ArtifactServer struct { @@ -390,7 +391,7 @@ func (a *ArtifactServer) getArtifactAndDriver(ctx context.Context, nodeId, artif // 3. Workflow spec defines artifactRepositoryRef which is a ConfigMap which defines the location // 4. Template defines ArchiveLocation - templateName := wf.Status.Nodes[nodeId].TemplateName + templateName := util.GetTemplateFromNode(wf.Status.Nodes[nodeId]) template := wf.GetTemplateByName(templateName) if template == nil { return nil, nil, fmt.Errorf("no template found by the name of '%s' (which is the template associated with nodeId '%s'??", templateName, nodeId) diff --git a/server/artifacts/artifact_server_test.go b/server/artifacts/artifact_server_test.go index 8b861161ede6..686224bb417e 100644 --- a/server/artifacts/artifact_server_test.go +++ b/server/artifacts/artifact_server_test.go @@ -54,7 +54,7 @@ func (a *fakeArtifactDriver) Load(_ *wfv1.Artifact, path string) error { } var bucketsOfKeys = map[string][]string{ - "my-bucket": []string{ + "my-bucket": { "my-wf/my-node-1/my-s3-input-artifact.tgz", "my-wf/my-node-1/my-s3-artifact-directory", "my-wf/my-node-1/my-s3-artifact-directory/a.txt", @@ -64,12 +64,15 @@ var bucketsOfKeys = map[string][]string{ "my-wf/my-node-1/my-oss-artifact.zip", "my-wf/my-node-1/my-s3-artifact.tgz", }, - "my-bucket-2": []string{ + "my-bucket-2": { "my-wf/my-node-2/my-s3-artifact-bucket-2", }, - "my-bucket-3": []string{ + "my-bucket-3": { "my-wf/my-node-2/my-s3-artifact-bucket-3", }, + "my-bucket-4": { + "my-wf/my-node-3/my-s3-artifact.tgz", + }, } func (a *fakeArtifactDriver) OpenStream(artifact *wfv1.Artifact) (io.ReadCloser, error) { @@ -278,9 +281,46 @@ func newServer() *ArtifactServer { }, }, }, + + "my-node-3": wfv1.NodeStatus{ + TemplateRef: &wfv1.TemplateRef{ + Name: "my-template", + Template: "template-3", + }, + Outputs: &wfv1.Outputs{ + Artifacts: wfv1.Artifacts{ + { + Name: "my-s3-artifact", + ArtifactLocation: wfv1.ArtifactLocation{ + S3: &wfv1.S3Artifact{ + // S3 is a configured artifact repo, so does not need key + Key: "my-wf/my-node-3/my-s3-artifact.tgz", + S3Bucket: wfv1.S3Bucket{ + Bucket: "my-bucket-4", + Endpoint: "minio:9000", + }, + }, + }, + }, + }, + }, + }, // a node without input/output artifacts "my-node-no-artifacts": wfv1.NodeStatus{}, }, + StoredTemplates: map[string]wfv1.Template{ + "namespaced/my-template/template-3": { + Name: "template-3", + Outputs: wfv1.Outputs{ + Artifacts: wfv1.Artifacts{ + { + Name: "my-s3-artifact", + Path: "my-s3-artifact.tgz", + }, + }, + }, + }, + }, }, } argo := fakewfv1.NewSimpleClientset(wf, &wfv1.Workflow{ @@ -448,6 +488,38 @@ func TestArtifactServer_GetOutputArtifact(t *testing.T) { } } +func TestArtifactServer_GetOutputArtifactWithTemplate(t *testing.T) { + s := newServer() + + tests := []struct { + fileName string + artifactName string + }{ + { + fileName: "my-s3-artifact.tgz", + artifactName: "my-s3-artifact", + }, + } + + for _, tt := range tests { + t.Run(tt.artifactName, func(t *testing.T) { + r := &http.Request{} + r.URL = mustParse(fmt.Sprintf("/artifacts/my-ns/my-wf/my-node-3/%s", tt.artifactName)) + recorder := httptest.NewRecorder() + + s.GetOutputArtifact(recorder, r) + if assert.Equal(t, 200, recorder.Result().StatusCode) { + assert.Equal(t, fmt.Sprintf(`filename="%s"`, tt.fileName), recorder.Header().Get("Content-Disposition")) + all, err := io.ReadAll(recorder.Result().Body) + if err != nil { + panic(fmt.Sprintf("failed to read http body: %v", err)) + } + assert.Equal(t, "my-data", string(all)) + } + }) + } +} + func TestArtifactServer_GetInputArtifact(t *testing.T) { s := newServer() diff --git a/workflow/util/util.go b/workflow/util/util.go index 9cc1cf60e93b..739b786136b7 100644 --- a/workflow/util/util.go +++ b/workflow/util/util.go @@ -755,7 +755,7 @@ func getDescendantNodeIDs(wf *wfv1.Workflow, node wfv1.NodeStatus) []string { } func deletePodNodeDuringRetryWorkflow(wf *wfv1.Workflow, node wfv1.NodeStatus, deletedPods map[string]bool, podsToDelete []string) (map[string]bool, []string) { - templateName := getTemplateFromNode(node) + templateName := GetTemplateFromNode(node) version := GetWorkflowPodNameVersion(wf) podName := PodName(wf.Name, node.Name, templateName, node.ID, version) if _, ok := deletedPods[podName]; !ok { @@ -999,7 +999,7 @@ func resetNode(node wfv1.NodeStatus) wfv1.NodeStatus { return node } -func getTemplateFromNode(node wfv1.NodeStatus) string { +func GetTemplateFromNode(node wfv1.NodeStatus) string { if node.TemplateRef != nil { return node.TemplateRef.Template } diff --git a/workflow/util/util_test.go b/workflow/util/util_test.go index d50056c82ac5..81ea642b2077 100644 --- a/workflow/util/util_test.go +++ b/workflow/util/util_test.go @@ -1083,7 +1083,7 @@ func TestGetTemplateFromNode(t *testing.T) { } for _, tc := range cases { - actual := getTemplateFromNode(tc.inputNode) + actual := GetTemplateFromNode(tc.inputNode) assert.Equal(t, tc.expectedTemplateName, actual) } } From d5e0b32207225fa86a1e320a11e98e3a505b713d Mon Sep 17 00:00:00 2001 From: Takumi Sue <23391543+mikutas@users.noreply.github.com> Date: Fri, 23 Sep 2022 06:01:17 +0900 Subject: [PATCH 11/33] docs: fix typo (#9655) Signed-off-by: mikutas <23391543+mikutas@users.noreply.github.com> Signed-off-by: mikutas <23391543+mikutas@users.noreply.github.com> --- docs/upgrading.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/upgrading.md b/docs/upgrading.md index 1d364a1ebccf..a46988d51f67 100644 --- a/docs/upgrading.md +++ b/docs/upgrading.md @@ -44,7 +44,7 @@ For v1 manifests (e.g. docker/whalesay:latest): ```bash % docker image inspect -f '{{.Config.Entrypoint}} {{.Config.Cmd}}' docker/whalesay:latest [] [/bin/bash] -```` +``` ```yaml images: From 9afdea972b86cbee9a00effbdb7f9473f6605f03 Mon Sep 17 00:00:00 2001 From: Christopher Cutajar <60098546+christophercutajar@users.noreply.github.com> Date: Thu, 22 Sep 2022 23:03:34 +0200 Subject: [PATCH 12/33] docs: Adding Elastic as a User (#9636) Update USERS.md Adding Elastic as a User to Argo Workflow Signed-off-by: Christopher Cutajar <60098546+christophercutajar@users.noreply.github.com> Signed-off-by: Christopher Cutajar <60098546+christophercutajar@users.noreply.github.com> --- USERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/USERS.md b/USERS.md index 087fa01783df..3a053067d915 100644 --- a/USERS.md +++ b/USERS.md @@ -69,6 +69,7 @@ Currently, the following organizations are **officially** using Argo Workflows: 1. [EBSCO Information Services](https://www.ebsco.com/) 1. [Enso Finance](https://enso.finance/) 1. [Equinor](https://www.equinor.com/) +1. [Elastic](https://www.elastic.co/) 1. [Fairwinds](https://fairwinds.com/) 1. [FOLIO](http://corp.folio-sec.com/) 1. [FreeWheel](https://freewheel.com/) From e6eb02fb529b7952227dcef091853edcf20f8248 Mon Sep 17 00:00:00 2001 From: Dakota Lillie Date: Thu, 22 Sep 2022 17:47:47 -0400 Subject: [PATCH 13/33] fix: broken archived workflows ui. Fixes #9614, #9433 (#9634) fix: broken archived workflows ui Signed-off-by: Dakota Lillie Signed-off-by: Dakota Lillie --- .../archived-workflow-details.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ui/src/app/archived-workflows/components/archived-workflow-details/archived-workflow-details.tsx b/ui/src/app/archived-workflows/components/archived-workflow-details/archived-workflow-details.tsx index 52577a893e88..c776b845daea 100644 --- a/ui/src/app/archived-workflows/components/archived-workflow-details/archived-workflow-details.tsx +++ b/ui/src/app/archived-workflows/components/archived-workflow-details/archived-workflow-details.tsx @@ -25,6 +25,7 @@ import {WorkflowYamlViewer} from '../../../workflows/components/workflow-yaml-vi require('../../../workflows/components/workflow-details/workflow-details.scss'); const STEP_GRAPH_CONTAINER_MIN_WIDTH = 490; +const STEP_INFO_WIDTH = 570; interface State { workflow?: Workflow; @@ -188,8 +189,8 @@ export class ArchivedWorkflowDetails extends BasePage, ) : ( -
-
+
+
{this.tab === 'workflow' ? ( , )}
{this.nodeId && ( -
+
From 49c47cbad0408adaf1371da36c3ece340fdecd65 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Sep 2022 08:37:22 +0000 Subject: [PATCH 14/33] chore(deps): bump cloud.google.com/go/storage from 1.26.0 to 1.27.0 (#9672) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.26.0 to 1.27.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.26.0...spanner/v1.27.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 14 +++++++------- go.sum | 27 ++++++++++++++------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index 00dc18d6fab0..0eba94a74e3f 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/argoproj/argo-workflows/v3 go 1.18 require ( - cloud.google.com/go/storage v1.26.0 + cloud.google.com/go/storage v1.27.0 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1 github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible @@ -53,12 +53,12 @@ require ( golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa golang.org/x/exp v0.0.0-20220602145555-4a0574d9293f golang.org/x/net v0.0.0-20220909164309-bea034e7d591 - golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094 + golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1 golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 - google.golang.org/api v0.96.0 - google.golang.org/genproto v0.0.0-20220810155839-1856144b1d9c - google.golang.org/grpc v1.48.0 + google.golang.org/api v0.97.0 + google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006 + google.golang.org/grpc v1.49.0 gopkg.in/go-playground/webhooks.v5 v5.17.0 gopkg.in/jcmturner/gokrb5.v5 v5.3.0 k8s.io/api v0.24.3 @@ -73,7 +73,7 @@ require ( ) require ( - cloud.google.com/go v0.102.1 // indirect + cloud.google.com/go v0.104.0 // indirect cloud.google.com/go/compute v1.7.0 // indirect cloud.google.com/go/iam v0.3.0 // indirect github.com/Azure/azure-sdk-for-go v62.0.0+incompatible // indirect @@ -142,7 +142,7 @@ require ( github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.3.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.1.0 // indirect - github.com/googleapis/gax-go/v2 v2.4.0 // indirect + github.com/googleapis/gax-go/v2 v2.5.1 // indirect github.com/hashicorp/go-uuid v1.0.2 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/huandu/xstrings v1.3.2 // indirect diff --git a/go.sum b/go.sum index cfea20da2ee0..c96ee1ba741b 100644 --- a/go.sum +++ b/go.sum @@ -35,8 +35,8 @@ cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0c cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= -cloud.google.com/go v0.102.1 h1:vpK6iQWv/2uUeFJth4/cBHsQAGjn1iIE6AAlxipRaA0= -cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.104.0 h1:gSmWO7DY1vOm0MVU6DNXM11BWHHsTUmsC5cv1fuW5X8= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= 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= @@ -70,8 +70,8 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= -cloud.google.com/go/storage v1.26.0 h1:lYAGjknyDJirSzfwUlkv4Nsnj7od7foxQNH/fqZqles= -cloud.google.com/go/storage v1.26.0/go.mod h1:mk/N7YwIKEWyTvXAWQCIeiCTdLoRH6Pd5xmSnolQLTI= +cloud.google.com/go/storage v1.27.0 h1:YOO045NZI9RKfCj1c5A/ZtuuENUc8OAW+gHdGnDgyMQ= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Antonboom/errname v0.1.5/go.mod h1:DugbBstvPFQbv/5uLcRRzfrNqKE9tVdVCqWCLp6Cifo= @@ -777,8 +777,9 @@ github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pf github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk= github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1 h1:kBRZU0PSuI7PspsSb/ChWoVResUcwNVIdpB049pKTiw= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= @@ -1703,8 +1704,9 @@ golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094 h1:2o1E+E8TpNLklK9nHiPiK1uzIYrIHt+cQx3ynCwq9V8= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1 h1:lxqLZaMad/dJHMFZH0NiNpiEZI/nhgWhe4wgzpE+MuA= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2037,8 +2039,8 @@ google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69 google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= -google.golang.org/api v0.96.0 h1:F60cuQPJq7K7FzsxMYHAUJSiXh2oKctHxBMbDygxhfM= -google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0 h1:x/vEL1XDF/2V4xzdNgFPaKHluRESo2aTsL7QzHnBtGQ= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= 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= @@ -2143,10 +2145,9 @@ google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220810155839-1856144b1d9c h1:IooGDWedfLC6KLczH/uduUsKQP42ZZYhKx+zd50L1Sk= -google.golang.org/genproto v0.0.0-20220810155839-1856144b1d9c/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006 h1:mmbq5q8M1t7dhkLw320YK4PsOXm6jdnUAkErImaIqOg= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -2186,8 +2187,8 @@ google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11 google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.48.0 h1:rQOsyJ/8+ufEDJd/Gdsz7HG220Mh9HAhFHRGnIjda0w= -google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0 h1:WTLtQzmQori5FUH25Pq4WT22oCsv8USpQ+F6rqtsmxw= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= From 56454d0c8d8d4909e23f0938e561ad2bdb02cef2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Sep 2022 08:37:37 +0000 Subject: [PATCH 15/33] chore(deps): bump github.com/minio/minio-go/v7 from 7.0.36 to 7.0.37 (#9673) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.36 to 7.0.37. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.36...v7.0.37) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0eba94a74e3f..4ec9d2c82b77 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,7 @@ require ( github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/klauspost/pgzip v1.2.5 - github.com/minio/minio-go/v7 v7.0.36 + github.com/minio/minio-go/v7 v7.0.37 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.13.0 github.com/prometheus/client_model v0.2.0 diff --git a/go.sum b/go.sum index c96ee1ba741b..3fb7477ee173 100644 --- a/go.sum +++ b/go.sum @@ -1056,8 +1056,8 @@ github.com/minio/md5-simd v1.1.0/go.mod h1:XpBqgZULrMYD3R+M28PcmP0CkI7PEMzB3U77Z github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= github.com/minio/minio-go/v7 v7.0.29/go.mod h1:x81+AX5gHSfCSqw7jxRKHvxUXMlE5uKX0Vb75Xk5yYg= -github.com/minio/minio-go/v7 v7.0.36 h1:KPzAl8C6jcRFEUsGUHR6deRivvKATPNZThzi7D9y/sc= -github.com/minio/minio-go/v7 v7.0.36/go.mod h1:nCrRzjoSUQh8hgKKtu3Y708OLvRLtuASMg2/nvmbarw= +github.com/minio/minio-go/v7 v7.0.37 h1:aJvYMbtpVPSFBck6guyvOkxK03MycxDOCs49ZBuY5M8= +github.com/minio/minio-go/v7 v7.0.37/go.mod h1:nCrRzjoSUQh8hgKKtu3Y708OLvRLtuASMg2/nvmbarw= github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= From 9d74501395fd715e2eb364e9f011b0224545d9ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Sep 2022 08:55:47 +0000 Subject: [PATCH 16/33] chore(deps-dev): bump webpack-dev-server from 4.11.0 to 4.11.1 in /ui (#9677) Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.11.0 to 4.11.1. - [Release notes](https://github.com/webpack/webpack-dev-server/releases) - [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.11.0...v4.11.1) --- updated-dependencies: - dependency-name: webpack-dev-server dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ui/package.json b/ui/package.json index 72601ed84024..c50aaf69ce5f 100644 --- a/ui/package.json +++ b/ui/package.json @@ -86,7 +86,7 @@ "webfonts-generator": "^0.4.0", "webpack": "^4.46.0", "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.11.0" + "webpack-dev-server": "^4.11.1" }, "resolutions": { "lodash": "4.17.21", diff --git a/ui/yarn.lock b/ui/yarn.lock index 204c645a7c44..213146ecc105 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -8760,10 +8760,10 @@ select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" -selfsigned@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.1.tgz#8b2df7fa56bf014d19b6007655fff209c0ef0a56" - integrity sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ== +selfsigned@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" + integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== dependencies: node-forge "^1" @@ -10250,10 +10250,10 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.11.0: - version "4.11.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz#290ee594765cd8260adfe83b2d18115ea04484e7" - integrity sha512-L5S4Q2zT57SK7tazgzjMiSMBdsw+rGYIX27MgPgx7LDhWO0lViPrHKoLS7jo5In06PWYAhlYu3PbyoC6yAThbw== +webpack-dev-server@^4.11.1: + version "4.11.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz#ae07f0d71ca0438cf88446f09029b92ce81380b5" + integrity sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -10278,7 +10278,7 @@ webpack-dev-server@^4.11.0: p-retry "^4.5.0" rimraf "^3.0.2" schema-utils "^4.0.0" - selfsigned "^2.0.1" + selfsigned "^2.1.1" serve-index "^1.9.1" sockjs "^0.3.24" spdy "^4.0.2" From 67fc0acabc4a03f374195246b362b177893866b1 Mon Sep 17 00:00:00 2001 From: William Van Hevelingen Date: Sat, 24 Sep 2022 18:14:02 -0700 Subject: [PATCH 17/33] chore(deps): bump golangci-lint to v1.49.0 (#9639) * chore(deps): bump golangci-lint to v1.49.0 Signed-off-by: William Van Hevelingen * fix: lint newlines Signed-off-by: William Van Hevelingen * fix: remove extra newline Signed-off-by: William Van Hevelingen * fix: Address feedback Signed-off-by: William Van Hevelingen * fix: typo Signed-off-by: William Van Hevelingen Signed-off-by: William Van Hevelingen --- .golangci.yml | 11 ++++++++--- Makefile | 2 +- errors/errors.go | 6 +++--- pkg/plugins/executor/swagger.go | 17 +++++++++-------- server/artifacts/artifact_server.go | 8 +++++--- test/e2e/fixtures/when.go | 10 ++++++---- util/retry/retry.go | 11 ++++++----- workflow/controller/artifact_gc.go | 2 +- workflow/controller/operator_test.go | 4 ++-- workflow/executor/emissary/emissary.go | 1 - workflow/templateresolution/context.go | 2 +- 11 files changed, 42 insertions(+), 32 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 8eb46041a64a..f0b13cf5ee53 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -25,7 +25,6 @@ run: linters: enable: - bodyclose - - deadcode - errcheck - goimports # only minor issues @@ -41,11 +40,9 @@ linters: - rowserrcheck - sqlclosecheck - staticcheck - - structcheck - typecheck - unparam - unused - - varcheck linters-settings: goimports: local-prefixes: github.com/argoproj/argo-workflows/ @@ -60,3 +57,11 @@ linters-settings: - G402 # G601: Implicit memory aliasing in for loop. - G601 +issues: + exclude: + # We are leaving io/ioutil for now to make backports easier + # https://github.com/argoproj/argo-workflows/pull/6964#issuecomment-946827019 + - "SA1019: \"io/ioutil\" has been deprecated since Go 1.16" + exclude-rules: + - path: server/artifacts/artifact_server_test.go + text: "response body must be closed" diff --git a/Makefile b/Makefile index c032c0b414c5..ec4e5fe373fc 100644 --- a/Makefile +++ b/Makefile @@ -393,7 +393,7 @@ dist/manifests/%: manifests/% # lint/test/etc $(GOPATH)/bin/golangci-lint: - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b `go env GOPATH`/bin v1.47.1 + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b `go env GOPATH`/bin v1.49.0 .PHONY: lint lint: server/static/files.go $(GOPATH)/bin/golangci-lint diff --git a/errors/errors.go b/errors/errors.go index 957f4b1319fc..35777b57def2 100644 --- a/errors/errors.go +++ b/errors/errors.go @@ -84,9 +84,9 @@ func Wrap(err error, code string, message string) error { // An error value has a cause if it implements the following // interface: // -// type causer interface { -// Cause() error -// } +// type causer interface { +// Cause() error +// } // // If the error does not implement Cause, the original error will // be returned. If the error is nil, nil will be returned without further diff --git a/pkg/plugins/executor/swagger.go b/pkg/plugins/executor/swagger.go index 73d228287dcb..4470021797e8 100644 --- a/pkg/plugins/executor/swagger.go +++ b/pkg/plugins/executor/swagger.go @@ -1,15 +1,16 @@ // Package executor The API for an executor plugin. // -// Schemes: http -// Host: localhost -// BasePath: /api/v1 -// Version: 0.0.1 +// Schemes: http +// Host: localhost +// BasePath: /api/v1 +// Version: 0.0.1 // -// Consumes: -// - application/json +// Consumes: +// - application/json +// +// Produces: +// - application/json // -// Produces: -// - application/json // swagger:meta package executor diff --git a/server/artifacts/artifact_server.go b/server/artifacts/artifact_server.go index fb6fee3b0629..fbe9f2ae2791 100644 --- a/server/artifacts/artifact_server.go +++ b/server/artifacts/artifact_server.go @@ -58,9 +58,11 @@ func (a *ArtifactServer) GetInputArtifact(w http.ResponseWriter, r *http.Request // single endpoint to be able to handle serving directories as well as files, both those that have been archived and those that haven't // Valid requests: -// /artifact-files/{namespace}/[archived-workflows|workflows]/{id}/{nodeId}/outputs/{artifactName} -// /artifact-files/{namespace}/[archived-workflows|workflows]/{id}/{nodeId}/outputs/{artifactName}/{fileName} -// /artifact-files/{namespace}/[archived-workflows|workflows]/{id}/{nodeId}/outputs/{artifactName}/{fileDir}/.../{fileName} +// +// /artifact-files/{namespace}/[archived-workflows|workflows]/{id}/{nodeId}/outputs/{artifactName} +// /artifact-files/{namespace}/[archived-workflows|workflows]/{id}/{nodeId}/outputs/{artifactName}/{fileName} +// /artifact-files/{namespace}/[archived-workflows|workflows]/{id}/{nodeId}/outputs/{artifactName}/{fileDir}/.../{fileName} +// // 'id' field represents 'uid' for archived workflows and 'name' for non-archived func (a *ArtifactServer) GetArtifactFile(w http.ResponseWriter, r *http.Request) { diff --git a/test/e2e/fixtures/when.go b/test/e2e/fixtures/when.go index cce99669bf74..5c76325b2a3b 100644 --- a/test/e2e/fixtures/when.go +++ b/test/e2e/fixtures/when.go @@ -239,10 +239,12 @@ type WorkflowCompletionOkay bool // Options: // * `time.Duration` - change the timeout - 30s by default // * `string` - either: -// * the workflow's name (not spaces) -// * or a new message (if it contain spaces) - default "to finish" -// * `WorkflowCompletionOkay`` (bool alias): if this is true, we won't stop checking for the other options -// * just because the Workflow completed +// - the workflow's name (not spaces) +// - or a new message (if it contain spaces) - default "to finish" +// +// * `WorkflowCompletionOkay“ (bool alias): if this is true, we won't stop checking for the other options +// - just because the Workflow completed +// // * `Condition` - a condition - `ToFinish` by default func (w *When) WaitForWorkflow(options ...interface{}) *When { w.t.Helper() diff --git a/util/retry/retry.go b/util/retry/retry.go index c39bbae5cebe..039b16a81d34 100644 --- a/util/retry/retry.go +++ b/util/retry/retry.go @@ -10,11 +10,12 @@ import ( // DefaultRetry is a default retry backoff settings when retrying API calls // Retry Seconds -// 1 0.01 -// 2 0.03 -// 3 0.07 -// 4 0.15 -// 5 0.31 +// +// 1 0.01 +// 2 0.03 +// 3 0.07 +// 4 0.15 +// 5 0.31 var DefaultRetry = wait.Backoff{ Steps: envutil.LookupEnvIntOr("RETRY_BACKOFF_STEPS", 5), Duration: envutil.LookupEnvDurationOr("RETRY_BACKOFF_DURATION", 10*time.Millisecond), diff --git a/workflow/controller/artifact_gc.go b/workflow/controller/artifact_gc.go index ec4e5ec4dd6a..d0961b7d4aae 100644 --- a/workflow/controller/artifact_gc.go +++ b/workflow/controller/artifact_gc.go @@ -337,7 +337,7 @@ func (woc *wfOperationCtx) getArtifactTask(taskName string) (*wfv1.WorkflowArtif return task.(*wfv1.WorkflowArtifactGCTask), nil } -// create WorkflowArtifactGCTask CRD object +// create WorkflowArtifactGCTask CRD object func (woc *wfOperationCtx) createWorkflowArtifactGCTask(ctx context.Context, task *wfv1.WorkflowArtifactGCTask) (*wfv1.WorkflowArtifactGCTask, error) { // first make sure it doesn't already exist diff --git a/workflow/controller/operator_test.go b/workflow/controller/operator_test.go index 501613193630..6af2fe17ef83 100644 --- a/workflow/controller/operator_test.go +++ b/workflow/controller/operator_test.go @@ -3780,7 +3780,7 @@ func TestNestedOptionalOutputArtifacts(t *testing.T) { assert.Equal(t, wfv1.WorkflowSucceeded, woc.wf.Status.Phase) } -// TestPodSpecLogForFailedPods tests PodSpec logging configuration +// TestPodSpecLogForFailedPods tests PodSpec logging configuration func TestPodSpecLogForFailedPods(t *testing.T) { wf := wfv1.MustUnmarshalWorkflow(helloWorldWf) cancel, controller := newController(wf) @@ -3798,7 +3798,7 @@ func TestPodSpecLogForFailedPods(t *testing.T) { } } -// TestPodSpecLogForAllPods tests PodSpec logging configuration +// TestPodSpecLogForAllPods tests PodSpec logging configuration func TestPodSpecLogForAllPods(t *testing.T) { cancel, controller := newController() defer cancel() diff --git a/workflow/executor/emissary/emissary.go b/workflow/executor/emissary/emissary.go index 0d1f4e5bf376..e052c9cf7a4f 100644 --- a/workflow/executor/emissary/emissary.go +++ b/workflow/executor/emissary/emissary.go @@ -43,7 +43,6 @@ If the container is named `main` it also copies base-layer artifacts to the shar The wait container can create one file itself, used for terminating the sub-process: * `/var/run/argo/ctr/${containerName}/signal` The emissary binary listens to changes in this file, and signals the sub-process with the value found in this file. - */ type emissary struct{} diff --git a/workflow/templateresolution/context.go b/workflow/templateresolution/context.go index f7951fb7e43c..764984b9626d 100644 --- a/workflow/templateresolution/context.go +++ b/workflow/templateresolution/context.go @@ -177,7 +177,7 @@ func (ctx *Context) ResolveTemplate(tmplHolder wfv1.TemplateReferenceHolder) (*C // resolveTemplateImpl digs into references and returns a merged template. // This method processes inputs and arguments so the inputs of the final -// resolved template include intermediate parameter passing. +// resolved template include intermediate parameter passing. // The other fields are just merged and shallower templates overwrite deeper. func (ctx *Context) resolveTemplateImpl(tmplHolder wfv1.TemplateReferenceHolder, depth int) (*Context, *wfv1.Template, bool, error) { ctx.log = ctx.log.WithFields(log.Fields{ From 38b55e39cca03e54da1f38849b066b36e03ba240 Mon Sep 17 00:00:00 2001 From: Rohan Kumar Date: Sun, 25 Sep 2022 07:01:05 +0530 Subject: [PATCH 18/33] fix: sh not available in scratch container but used in argoexec. Fixes #9654 (#9679) fix: sh not available in scratch container but used in argoexec Signed-off-by: Rohan Kumar Signed-off-by: Rohan Kumar Co-authored-by: Yuan Tang --- workflow/executor/resource.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/executor/resource.go b/workflow/executor/resource.go index 0541c690ac37..6518a67bb929 100644 --- a/workflow/executor/resource.go +++ b/workflow/executor/resource.go @@ -307,7 +307,7 @@ func (we *WorkflowExecutor) SaveResourceParameters(ctx context.Context, resource resArgs = append(resArgs, "-n", resourceNamespace) } cmdStr := fmt.Sprintf("kubectl get %s -o json | jq -rc '%s'", strings.Join(resArgs, " "), param.ValueFrom.JQFilter) - cmd = exec.Command("sh", "-c", cmdStr) + cmd = exec.Command(cmdStr) } else { continue } From fd700f2423b1a4eb88bab4fad4145d585ac0db6c Mon Sep 17 00:00:00 2001 From: Rohan Kumar Date: Mon, 26 Sep 2022 03:24:07 +0530 Subject: [PATCH 19/33] docs: add loop-arbitrary-sequential-steps example. Fixes 8081 (#9683) --- docs/fields.md | 20 ++++++++ .../loops-arbitrary-sequential-steps.yaml | 49 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 examples/loops-arbitrary-sequential-steps.yaml diff --git a/docs/fields.md b/docs/fields.md index 3abd9071afba..e41444314fff 100644 --- a/docs/fields.md +++ b/docs/fields.md @@ -210,6 +210,8 @@ Workflow is the definition of a workflow resource - [`life-cycle-hooks-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/life-cycle-hooks-wf-level.yaml) +- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-arbitrary-sequential-steps.yaml) + - [`loops-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-dag.yaml) - [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-maps.yaml) @@ -635,6 +637,8 @@ WorkflowSpec is the specification of a Workflow. - [`life-cycle-hooks-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/life-cycle-hooks-wf-level.yaml) +- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-arbitrary-sequential-steps.yaml) + - [`loops-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-dag.yaml) - [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-maps.yaml) @@ -1068,6 +1072,8 @@ CronWorkflowSpec is the specification of a CronWorkflow - [`life-cycle-hooks-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/life-cycle-hooks-wf-level.yaml) +- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-arbitrary-sequential-steps.yaml) + - [`loops-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-dag.yaml) - [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-maps.yaml) @@ -1345,6 +1351,8 @@ Arguments to a template - [`label-value-from-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/label-value-from-workflow.yaml) +- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-arbitrary-sequential-steps.yaml) + - [`loops-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-dag.yaml) - [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-maps.yaml) @@ -2156,6 +2164,8 @@ Parameter indicate a passed string parameter to a service template with an optio - [`label-value-from-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/label-value-from-workflow.yaml) +- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-arbitrary-sequential-steps.yaml) + - [`loops-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-dag.yaml) - [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-maps.yaml) @@ -2719,6 +2729,8 @@ Inputs are the mechanism for passing parameters, artifacts, volumes from one tem - [`key-only-artifact.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/key-only-artifact.yaml) +- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-arbitrary-sequential-steps.yaml) + - [`loops-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-dag.yaml) - [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-maps.yaml) @@ -3023,6 +3035,8 @@ WorkflowStep is a reference to a template to execute in a series of step - [`life-cycle-hooks-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/life-cycle-hooks-wf-level.yaml) +- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-arbitrary-sequential-steps.yaml) + - [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-maps.yaml) - [`loops-param-argument.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-param-argument.yaml) @@ -4725,6 +4739,8 @@ ObjectMeta is metadata that all persisted resources must have, which includes al - [`life-cycle-hooks-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/life-cycle-hooks-wf-level.yaml) +- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-arbitrary-sequential-steps.yaml) + - [`loops-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-dag.yaml) - [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-maps.yaml) @@ -5325,6 +5341,8 @@ A single application container that you want to run within a pod. - [`life-cycle-hooks-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/life-cycle-hooks-wf-level.yaml) +- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-arbitrary-sequential-steps.yaml) + - [`loops-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-dag.yaml) - [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-maps.yaml) @@ -6046,6 +6064,8 @@ PersistentVolumeClaimSpec describes the common attributes of storage devices and - [`life-cycle-hooks-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/life-cycle-hooks-wf-level.yaml) +- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-arbitrary-sequential-steps.yaml) + - [`loops-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-dag.yaml) - [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/master/examples/loops-maps.yaml) diff --git a/examples/loops-arbitrary-sequential-steps.yaml b/examples/loops-arbitrary-sequential-steps.yaml new file mode 100644 index 000000000000..1d30b0be1e70 --- /dev/null +++ b/examples/loops-arbitrary-sequential-steps.yaml @@ -0,0 +1,49 @@ +# This example demonstrates a workflow accepting a list of items (as JSON string) +# as an input parameter, and using it for expanding a step into a sequential task +# of arbitrary steps. When a step fails, the iteration will break, stopping +# following steps from running. +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + generateName: loop-arbitrary-sequential-steps- +spec: + entrypoint: loop-arbitrary-sequential-steps-example + arguments: + parameters: + - name: step_params + value: | + [ + { "exit_code": 0, "message": "succeeds 1" }, + { "exit_code": 0, "message": "succeeds 2" }, + { "exit_code": 0, "message": "succeeds 3" }, + { "exit_code": 1, "message": "will fail and stop here" }, + { "exit_code": 0, "message": "will not run" }, + { "exit_code": 0, "message": "will not run" } + ] + templates: + - name: loop-arbitrary-sequential-steps-example + inputs: + parameters: + - name: step_params + parallelism: 1 + failFast: true + steps: + - - name: unit-step + template: unit-step-template + arguments: + parameters: + - name: exit_code + value: "{{item.exit_code}}" + - name: message + value: "{{item.message}}" + withParam: "{{inputs.parameters.step_params}}" + + - name: unit-step-template + inputs: + parameters: + - name: exit_code + - name: message + container: + image: alpine + command: [ '/bin/sh', '-c' ] + args: [ "echo {{inputs.parameters.message}}; exit {{inputs.parameters.exit_code}}" ] From ec25899dbd8d6a9a4e50fd9c933fa77c33249beb Mon Sep 17 00:00:00 2001 From: Takumi Sue <23391543+mikutas@users.noreply.github.com> Date: Mon, 26 Sep 2022 07:53:39 +0900 Subject: [PATCH 20/33] build: install clang-format only if not exists (#9667) refactor: install clang-format only if not exists Signed-off-by: mikutas <23391543+mikutas@users.noreply.github.com> Signed-off-by: mikutas <23391543+mikutas@users.noreply.github.com> --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index ec4e5fe373fc..daa3824da53c 100644 --- a/Makefile +++ b/Makefile @@ -299,11 +299,13 @@ $(GOPATH)/bin/goimports: go install golang.org/x/tools/cmd/goimports@v0.1.7 /usr/local/bin/clang-format: +ifeq (, $(shell which clang-format)) ifeq ($(shell uname),Darwin) brew install clang-format else sudo apt-get install clang-format endif +endif pkg/apis/workflow/v1alpha1/generated.proto: $(GOPATH)/bin/go-to-protobuf $(PROTO_BINARIES) $(TYPES) $(GOPATH)/src/github.com/gogo/protobuf # These files are generated on a v3/ folder by the tool. Link them to the root folder From b96d446d666f704ba102077404bf0b7c472c1494 Mon Sep 17 00:00:00 2001 From: Jesse Suen Date: Mon, 26 Sep 2022 07:59:06 -0700 Subject: [PATCH 21/33] fix: Improve semaphore concurrency performance (#9666) * fix: improve semaphore concurrency performance Signed-off-by: Jesse Suen * fix: template semaphore not enqueued properly. notify additional waiters Signed-off-by: Jesse Suen Signed-off-by: Jesse Suen --- docs/environment-variables.md | 1 + workflow/controller/controller.go | 15 +++++- workflow/sync/semaphore.go | 52 +++++++++++-------- workflow/sync/semaphore_test.go | 85 +++++++++++++++++++++++++++++++ 4 files changed, 131 insertions(+), 22 deletions(-) diff --git a/docs/environment-variables.md b/docs/environment-variables.md index 41a5dee8d617..4f18ce9ace84 100644 --- a/docs/environment-variables.md +++ b/docs/environment-variables.md @@ -50,6 +50,7 @@ most users. Environment variables may be removed at any time. | `TRANSIENT_ERROR_PATTERN` | `string` | `""` | The regular expression that represents additional patterns for transient errors. | | `WF_DEL_PROPAGATION_POLICY` | `string` | `""` | The deletion propagation policy for workflows. | | `WORKFLOW_GC_PERIOD` | `time.Duration` | `5m` | The periodicity for GC of workflows. | +| `SEMAPHORE_NOTIFY_DELAY` | `time.Duration` | `1s` | Tuning Delay when notifying semaphore waiters about availability in the semaphore | CLI parameters of the `argo-server` and `workflow-controller` can be specified as environment variables with the `ARGO_` prefix. For example: diff --git a/workflow/controller/controller.go b/workflow/controller/controller.go index 8a4758bd5888..1902c0250ceb 100644 --- a/workflow/controller/controller.go +++ b/workflow/controller/controller.go @@ -140,7 +140,18 @@ const ( workflowTaskSetResyncPeriod = 20 * time.Minute ) -var cacheGCPeriod = env.LookupEnvDurationOr("CACHE_GC_PERIOD", 0) +var ( + cacheGCPeriod = env.LookupEnvDurationOr("CACHE_GC_PERIOD", 0) + + // semaphoreNotifyDelay is a slight delay when notifying/enqueueing workflows to the workqueue + // that are waiting on a semaphore. This value is passed to AddAfter(). We delay adding the next + // workflow because if we add immediately with AddRateLimited(), the next workflow will likely + // be reconciled at a point in time before we have finished the current workflow reconciliation + // as well as incrementing the semaphore counter availability, and so the next workflow will + // believe it cannot run. By delaying for 1s, we would have finished the semaphore counter + // updates, and the next workflow will see the updated availability. + semaphoreNotifyDelay = env.LookupEnvDurationOr("SEMAPHORE_NOTIFY_DELAY", time.Second) +) func init() { if cacheGCPeriod != 0 { @@ -333,7 +344,7 @@ func (wfc *WorkflowController) createSynchronizationManager(ctx context.Context) } nextWorkflow := func(key string) { - wfc.wfQueue.AddRateLimited(key) + wfc.wfQueue.AddAfter(key, semaphoreNotifyDelay) } isWFDeleted := func(key string) bool { diff --git a/workflow/sync/semaphore.go b/workflow/sync/semaphore.go index f842c04d6f70..63be7239ddeb 100644 --- a/workflow/sync/semaphore.go +++ b/workflow/sync/semaphore.go @@ -97,26 +97,38 @@ func (s *PrioritySemaphore) release(key string) bool { availableLocks := s.limit - len(s.lockHolder) s.log.Infof("Lock has been released by %s. Available locks: %d", key, availableLocks) if s.pending.Len() > 0 { - triggerCount := availableLocks - if s.pending.Len() < triggerCount { - triggerCount = s.pending.Len() - } - for idx := 0; idx < triggerCount; idx++ { - item := s.pending.items[idx] - keyStr := fmt.Sprint(item.key) - items := strings.Split(keyStr, "/") - workflowKey := keyStr - if len(items) == 3 { - workflowKey = fmt.Sprintf("%s/%s", items[0], items[1]) - } - s.log.Debugf("Enqueue the workflow %s", workflowKey) - s.nextWorkflow(workflowKey) - } + s.notifyWaiters() } } return true } +// notifyWaiters enqueues the next N workflows who are waiting for the semaphore to the workqueue, +// where N is the availability of the semaphore. If semaphore is out of capacity, this does nothing. +func (s *PrioritySemaphore) notifyWaiters() { + triggerCount := s.limit - len(s.lockHolder) + if s.pending.Len() < triggerCount { + triggerCount = s.pending.Len() + } + for idx := 0; idx < triggerCount; idx++ { + item := s.pending.items[idx] + wfKey := workflowKey(item) + s.log.Debugf("Enqueue the workflow %s", wfKey) + s.nextWorkflow(wfKey) + } +} + +// workflowKey formulates the proper workqueue key given a semaphore queue item +func workflowKey(i *item) string { + parts := strings.Split(i.key, "/") + if len(parts) == 3 { + // the item is template semaphore (namespace/workflow-name/node-id) and so key must be + // truncated to just: namespace/workflow-name + return fmt.Sprintf("%s/%s", parts[0], parts[1]) + } + return i.key +} + // addToQueue adds the holderkey into priority queue that maintains the priority order to acquire the lock. func (s *PrioritySemaphore) addToQueue(holderKey string, priority int32, creationTime time.Time) { s.lock.Lock() @@ -168,18 +180,17 @@ func (s *PrioritySemaphore) tryAcquire(holderKey string) (bool, string) { } var nextKey string - waitingMsg := fmt.Sprintf("Waiting for %s lock. Lock status: %d/%d ", s.name, s.limit-len(s.lockHolder), s.limit) + waitingMsg := fmt.Sprintf("Waiting for %s lock. Lock status: %d/%d", s.name, s.limit-len(s.lockHolder), s.limit) // Check whether requested holdkey is in front of priority queue. // If it is in front position, it will allow to acquire lock. // If it is not a front key, it needs to wait for its turn. if s.pending.Len() > 0 { item := s.pending.peek() - nextKey = fmt.Sprintf("%v", item.key) - if holderKey != nextKey && !isSameWorkflowNodeKeys(holderKey, nextKey) { + if holderKey != nextKey && !isSameWorkflowNodeKeys(holderKey, item.key) { // Enqueue the front workflow if lock is available if len(s.lockHolder) < s.limit { - s.nextWorkflow(nextKey) + s.nextWorkflow(workflowKey(item)) } return false, waitingMsg } @@ -187,7 +198,8 @@ func (s *PrioritySemaphore) tryAcquire(holderKey string) (bool, string) { if s.acquire(holderKey) { s.pending.pop() - s.log.Infof("%s acquired by %s ", s.name, nextKey) + s.log.Infof("%s acquired by %s. Lock availability: %d/%d", s.name, holderKey, s.limit-len(s.lockHolder), s.limit) + s.notifyWaiters() return true, "" } s.log.Debugf("Current semaphore Holders. %v", s.lockHolder) diff --git a/workflow/sync/semaphore_test.go b/workflow/sync/semaphore_test.go index 18bfb2bd5932..75a0a658a815 100644 --- a/workflow/sync/semaphore_test.go +++ b/workflow/sync/semaphore_test.go @@ -2,6 +2,7 @@ package sync import ( "testing" + "time" "github.com/stretchr/testify/assert" ) @@ -19,3 +20,87 @@ func TestIsSameWorkflowNodeKeys(t *testing.T) { assert.False(t, isSameWorkflowNodeKeys(wfkey1, wfkey2)) assert.True(t, isSameWorkflowNodeKeys(nodeWf2key1, nodeWf2key2)) } + +func TestTryAcquire(t *testing.T) { + nextWorkflow := func(key string) { + } + + s := NewSemaphore("foo", 2, nextWorkflow, "semaphore") + now := time.Now() + s.addToQueue("default/wf-01", 0, now) + s.addToQueue("default/wf-02", 0, now.Add(time.Second)) + s.addToQueue("default/wf-03", 0, now.Add(2*time.Second)) + s.addToQueue("default/wf-04", 0, now.Add(3*time.Second)) + + // verify only the first in line is allowed to acquired the semaphore + var acquired bool + acquired, _ = s.tryAcquire("default/wf-04") + assert.False(t, acquired) + acquired, _ = s.tryAcquire("default/wf-03") + assert.False(t, acquired) + acquired, _ = s.tryAcquire("default/wf-02") + assert.False(t, acquired) + acquired, _ = s.tryAcquire("default/wf-01") + assert.True(t, acquired) + // now that wf-01 obtained it, wf-02 can + acquired, _ = s.tryAcquire("default/wf-02") + assert.True(t, acquired) + acquired, _ = s.tryAcquire("default/wf-03") + assert.False(t, acquired) + acquired, _ = s.tryAcquire("default/wf-04") + assert.False(t, acquired) +} + +// TestNotifyWaiters ensures we notify the correct waiters after acquiring and releasing a semaphore +func TestNotifyWaitersAcquire(t *testing.T) { + notified := make(map[string]bool) + nextWorkflow := func(key string) { + notified[key] = true + } + + s := NewSemaphore("foo", 3, nextWorkflow, "semaphore") + now := time.Now() + s.addToQueue("default/wf-04", 0, now.Add(3*time.Second)) + s.addToQueue("default/wf-02", 0, now.Add(time.Second)) + s.addToQueue("default/wf-01", 0, now) + s.addToQueue("default/wf-05", 0, now.Add(4*time.Second)) + s.addToQueue("default/wf-03", 0, now.Add(2*time.Second)) + + acquired, _ := s.tryAcquire("default/wf-01") + assert.True(t, acquired) + + assert.Len(t, notified, 2) + assert.True(t, notified["default/wf-02"]) + assert.True(t, notified["default/wf-03"]) + assert.False(t, notified["default/wf-04"]) + assert.False(t, notified["default/wf-05"]) + + notified = make(map[string]bool) + released := s.release("default/wf-01") + assert.True(t, released) + + assert.Len(t, notified, 3) + assert.True(t, notified["default/wf-02"]) + assert.True(t, notified["default/wf-03"]) + assert.True(t, notified["default/wf-04"]) + assert.False(t, notified["default/wf-05"]) +} + +// TestNotifyWorkflowFromTemplateSemaphore verifies we enqueue a proper workflow key when using a semaphore template +func TestNotifyWorkflowFromTemplateSemaphore(t *testing.T) { + notified := make(map[string]bool) + nextWorkflow := func(key string) { + notified[key] = true + } + + s := NewSemaphore("foo", 2, nextWorkflow, "semaphore") + now := time.Now() + s.addToQueue("default/wf-01/nodeid-123", 0, now) + s.addToQueue("default/wf-02/nodeid-456", 0, now.Add(time.Second)) + + acquired, _ := s.tryAcquire("default/wf-01/nodeid-123") + assert.True(t, acquired) + + assert.Len(t, notified, 1) + assert.True(t, notified["default/wf-02"]) +} From b219d85ab57092b37b0b26f9f7c4cfbf5a9bea9a Mon Sep 17 00:00:00 2001 From: Seokju Hong Date: Tue, 27 Sep 2022 09:06:25 +0900 Subject: [PATCH 22/33] fix: retry ExecutorPlugin invocation on transient network errors Fixes: #9664 (#9665) --- util/errors/errors.go | 20 ++++++------- util/errors/errors_test.go | 51 +++++++++++++++++++++++++++------ workflow/util/plugins/plugin.go | 2 +- 3 files changed, 54 insertions(+), 19 deletions(-) diff --git a/util/errors/errors.go b/util/errors/errors.go index 2d09fc847b95..51f9a32bcc16 100644 --- a/util/errors/errors.go +++ b/util/errors/errors.go @@ -59,19 +59,16 @@ func isResourceQuotaConflictErr(err error) bool { func isTransientNetworkErr(err error) bool { switch err.(type) { - case net.Error: - switch err.(type) { - case *net.DNSError, *net.OpError, net.UnknownNetworkError: - return true - case *url.Error: - // For a URL error, where it replies back "connection closed" - // retry again. - return strings.Contains(err.Error(), "Connection closed by foreign host") - } + case *net.DNSError, *net.OpError, net.UnknownNetworkError: + return true } errorString := generateErrorString(err) - if strings.Contains(errorString, "net/http: TLS handshake timeout") { + if strings.Contains(errorString, "Connection closed by foreign host") { + // For a URL error, where it replies back "connection closed" + // retry again. + return true + } else if strings.Contains(errorString, "net/http: TLS handshake timeout") { // If error is - tlsHandshakeTimeoutError, retry. return true } else if strings.Contains(errorString, "i/o timeout") { @@ -83,6 +80,9 @@ func isTransientNetworkErr(err error) bool { } else if strings.Contains(errorString, "connection reset by peer") { // If err is a ECONNRESET, retry. return true + } else if _, ok := err.(*url.Error); ok && strings.Contains(errorString, "EOF") { + // If err is EOF, retry. + return true } return false diff --git a/util/errors/errors_test.go b/util/errors/errors_test.go index 92195ddf75fc..c789926d657a 100644 --- a/util/errors/errors_test.go +++ b/util/errors/errors_test.go @@ -19,16 +19,31 @@ func (n netError) Error() string { return string(n) } func (n netError) Timeout() bool { return false } func (n netError) Temporary() bool { return false } +func urlError(errString string) *url.Error { + return &url.Error{ + Op: "Get", + URL: "https://argoproj.github.io", + Err: errors.New(errString), + } +} + var ( tlsHandshakeTimeoutErr net.Error = netError("net/http: TLS handshake timeout") ioTimeoutErr net.Error = netError("i/o timeout") - connectionTimedout net.Error = netError("connection timed out") - connectionReset net.Error = netError("connection reset by peer") + connectionTimedoutErr net.Error = netError("connection timed out") + connectionResetErr net.Error = netError("connection reset by peer") transientErr net.Error = netError("this error is transient") transientExitErr = exec.ExitError{ ProcessState: &os.ProcessState{}, Stderr: []byte("this error is transient"), } + + connectionClosedUErr *url.Error = urlError("Connection closed by foreign host") + tlsHandshakeTimeoutUErr *url.Error = urlError("net/http: TLS handshake timeout") + ioTimeoutUErr *url.Error = urlError("i/o timeout") + connectionTimedoutUErr *url.Error = urlError("connection timed out") + connectionResetUErr *url.Error = urlError("connection reset by peer") + EOFUErr *url.Error = urlError("EOF") ) const transientEnvVarKey = "TRANSIENT_ERROR_PATTERN" @@ -57,10 +72,6 @@ func TestIsTransientErr(t *testing.T) { t.Run("UnknownNetworkError", func(t *testing.T) { assert.True(t, IsTransientErr(net.UnknownNetworkError(""))) }) - t.Run("ConnectionClosedErr", func(t *testing.T) { - assert.False(t, IsTransientErr(&url.Error{Err: errors.New("")})) - assert.True(t, IsTransientErr(&url.Error{Err: errors.New("Connection closed by foreign host")})) - }) t.Run("TLSHandshakeTimeout", func(t *testing.T) { assert.True(t, IsTransientErr(tlsHandshakeTimeoutErr)) }) @@ -68,10 +79,10 @@ func TestIsTransientErr(t *testing.T) { assert.True(t, IsTransientErr(ioTimeoutErr)) }) t.Run("ConnectionTimeout", func(t *testing.T) { - assert.True(t, IsTransientErr(connectionTimedout)) + assert.True(t, IsTransientErr(connectionTimedoutErr)) }) t.Run("ConnectionReset", func(t *testing.T) { - assert.True(t, IsTransientErr(connectionReset)) + assert.True(t, IsTransientErr(connectionResetErr)) }) t.Run("TransientErrorPattern", func(t *testing.T) { _ = os.Setenv(transientEnvVarKey, "this error is transient") @@ -91,3 +102,27 @@ func TestIsTransientErr(t *testing.T) { assert.True(t, IsTransientErr(NewErrTransient(""))) }) } + +func TestIsTransientUErr(t *testing.T) { + t.Run("NonExceptionalUErr", func(t *testing.T) { + assert.False(t, IsTransientErr(&url.Error{Err: errors.New("")})) + }) + t.Run("ConnectionClosedUErr", func(t *testing.T) { + assert.True(t, IsTransientErr(connectionClosedUErr)) + }) + t.Run("TLSHandshakeTimeoutUErr", func(t *testing.T) { + assert.True(t, IsTransientErr(tlsHandshakeTimeoutUErr)) + }) + t.Run("IOHandshakeTimeoutUErr", func(t *testing.T) { + assert.True(t, IsTransientErr(ioTimeoutUErr)) + }) + t.Run("ConnectionTimeoutUErr", func(t *testing.T) { + assert.True(t, IsTransientErr(connectionTimedoutUErr)) + }) + t.Run("ConnectionResetUErr", func(t *testing.T) { + assert.True(t, IsTransientErr(connectionResetUErr)) + }) + t.Run("EOFUErr", func(t *testing.T) { + assert.True(t, IsTransientErr(EOFUErr)) + }) +} diff --git a/workflow/util/plugins/plugin.go b/workflow/util/plugins/plugin.go index 00eb4034e485..be310c282f90 100644 --- a/workflow/util/plugins/plugin.go +++ b/workflow/util/plugins/plugin.go @@ -54,7 +54,7 @@ func (p *Client) Call(ctx context.Context, method string, args interface{}, repl return true } } - return strings.Contains(err.Error(), "connection refused") + return strings.Contains(err.Error(), "connection refused") || errors.IsTransientErr(err) }, func() error { log.Debug("Calling plugin") req, err := http.NewRequestWithContext(ctx, "POST", fmt.Sprintf("%s/api/v1/%s", p.address, method), bytes.NewBuffer(body)) From b214161b38642da75a38a100548d3809731746ff Mon Sep 17 00:00:00 2001 From: Takumi Sue <23391543+mikutas@users.noreply.github.com> Date: Tue, 27 Sep 2022 23:56:01 +0900 Subject: [PATCH 23/33] fix: add authorization from cookie to metadata (#9663) Signed-off-by: mikutas <23391543+mikutas@users.noreply.github.com> Signed-off-by: mikutas <23391543+mikutas@users.noreply.github.com> --- server/apiserver/argoserver.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/apiserver/argoserver.go b/server/apiserver/argoserver.go index 2abeaed13f0c..4d79ac50a6ae 100644 --- a/server/apiserver/argoserver.go +++ b/server/apiserver/argoserver.go @@ -380,8 +380,13 @@ func (as *argoServer) newHTTPServer(ctx context.Context, port int, artifactServe mux.Handle("/oauth2/callback", handlers.ProxyHeaders(http.HandlerFunc(as.oAuth2Service.HandleCallback))) mux.HandleFunc("/metrics", func(w http.ResponseWriter, r *http.Request) { if os.Getenv("ARGO_SERVER_METRICS_AUTH") != "false" { - header := metadata.New(map[string]string{"authorization": r.Header.Get("Authorization")}) - ctx := metadata.NewIncomingContext(context.Background(), header) + md := metadata.New(map[string]string{"authorization": r.Header.Get("Authorization")}) + for _, c := range r.Cookies() { + if c.Name == "authorization" { + md.Append("cookie", c.Value) + } + } + ctx := metadata.NewIncomingContext(context.Background(), md) if _, err := as.gatekeeper.Context(ctx); err != nil { log.WithError(err).Error("failed to authenticate /metrics endpoint") w.WriteHeader(403) From 84c19ea909cbc5249f684133dcb5a8481a533dab Mon Sep 17 00:00:00 2001 From: jsvk <850037+jsvk@users.noreply.github.com> Date: Tue, 27 Sep 2022 07:59:18 -0700 Subject: [PATCH 24/33] fix: render template vars in DAGTask before releasing lock.. Fixes #9395 (#9405) fix: render template vars in DAGTask before releasing lock. Fixes #9395 Signed-off-by: jsvk <850037+jsvk@users.noreply.github.com> Signed-off-by: jsvk <850037+jsvk@users.noreply.github.com> --- workflow/controller/dag.go | 7 +- .../controller/operator_concurrency_test.go | 73 +++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) diff --git a/workflow/controller/dag.go b/workflow/controller/dag.go index 16a282f8831a..a7bfdebcf503 100644 --- a/workflow/controller/dag.go +++ b/workflow/controller/dag.go @@ -368,9 +368,14 @@ func (woc *wfOperationCtx) executeDAGTask(ctx context.Context, dagCtx *dagContex } } + processedTmpl, err := common.ProcessArgs(tmpl, &task.Arguments, woc.globalParams, map[string]string{}, true, woc.wf.Namespace, woc.controller.configMapInformer) + if err != nil { + woc.markNodeError(node.Name, err) + } + // Release acquired lock completed task. if tmpl != nil { - woc.controller.syncManager.Release(woc.wf, node.ID, tmpl.Synchronization) + woc.controller.syncManager.Release(woc.wf, node.ID, processedTmpl.Synchronization) } task := dagCtx.GetTask(taskName) diff --git a/workflow/controller/operator_concurrency_test.go b/workflow/controller/operator_concurrency_test.go index 7a4c6f300d1f..cb5342712eb3 100644 --- a/workflow/controller/operator_concurrency_test.go +++ b/workflow/controller/operator_concurrency_test.go @@ -397,6 +397,79 @@ func TestMutexInDAG(t *testing.T) { }) } +var DAGWithInterpolatedMutex = ` +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + name: dag-mutex + namespace: default +spec: + entrypoint: diamond + templates: + - name: diamond + dag: + tasks: + - name: A + template: mutex + arguments: + parameters: + - name: message + value: foo/bar + + - name: B + depends: A + template: mutex + arguments: + parameters: + - name: message + value: foo/bar + + - name: mutex + synchronization: + mutex: + name: '{{=sprig.replace("/", "-", inputs.parameters.message)}}' + inputs: + parameters: + - name: message + container: + image: alpine:3.7 + command: [sh, -c, "echo {{inputs.parameters.message}}"] +` + +func TestMutexInDAGWithInterpolation(t *testing.T) { + assert := assert.New(t) + + cancel, controller := newController() + defer cancel() + ctx := context.Background() + controller.syncManager = sync.NewLockManager(GetSyncLimitFunc(ctx, controller.kubeclientset), func(key string) { + }, workflowExistenceFunc) + t.Run("InterpolatedMutexWithDAG", func(t *testing.T) { + wf := wfv1.MustUnmarshalWorkflow(DAGWithInterpolatedMutex) + wf, err := controller.wfclientset.ArgoprojV1alpha1().Workflows(wf.Namespace).Create(ctx, wf, metav1.CreateOptions{}) + assert.NoError(err) + woc := newWorkflowOperationCtx(wf, controller) + woc.operate(ctx) + for _, node := range woc.wf.Status.Nodes { + if node.Name == "dag-mutex.A" { + assert.Equal(wfv1.NodePending, node.Phase) + } + } + assert.Equal(wfv1.WorkflowRunning, woc.wf.Status.Phase) + makePodsPhase(ctx, woc, v1.PodSucceeded) + + woc1 := newWorkflowOperationCtx(woc.wf, controller) + woc1.operate(ctx) + for _, node := range woc1.wf.Status.Nodes { + assert.NotEqual(wfv1.NodeError, node.Phase) + if node.Name == "dag-mutex.B" { + assert.Nil(node.SynchronizationStatus) + assert.Equal(wfv1.NodePending, node.Phase) + } + } + }) +} + const RetryWfWithSemaphore = ` apiVersion: argoproj.io/v1alpha1 kind: Workflow From ff6aab34ecbb5c0de26e36108cd1201c1e1ae2f5 Mon Sep 17 00:00:00 2001 From: Vladimir Ivanov <24351102+chtcvl@users.noreply.github.com> Date: Tue, 27 Sep 2022 23:02:30 +0800 Subject: [PATCH 25/33] Add --tls-certificate-secret-name parameter to server command. Fixes #5582 (#9423) fix: Add --tls-certificate-secret-name parameter to server command Signed-off-by: vladimir.ivanov Signed-off-by: vladimir.ivanov --- Makefile | 3 +++ README.md | 1 + cmd/argo/commands/server.go | 7 ++++--- docs/cli/argo_server.md | 1 + .../argo-server/argo-server-certificate.yaml | 20 ++++++++++++++++++ .../argo-server/argo-server-deployment.yaml | 4 +++- manifests/base/argo-server/kustomization.yaml | 1 + manifests/quick-start-minimal.yaml | 21 +++++++++++++++++++ manifests/quick-start-mysql.yaml | 21 +++++++++++++++++++ manifests/quick-start-postgres.yaml | 21 +++++++++++++++++++ server/apiserver/argoserver.go | 5 ++++- 11 files changed, 100 insertions(+), 5 deletions(-) create mode 100644 manifests/base/argo-server/argo-server-certificate.yaml diff --git a/Makefile b/Makefile index daa3824da53c..6fe84e903c91 100644 --- a/Makefile +++ b/Makefile @@ -423,6 +423,9 @@ test: server/static/files.go .PHONY: install install: githooks kubectl get ns $(KUBE_NAMESPACE) || kubectl create ns $(KUBE_NAMESPACE) + # install cert-manager if Certificate CRD is not available + kubectl get ns cert-manager || kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml + kubectl wait --for=condition=Ready pods --all --namespace cert-manager kubectl config set-context --current --namespace=$(KUBE_NAMESPACE) @echo "installing PROFILE=$(PROFILE)" kubectl kustomize --load-restrictor=LoadRestrictionsNone test/e2e/manifests/$(PROFILE) | sed 's|quay.io/argoproj/|$(IMAGE_NAMESPACE)/|' | sed 's/namespace: argo/namespace: $(KUBE_NAMESPACE)/' | kubectl -n $(KUBE_NAMESPACE) apply --prune -l app.kubernetes.io/part-of=argo -f - diff --git a/README.md b/README.md index 3034c42f9c04..bfce3dd34f72 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ The following commands install Argo Workflows as well as some commmonly used com ```bash kubectl create ns argo +kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/master/manifests/quick-start-postgres.yaml ``` diff --git a/cmd/argo/commands/server.go b/cmd/argo/commands/server.go index bb91edc767d9..65b9a4b21197 100644 --- a/cmd/argo/commands/server.go +++ b/cmd/argo/commands/server.go @@ -46,7 +46,7 @@ func NewServerCommand() *cobra.Command { baseHRef string secure bool tlsCertificateSecretName string - htst bool + hsts bool namespaced bool // --namespaced managedNamespace string // --managed-namespace enableOpenBrowser bool @@ -153,7 +153,7 @@ See %s`, help.ArgoServer), opts := apiserver.ArgoServerOpts{ BaseHRef: baseHRef, TLSConfig: tlsConfig, - HSTS: htst, + HSTS: hsts, Namespaced: namespaced, Namespace: namespace, Clients: clients, @@ -217,7 +217,8 @@ See %s`, help.ArgoServer), command.Flags().StringVar(&baseHRef, "basehref", defaultBaseHRef, "Value for base href in index.html. Used if the server is running behind reverse proxy under subpath different from /. Defaults to the environment variable BASE_HREF.") // "-e" for encrypt, like zip command.Flags().BoolVarP(&secure, "secure", "e", true, "Whether or not we should listen on TLS.") - command.Flags().BoolVar(&htst, "hsts", true, "Whether or not we should add a HTTP Secure Transport Security header. This only has effect if secure is enabled.") + command.Flags().StringVar(&tlsCertificateSecretName, "tls-certificate-secret-name", "", "The name of a Kubernetes secret that contains the server certificates") + command.Flags().BoolVar(&hsts, "hsts", true, "Whether or not we should add a HTTP Secure Transport Security header. This only has effect if secure is enabled.") command.Flags().StringArrayVar(&authModes, "auth-mode", []string{"client"}, "API server authentication mode. Any 1 or more length permutation of: client,server,sso") command.Flags().StringVar(&configMap, "configmap", common.ConfigMapName, "Name of K8s configmap to retrieve workflow controller configuration") command.Flags().BoolVar(&namespaced, "namespaced", false, "run as namespaced mode") diff --git a/docs/cli/argo_server.md b/docs/cli/argo_server.md index 562133e1e66d..38d8af1ec80d 100644 --- a/docs/cli/argo_server.md +++ b/docs/cli/argo_server.md @@ -32,6 +32,7 @@ See https://argoproj.github.io/argo-workflows/argo-server/ --managed-namespace string namespace that watches, default to the installation namespace --namespaced run as namespaced mode -p, --port int Port to listen on (default 2746) + --tls-certificate-secret-name string The name of a Kubernetes secret that contains the server certificates --x-frame-options string Set X-Frame-Options header in HTTP responses. (default "DENY") ``` diff --git a/manifests/base/argo-server/argo-server-certificate.yaml b/manifests/base/argo-server/argo-server-certificate.yaml new file mode 100644 index 000000000000..489e57bdf883 --- /dev/null +++ b/manifests/base/argo-server/argo-server-certificate.yaml @@ -0,0 +1,20 @@ +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: argo-workflows-issuer +spec: + selfSigned: {} +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: argo-server-cert +spec: + dnsNames: + - argo-server.argo.svc.cluster.local + - argo-server.argo.svc + - argo-server + issuerRef: + kind: Issuer + name: argo-workflows-issuer + secretName: argo-server-tls diff --git a/manifests/base/argo-server/argo-server-deployment.yaml b/manifests/base/argo-server/argo-server-deployment.yaml index e3672fbe16a2..52687d4d1ecd 100644 --- a/manifests/base/argo-server/argo-server-deployment.yaml +++ b/manifests/base/argo-server/argo-server-deployment.yaml @@ -22,7 +22,9 @@ spec: capabilities: drop: - ALL - args: [ server ] + args: + - server + - --tls-certificate-secret-name=argo-server-tls env: [] ports: - name: web diff --git a/manifests/base/argo-server/kustomization.yaml b/manifests/base/argo-server/kustomization.yaml index 3817bd729b12..3a7ed2e7d2b7 100644 --- a/manifests/base/argo-server/kustomization.yaml +++ b/manifests/base/argo-server/kustomization.yaml @@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: +- argo-server-certificate.yaml - argo-server-deployment.yaml - argo-server-sa.yaml - argo-server-service.yaml diff --git a/manifests/quick-start-minimal.yaml b/manifests/quick-start-minimal.yaml index 5fe8a45864e5..459165e5a3ea 100644 --- a/manifests/quick-start-minimal.yaml +++ b/manifests/quick-start-minimal.yaml @@ -1809,3 +1809,24 @@ spec: securityContext: runAsNonRoot: true serviceAccountName: argo +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: argo-server-cert +spec: + dnsNames: + - argo-server.argo.svc.cluster.local + - argo-server.argo.svc + - argo-server + issuerRef: + kind: Issuer + name: argo-workflows-issuer + secretName: argo-server-tls +--- +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: argo-workflows-issuer +spec: + selfSigned: {} diff --git a/manifests/quick-start-mysql.yaml b/manifests/quick-start-mysql.yaml index 37f7d52299b1..bbf2466ac368 100644 --- a/manifests/quick-start-mysql.yaml +++ b/manifests/quick-start-mysql.yaml @@ -1898,3 +1898,24 @@ spec: securityContext: runAsNonRoot: true serviceAccountName: argo +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: argo-server-cert +spec: + dnsNames: + - argo-server.argo.svc.cluster.local + - argo-server.argo.svc + - argo-server + issuerRef: + kind: Issuer + name: argo-workflows-issuer + secretName: argo-server-tls +--- +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: argo-workflows-issuer +spec: + selfSigned: {} diff --git a/manifests/quick-start-postgres.yaml b/manifests/quick-start-postgres.yaml index 97ac6c6ff1de..5790197e15de 100644 --- a/manifests/quick-start-postgres.yaml +++ b/manifests/quick-start-postgres.yaml @@ -1890,3 +1890,24 @@ spec: securityContext: runAsNonRoot: true serviceAccountName: argo +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: argo-server-cert +spec: + dnsNames: + - argo-server.argo.svc.cluster.local + - argo-server.argo.svc + - argo-server + issuerRef: + kind: Issuer + name: argo-workflows-issuer + secretName: argo-server-tls +--- +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: argo-workflows-issuer +spec: + selfSigned: {} diff --git a/server/apiserver/argoserver.go b/server/apiserver/argoserver.go index 4d79ac50a6ae..c7d90a021eb6 100644 --- a/server/apiserver/argoserver.go +++ b/server/apiserver/argoserver.go @@ -334,7 +334,10 @@ func (as *argoServer) newHTTPServer(ctx context.Context, port int, artifactServe grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(MaxGRPCMessageSize)), } if as.tlsConfig != nil { - dialOpts = append(dialOpts, grpc.WithTransportCredentials(credentials.NewTLS(as.tlsConfig))) + tlsConfig := as.tlsConfig + tlsConfig.InsecureSkipVerify = true + dCreds := credentials.NewTLS(tlsConfig) + dialOpts = append(dialOpts, grpc.WithTransportCredentials(dCreds)) } else { dialOpts = append(dialOpts, grpc.WithTransportCredentials(insecure.NewCredentials())) } From d553c9186c761da16a641885a6de8f7fdfb42592 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Sep 2022 15:59:08 +0000 Subject: [PATCH 26/33] chore(deps-dev): bump sass from 1.54.9 to 1.55.0 in /ui (#9675) Bumps [sass](https://github.com/sass/dart-sass) from 1.54.9 to 1.55.0. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.54.9...1.55.0) --- updated-dependencies: - dependency-name: sass dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Saravanan Balasubramanian <33908564+sarabala1979@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ui/package.json b/ui/package.json index c50aaf69ce5f..77d26d9759b1 100644 --- a/ui/package.json +++ b/ui/package.json @@ -71,7 +71,7 @@ "prettier": "^1.19.1", "raw-loader": "^0.5.1", "react-hot-loader": "^4.13.0", - "sass": "^1.54.9", + "sass": "^1.55.0", "sass-loader": "^10.1.0", "source-map-loader": "^1.1.3", "style-loader": "^0.20.1", diff --git a/ui/yarn.lock b/ui/yarn.lock index 213146ecc105..c038b3e7233b 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -8677,10 +8677,10 @@ sass-loader@^10.1.0: schema-utils "^3.0.0" semver "^7.3.2" -sass@^1.54.9: - version "1.54.9" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.9.tgz#b05f14ed572869218d1a76961de60cd647221762" - integrity sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q== +sass@^1.55.0: + version "1.55.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" + integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 4158cf11ad2e5837a76d1194a99b38e6d66f7dd0 Mon Sep 17 00:00:00 2001 From: emagana <112656855+emagana@users.noreply.github.com> Date: Tue, 27 Sep 2022 12:14:08 -0700 Subject: [PATCH 27/33] Adding Splunk as Argo Workflows User (#9697) --- USERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/USERS.md b/USERS.md index 3a053067d915..96e60e399fc2 100644 --- a/USERS.md +++ b/USERS.md @@ -162,6 +162,7 @@ Currently, the following organizations are **officially** using Argo Workflows: 1. [Stillwater Supercomputing, Inc](http://www.stillwater-sc.com/) 1. [strongDM](https://www.strongdm.com/) 1. [Styra](https://www.styra.com/) +1. [Splunk](https://www.splunk.com/) 1. [Sutpc](http://www.sutpc.com/) 1. [Threekit](https://www.threekit.com/) 1. [Tiger Analytics](https://www.tigeranalytics.com/) From e08524d2acbd474f232f958e711d04d8919681e8 Mon Sep 17 00:00:00 2001 From: Yuan Tang Date: Tue, 27 Sep 2022 17:52:06 -0400 Subject: [PATCH 28/33] fix: Avoid controller crashes when running large number of workflows (#9691) Signed-off-by: Yuan Tang --- .spelling | 1 + docs/environment-variables.md | 2 ++ workflow/controller/controller.go | 1 + workflow/controller/healthz.go | 5 +++-- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.spelling b/.spelling index 507e9340a9a2..5f01c0594b50 100644 --- a/.spelling +++ b/.spelling @@ -148,6 +148,7 @@ k8s-jobs kube kubelet kubernetes +liveness localhost memoization memoized diff --git a/docs/environment-variables.md b/docs/environment-variables.md index 4f18ce9ace84..3d38c2f0c544 100644 --- a/docs/environment-variables.md +++ b/docs/environment-variables.md @@ -33,12 +33,14 @@ most users. Environment variables may be removed at any time. | `GZIP_IMPLEMENTATION` | `string` | `PGZip` | The implementation of compression/decompression. Currently only "`PGZip`" and "`GZip`" are supported. | | `INFORMER_WRITE_BACK` | `bool` | `true` | Whether to write back to informer instead of catching up. | | `HEALTHZ_AGE` | `time.Duration` | `5m` | How old a un-reconciled workflow is to report unhealthy. | +| `HEALTHZ_LIST_LIMIT` | `int` | `200` | The maximum number of responses to return for a list call on workflows for liveness check. | | `INDEX_WORKFLOW_SEMAPHORE_KEYS` | `bool` | `true` | Whether or not to index semaphores. | | `LEADER_ELECTION_IDENTITY` | `string` | Controller's `metadata.name` | The ID used for workflow controllers to elect a leader. | | `LEADER_ELECTION_DISABLE` | `bool` | `false` | Whether leader election should be disabled. | | `LEADER_ELECTION_LEASE_DURATION` | `time.Duration` | `15s` | The duration that non-leader candidates will wait to force acquire leadership. | | `LEADER_ELECTION_RENEW_DEADLINE` | `time.Duration` | `10s` | The duration that the acting master will retry refreshing leadership before giving up. | | `LEADER_ELECTION_RETRY_PERIOD` | `time.Duration` | `5s` | The duration that the leader election clients should wait between tries of actions. | +| `LIST_LIMIT` | `int` | `200` | The maximum number of responses to return for a list call on workflows for workflow informer. | | `MAX_OPERATION_TIME` | `time.Duration` | `30s` | The maximum time a workflow operation is allowed to run for before re-queuing the workflow onto the work queue. | | `OFFLOAD_NODE_STATUS_TTL` | `time.Duration` | `5m` | The TTL to delete the offloaded node status. Currently only used for testing. | | `POD_NAMES` | `string` | `v2` | Whether to have pod names contain the template name (v2) or be the node id (v1) - should be set the same for Argo Server. | diff --git a/workflow/controller/controller.go b/workflow/controller/controller.go index 1902c0250ceb..bb206b67ad4a 100644 --- a/workflow/controller/controller.go +++ b/workflow/controller/controller.go @@ -803,6 +803,7 @@ func (wfc *WorkflowController) tweakListOptions(options *metav1.ListOptions) { labelSelector := labels.NewSelector(). Add(util.InstanceIDRequirement(wfc.Config.InstanceID)) options.LabelSelector = labelSelector.String() + options.Limit = int64(env.LookupEnvIntOr("LIST_LIMIT", 200)) } func getWfPriority(obj interface{}) (int32, time.Time) { diff --git a/workflow/controller/healthz.go b/workflow/controller/healthz.go index 9e9bded526cd..033750450c9e 100644 --- a/workflow/controller/healthz.go +++ b/workflow/controller/healthz.go @@ -13,7 +13,8 @@ import ( ) var ( - age = env.LookupEnvDurationOr("HEALTHZ_AGE", 5*time.Minute) + age = env.LookupEnvDurationOr("HEALTHZ_AGE", 5*time.Minute) + limit = int64(env.LookupEnvIntOr("HEALTHZ_LIST_LIMIT", 200)) ) // https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-http-request @@ -30,7 +31,7 @@ func (wfc *WorkflowController) Healthz(w http.ResponseWriter, r *http.Request) { labelSelector := "!" + common.LabelKeyPhase + "," + instanceIDSelector err := func() error { // avoid problems with informers, but directly querying the API - list, err := wfc.wfclientset.ArgoprojV1alpha1().Workflows(wfc.managedNamespace).List(ctx, metav1.ListOptions{LabelSelector: labelSelector}) + list, err := wfc.wfclientset.ArgoprojV1alpha1().Workflows(wfc.managedNamespace).List(ctx, metav1.ListOptions{LabelSelector: labelSelector, Limit: limit}) if err != nil { return err } From f0016e054ec32505dcd7f7d610443ad380fc6651 Mon Sep 17 00:00:00 2001 From: Yuan Tang Date: Tue, 27 Sep 2022 21:23:32 -0400 Subject: [PATCH 29/33] fix: Remove LIST_LIMIT in workflow informer (#9700) Signed-off-by: Yuan Tang Signed-off-by: Yuan Tang --- docs/environment-variables.md | 1 - workflow/controller/controller.go | 1 - 2 files changed, 2 deletions(-) diff --git a/docs/environment-variables.md b/docs/environment-variables.md index 3d38c2f0c544..dbbc7bf138a9 100644 --- a/docs/environment-variables.md +++ b/docs/environment-variables.md @@ -40,7 +40,6 @@ most users. Environment variables may be removed at any time. | `LEADER_ELECTION_LEASE_DURATION` | `time.Duration` | `15s` | The duration that non-leader candidates will wait to force acquire leadership. | | `LEADER_ELECTION_RENEW_DEADLINE` | `time.Duration` | `10s` | The duration that the acting master will retry refreshing leadership before giving up. | | `LEADER_ELECTION_RETRY_PERIOD` | `time.Duration` | `5s` | The duration that the leader election clients should wait between tries of actions. | -| `LIST_LIMIT` | `int` | `200` | The maximum number of responses to return for a list call on workflows for workflow informer. | | `MAX_OPERATION_TIME` | `time.Duration` | `30s` | The maximum time a workflow operation is allowed to run for before re-queuing the workflow onto the work queue. | | `OFFLOAD_NODE_STATUS_TTL` | `time.Duration` | `5m` | The TTL to delete the offloaded node status. Currently only used for testing. | | `POD_NAMES` | `string` | `v2` | Whether to have pod names contain the template name (v2) or be the node id (v1) - should be set the same for Argo Server. | diff --git a/workflow/controller/controller.go b/workflow/controller/controller.go index bb206b67ad4a..1902c0250ceb 100644 --- a/workflow/controller/controller.go +++ b/workflow/controller/controller.go @@ -803,7 +803,6 @@ func (wfc *WorkflowController) tweakListOptions(options *metav1.ListOptions) { labelSelector := labels.NewSelector(). Add(util.InstanceIDRequirement(wfc.Config.InstanceID)) options.LabelSelector = labelSelector.String() - options.Limit = int64(env.LookupEnvIntOr("LIST_LIMIT", 200)) } func getWfPriority(obj interface{}) (int32, time.Time) { From 4e34979e1b132439fe1101a23b46e24a62c0368d Mon Sep 17 00:00:00 2001 From: William Van Hevelingen Date: Tue, 27 Sep 2022 18:30:17 -0700 Subject: [PATCH 30/33] chore(deps): bump argo-events to 1.7.2 (#9624) --- .github/workflows/ci-build.yaml | 8 +- api/jsonschema/schema.json | 159 ++++++++- api/openapi-spec/swagger.json | 163 +++++++++- go.mod | 22 +- go.sum | 40 ++- .../clientset/versioned/fake/register.go | 14 +- .../clientset/versioned/scheme/register.go | 14 +- ...goprojEventsV1alpha1ArgoWorkflowTrigger.md | 1 + .../IoArgoprojEventsV1alpha1BitbucketAuth.md | 2 +- ...oprojEventsV1alpha1BitbucketEventSource.md | 5 +- ...goprojEventsV1alpha1BitbucketRepository.md | 14 + ...projEventsV1alpha1EventDependencyFilter.md | 1 + ...IoArgoprojEventsV1alpha1EventSourceSpec.md | 3 +- .../IoArgoprojEventsV1alpha1GitArtifact.md | 1 + ...oArgoprojEventsV1alpha1KafkaEventSource.md | 1 + ...oArgoprojEventsV1alpha1RedisEventSource.md | 2 + ...rojEventsV1alpha1RedisStreamEventSource.md | 22 ++ .../IoArgoprojEventsV1alpha1SNSEventSource.md | 1 + .../IoArgoprojEventsV1alpha1SQSEventSource.md | 1 + .../IoArgoprojEventsV1alpha1WebhookContext.md | 1 + ...rgoprojEventsV1alpha1WebhookEventSource.md | 14 + ...j_events_v1alpha1_argo_workflow_trigger.py | 4 + ...argoproj_events_v1alpha1_bitbucket_auth.py | 8 +- ..._events_v1alpha1_bitbucket_event_source.py | 14 +- ...oj_events_v1alpha1_bitbucket_repository.py | 259 +++++++++++++++ ...events_v1alpha1_event_dependency_filter.py | 4 + ...oproj_events_v1alpha1_event_source_spec.py | 16 +- ...o_argoproj_events_v1alpha1_git_artifact.py | 4 + ...proj_events_v1alpha1_kafka_event_source.py | 4 + ...proj_events_v1alpha1_redis_event_source.py | 8 + ...ents_v1alpha1_redis_stream_event_source.py | 301 ++++++++++++++++++ ...goproj_events_v1alpha1_sns_event_source.py | 4 + ...goproj_events_v1alpha1_sqs_event_source.py | 4 + ...rgoproj_events_v1alpha1_webhook_context.py | 4 + ...oj_events_v1alpha1_webhook_event_source.py | 267 ++++++++++++++++ .../client/argo_workflows/models/__init__.py | 3 + .../client/docs/EventSourceServiceApi.md | 228 ++++++++++--- ...goprojEventsV1alpha1ArgoWorkflowTrigger.md | 1 + .../IoArgoprojEventsV1alpha1BitbucketAuth.md | 2 +- ...oprojEventsV1alpha1BitbucketEventSource.md | 5 +- ...goprojEventsV1alpha1BitbucketRepository.md | 13 + ...projEventsV1alpha1EventDependencyFilter.md | 1 + ...IoArgoprojEventsV1alpha1EventSourceSpec.md | 3 +- .../IoArgoprojEventsV1alpha1GitArtifact.md | 1 + ...oArgoprojEventsV1alpha1KafkaEventSource.md | 1 + ...oArgoprojEventsV1alpha1RedisEventSource.md | 2 + ...rojEventsV1alpha1RedisStreamEventSource.md | 21 ++ .../IoArgoprojEventsV1alpha1SNSEventSource.md | 1 + .../IoArgoprojEventsV1alpha1SQSEventSource.md | 1 + .../IoArgoprojEventsV1alpha1WebhookContext.md | 1 + ...rgoprojEventsV1alpha1WebhookEventSource.md | 13 + sdks/python/client/docs/SensorServiceApi.md | 12 + 52 files changed, 1560 insertions(+), 139 deletions(-) create mode 100644 sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketRepository.md create mode 100644 sdks/java/client/docs/IoArgoprojEventsV1alpha1RedisStreamEventSource.md create mode 100644 sdks/java/client/docs/IoArgoprojEventsV1alpha1WebhookEventSource.md create mode 100644 sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_repository.py create mode 100644 sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_redis_stream_event_source.py create mode 100644 sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_webhook_event_source.py create mode 100644 sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketRepository.md create mode 100644 sdks/python/client/docs/IoArgoprojEventsV1alpha1RedisStreamEventSource.md create mode 100644 sdks/python/client/docs/IoArgoprojEventsV1alpha1WebhookEventSource.md diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml index f308bf335cd1..f8541b50bd21 100644 --- a/.github/workflows/ci-build.yaml +++ b/.github/workflows/ci-build.yaml @@ -179,7 +179,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: - go-version: "1.18" + go-version: "1.19" - uses: actions/cache@v3 with: path: | @@ -191,9 +191,9 @@ jobs: - name: Install protoc run: | set -eux -o pipefail - curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.11.1/protoc-3.11.1-linux-x86_64.zip - sudo unzip -o protoc-3.11.1-linux-x86_64.zip -d /usr/local bin/protoc - sudo unzip -o protoc-3.11.1-linux-x86_64.zip -d /usr/local 'include/*' + curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-linux-x86_64.zip + sudo unzip -o protoc-3.19.4-linux-x86_64.zip -d /usr/local bin/protoc + sudo unzip -o protoc-3.19.4-linux-x86_64.zip -d /usr/local 'include/*' sudo chmod +x /usr/local/bin/protoc sudo find /usr/local/include -type f | xargs sudo chmod a+r sudo find /usr/local/include -type d | xargs sudo chmod a+rx diff --git a/api/jsonschema/schema.json b/api/jsonschema/schema.json index 1c1955b433b3..3ef23ca0f4b6 100644 --- a/api/jsonschema/schema.json +++ b/api/jsonschema/schema.json @@ -163,11 +163,11 @@ }, "consume": { "$ref": "#/definitions/io.argoproj.events.v1alpha1.AMQPConsumeConfig", - "title": "Consume holds the configuration to immediately starts delivering queued messages\nFor more information, visit https://godoc.org/github.com/streadway/amqp#Channel.Consume\n+optional" + "title": "Consume holds the configuration to immediately starts delivering queued messages\nFor more information, visit https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.Consume\n+optional" }, "exchangeDeclare": { "$ref": "#/definitions/io.argoproj.events.v1alpha1.AMQPExchangeDeclareConfig", - "title": "ExchangeDeclare holds the configuration for the exchange on the server\nFor more information, visit https://godoc.org/github.com/streadway/amqp#Channel.ExchangeDeclare\n+optional" + "title": "ExchangeDeclare holds the configuration for the exchange on the server\nFor more information, visit https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.ExchangeDeclare\n+optional" }, "exchangeName": { "title": "ExchangeName is the exchange name\nFor more information, visit https://www.rabbitmq.com/tutorials/amqp-concepts.html", @@ -194,11 +194,11 @@ }, "queueBind": { "$ref": "#/definitions/io.argoproj.events.v1alpha1.AMQPQueueBindConfig", - "title": "QueueBind holds the configuration that binds an exchange to a queue so that publishings to the\nexchange will be routed to the queue when the publishing routing key matches the binding routing key\nFor more information, visit https://godoc.org/github.com/streadway/amqp#Channel.QueueBind\n+optional" + "title": "QueueBind holds the configuration that binds an exchange to a queue so that publishings to the\nexchange will be routed to the queue when the publishing routing key matches the binding routing key\nFor more information, visit https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.QueueBind\n+optional" }, "queueDeclare": { "$ref": "#/definitions/io.argoproj.events.v1alpha1.AMQPQueueDeclareConfig", - "title": "QueueDeclare holds the configuration of a queue to hold messages and deliver to consumers.\nDeclaring creates a queue if it doesn't already exist, or ensures that an existing queue matches\nthe same parameters\nFor more information, visit https://godoc.org/github.com/streadway/amqp#Channel.QueueDeclare\n+optional" + "title": "QueueDeclare holds the configuration of a queue to hold messages and deliver to consumers.\nDeclaring creates a queue if it doesn't already exist, or ensures that an existing queue matches\nthe same parameters\nFor more information, visit https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.QueueDeclare\n+optional" }, "routingKey": { "title": "Routing key for bindings", @@ -338,6 +338,13 @@ }, "io.argoproj.events.v1alpha1.ArgoWorkflowTrigger": { "properties": { + "args": { + "items": { + "type": "string" + }, + "title": "Args is the list of arguments to pass to the argo CLI", + "type": "array" + }, "operation": { "title": "Operation refers to the type of operation performed on the argo workflow resource.\nDefault value is Submit.\n+optional", "type": "string" @@ -502,7 +509,7 @@ "$ref": "#/definitions/io.argoproj.events.v1alpha1.BitbucketBasicAuth", "title": "Basic is BasicAuth auth strategy.\n+optional" }, - "token": { + "oauthToken": { "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector", "title": "OAuthToken refers to the K8s secret that holds the OAuth Bearer token.\n+optional" } @@ -553,15 +560,22 @@ "type": "object" }, "owner": { - "description": "Owner of the repository.", + "title": "DeprecatedOwner is the owner of the repository.\nDeprecated: use Repositories instead. Will be unsupported in v1.9\n+optional", "type": "string" }, "projectKey": { - "title": "ProjectKey is the key of the project for which integration needs to setup", + "title": "DeprecatedProjectKey is the key of the project to which the repository relates\nDeprecated: use Repositories instead. Will be unsupported in v1.9\n+optional", "type": "string" }, + "repositories": { + "items": { + "$ref": "#/definitions/io.argoproj.events.v1alpha1.BitbucketRepository" + }, + "title": "Repositories holds a list of repositories for which integration needs to set up\n+optional", + "type": "array" + }, "repositorySlug": { - "description": "RepositorySlug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL.", + "title": "DeprecatedRepositorySlug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL\nDeprecated: use Repositories instead. Will be unsupported in v1.9\n+optional", "type": "string" }, "webhook": { @@ -572,6 +586,19 @@ "title": "BitbucketEventSource describes the event source for Bitbucket", "type": "object" }, + "io.argoproj.events.v1alpha1.BitbucketRepository": { + "properties": { + "owner": { + "title": "Owner is the owner of the repository", + "type": "string" + }, + "repositorySlug": { + "title": "RepositorySlug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL", + "type": "string" + } + }, + "type": "object" + }, "io.argoproj.events.v1alpha1.BitbucketServerEventSource": { "properties": { "accessToken": { @@ -605,18 +632,18 @@ "type": "object" }, "projectKey": { - "title": "DeprecatedProjectKey is the key of project for which integration needs to setup\nDeprecated: use Repositories instead. Will be unsupported in v1.8\n+optional", + "title": "DeprecatedProjectKey is the key of project for which integration needs to set up\nDeprecated: use Repositories instead. Will be unsupported in v1.8\n+optional", "type": "string" }, "repositories": { "items": { "$ref": "#/definitions/io.argoproj.events.v1alpha1.BitbucketServerRepository" }, - "title": "Repositories holds a list of repositories for which integration needs to setup\n+optional", + "title": "Repositories holds a list of repositories for which integration needs to set up\n+optional", "type": "array" }, "repositorySlug": { - "title": "DeprecatedRepositorySlug is the slug of the repository for which integration needs to setup\nDeprecated: use Repositories instead. Will be unsupported in v1.8\n+optional", + "title": "DeprecatedRepositorySlug is the slug of the repository for which integration needs to set up\nDeprecated: use Repositories instead. Will be unsupported in v1.8\n+optional", "type": "string" }, "webhook": { @@ -634,11 +661,11 @@ "io.argoproj.events.v1alpha1.BitbucketServerRepository": { "properties": { "projectKey": { - "title": "ProjectKey is the key of project for which integration needs to setup", + "title": "ProjectKey is the key of project for which integration needs to set up", "type": "string" }, "repositorySlug": { - "title": "RepositorySlug is the slug of the repository for which integration needs to setup", + "title": "RepositorySlug is the slug of the repository for which integration needs to set up", "type": "string" } }, @@ -972,6 +999,10 @@ }, "type": "array" }, + "script": { + "description": "Script refers to a Lua script evaluated to determine the validity of an io.argoproj.workflow.v1alpha1.", + "type": "string" + }, "time": { "$ref": "#/definitions/io.argoproj.events.v1alpha1.TimeFilter", "title": "Time filter on the event with escalation" @@ -1184,6 +1215,13 @@ "title": "Redis event source", "type": "object" }, + "redisStream": { + "additionalProperties": { + "$ref": "#/definitions/io.argoproj.events.v1alpha1.RedisStreamEventSource" + }, + "title": "Redis stream source", + "type": "object" + }, "replicas": { "title": "Replicas is the event source deployment replicas", "type": "integer" @@ -1240,7 +1278,7 @@ }, "webhook": { "additionalProperties": { - "$ref": "#/definitions/io.argoproj.events.v1alpha1.WebhookContext" + "$ref": "#/definitions/io.argoproj.events.v1alpha1.WebhookEventSource" }, "title": "Webhook event sources", "type": "object" @@ -1367,6 +1405,10 @@ "title": "Path to file that contains trigger resource definition", "type": "string" }, + "insecureIgnoreHostKey": { + "title": "Whether to ignore host key\n+optional", + "type": "boolean" + }, "ref": { "title": "Ref to use to pull trigger resource. Will result in a shallow clone and\nfetch.\n+optional", "type": "string" @@ -1755,6 +1797,10 @@ }, "io.argoproj.events.v1alpha1.KafkaEventSource": { "properties": { + "config": { + "description": "Yaml format Sarama config for Kafka connection.\nIt follows the struct of sarama.Config. See https://github.com/Shopify/sarama/blob/main/config.go\ne.g.\n\nconsumer:\n fetch:\n min: 1\nnet:\n MaxOpenRequests: 5\n\n+optional", + "type": "string" + }, "connectionBackoff": { "$ref": "#/definitions/io.argoproj.events.v1alpha1.Backoff", "description": "Backoff holds parameters applied to connection." @@ -2332,6 +2378,10 @@ "title": "HostAddress refers to the address of the Redis host/server", "type": "string" }, + "jsonBody": { + "title": "JSONBody specifies that all event body payload coming from this\nsource will be JSON\n+optional", + "type": "boolean" + }, "metadata": { "additionalProperties": { "type": "string" @@ -2350,11 +2400,67 @@ "tls": { "$ref": "#/definitions/io.argoproj.events.v1alpha1.TLSConfig", "title": "TLS configuration for the redis client.\n+optional" + }, + "username": { + "title": "Username required for ACL style authentication if any.\n+optional", + "type": "string" } }, "title": "RedisEventSource describes an event source for the Redis PubSub.\nMore info at https://godoc.org/github.com/go-redis/redis#example-PubSub", "type": "object" }, + "io.argoproj.events.v1alpha1.RedisStreamEventSource": { + "properties": { + "consumerGroup": { + "title": "ConsumerGroup refers to the Redis stream consumer group that will be\ncreated on all redis streams. Messages are read through this group. Defaults to 'argo-events-cg'\n+optional", + "type": "string" + }, + "db": { + "title": "DB to use. If not specified, default DB 0 will be used.\n+optional", + "type": "integer" + }, + "filter": { + "$ref": "#/definitions/io.argoproj.events.v1alpha1.EventSourceFilter", + "title": "Filter\n+optional" + }, + "hostAddress": { + "title": "HostAddress refers to the address of the Redis host/server (master instance)", + "type": "string" + }, + "maxMsgCountPerRead": { + "title": "MaxMsgCountPerRead holds the maximum number of messages per stream that will be read in each XREADGROUP of all streams\nExample: if there are 2 streams and MaxMsgCountPerRead=10, then each XREADGROUP may read upto a total of 20 messages.\nSame as COUNT option in XREADGROUP(https://redis.io/topics/streams-intro). Defaults to 10\n+optional", + "type": "integer" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "title": "Metadata holds the user defined metadata which will passed along the event payload.\n+optional", + "type": "object" + }, + "password": { + "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector", + "title": "Password required for authentication if any.\n+optional" + }, + "streams": { + "description": "Streams to look for entries. XREADGROUP is used on all streams using a single consumer group.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tls": { + "$ref": "#/definitions/io.argoproj.events.v1alpha1.TLSConfig", + "title": "TLS configuration for the redis client.\n+optional" + }, + "username": { + "title": "Username required for ACL style authentication if any.\n+optional", + "type": "string" + } + }, + "title": "RedisStreamEventSource describes an event source for\nRedis streams (https://redis.io/topics/streams-intro)", + "type": "object" + }, "io.argoproj.events.v1alpha1.Resource": { "description": "Resource represent arbitrary structured data.", "properties": { @@ -2516,6 +2622,10 @@ "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector", "title": "AccessKey refers K8s secret containing aws access key" }, + "endpoint": { + "title": "Endpoint configures connection to a specific SNS endpoint instead of Amazons servers\n+optional", + "type": "string" + }, "filter": { "$ref": "#/definitions/io.argoproj.events.v1alpha1.EventSourceFilter", "title": "Filter\n+optional" @@ -2604,6 +2714,10 @@ "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector", "title": "SecretKey refers K8s secret containing aws secret key" }, + "sessionToken": { + "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector", + "title": "SessionToken refers to K8s secret containing AWS temporary credentials(STS) session token\n+optional" + }, "waitTimeSeconds": { "description": "WaitTimeSeconds is The duration (in seconds) for which the call waits for a message to arrive\nin the queue before returning.", "type": "string" @@ -3247,6 +3361,10 @@ "title": "REST API endpoint", "type": "string" }, + "maxPayloadSize": { + "title": "MaxPayloadSize is the maximum webhook payload size that the server will accept.\nRequests exceeding that limit will be rejected with \"request too large\" response.\nDefault value: 1048576 (1MB).\n+optional", + "type": "string" + }, "metadata": { "additionalProperties": { "type": "string" @@ -3278,6 +3396,19 @@ "title": "WebhookContext holds a general purpose REST API context", "type": "object" }, + "io.argoproj.events.v1alpha1.WebhookEventSource": { + "properties": { + "filter": { + "$ref": "#/definitions/io.argoproj.events.v1alpha1.EventSourceFilter", + "title": "Filter\n+optional" + }, + "webhookContext": { + "$ref": "#/definitions/io.argoproj.events.v1alpha1.WebhookContext" + } + }, + "title": "CalendarEventSource describes an HTTP based EventSource", + "type": "object" + }, "io.argoproj.workflow.v1alpha1.Amount": { "description": "Amount represent a numeric amount.", "type": "number" diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 4c7c6cc229c9..d5d15e89b8f0 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -4085,11 +4085,11 @@ "$ref": "#/definitions/io.argoproj.events.v1alpha1.Backoff" }, "consume": { - "title": "Consume holds the configuration to immediately starts delivering queued messages\nFor more information, visit https://godoc.org/github.com/streadway/amqp#Channel.Consume\n+optional", + "title": "Consume holds the configuration to immediately starts delivering queued messages\nFor more information, visit https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.Consume\n+optional", "$ref": "#/definitions/io.argoproj.events.v1alpha1.AMQPConsumeConfig" }, "exchangeDeclare": { - "title": "ExchangeDeclare holds the configuration for the exchange on the server\nFor more information, visit https://godoc.org/github.com/streadway/amqp#Channel.ExchangeDeclare\n+optional", + "title": "ExchangeDeclare holds the configuration for the exchange on the server\nFor more information, visit https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.ExchangeDeclare\n+optional", "$ref": "#/definitions/io.argoproj.events.v1alpha1.AMQPExchangeDeclareConfig" }, "exchangeName": { @@ -4116,11 +4116,11 @@ } }, "queueBind": { - "title": "QueueBind holds the configuration that binds an exchange to a queue so that publishings to the\nexchange will be routed to the queue when the publishing routing key matches the binding routing key\nFor more information, visit https://godoc.org/github.com/streadway/amqp#Channel.QueueBind\n+optional", + "title": "QueueBind holds the configuration that binds an exchange to a queue so that publishings to the\nexchange will be routed to the queue when the publishing routing key matches the binding routing key\nFor more information, visit https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.QueueBind\n+optional", "$ref": "#/definitions/io.argoproj.events.v1alpha1.AMQPQueueBindConfig" }, "queueDeclare": { - "title": "QueueDeclare holds the configuration of a queue to hold messages and deliver to consumers.\nDeclaring creates a queue if it doesn't already exist, or ensures that an existing queue matches\nthe same parameters\nFor more information, visit https://godoc.org/github.com/streadway/amqp#Channel.QueueDeclare\n+optional", + "title": "QueueDeclare holds the configuration of a queue to hold messages and deliver to consumers.\nDeclaring creates a queue if it doesn't already exist, or ensures that an existing queue matches\nthe same parameters\nFor more information, visit https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.QueueDeclare\n+optional", "$ref": "#/definitions/io.argoproj.events.v1alpha1.AMQPQueueDeclareConfig" }, "routingKey": { @@ -4261,6 +4261,13 @@ "type": "object", "title": "ArgoWorkflowTrigger is the trigger for the Argo Workflow", "properties": { + "args": { + "type": "array", + "title": "Args is the list of arguments to pass to the argo CLI", + "items": { + "type": "string" + } + }, "operation": { "type": "string", "title": "Operation refers to the type of operation performed on the argo workflow resource.\nDefault value is Submit.\n+optional" @@ -4425,7 +4432,7 @@ "title": "Basic is BasicAuth auth strategy.\n+optional", "$ref": "#/definitions/io.argoproj.events.v1alpha1.BitbucketBasicAuth" }, - "token": { + "oauthToken": { "title": "OAuthToken refers to the K8s secret that holds the OAuth Bearer token.\n+optional", "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector" } @@ -4476,16 +4483,23 @@ } }, "owner": { - "description": "Owner of the repository.", - "type": "string" + "type": "string", + "title": "DeprecatedOwner is the owner of the repository.\nDeprecated: use Repositories instead. Will be unsupported in v1.9\n+optional" }, "projectKey": { "type": "string", - "title": "ProjectKey is the key of the project for which integration needs to setup" + "title": "DeprecatedProjectKey is the key of the project to which the repository relates\nDeprecated: use Repositories instead. Will be unsupported in v1.9\n+optional" + }, + "repositories": { + "type": "array", + "title": "Repositories holds a list of repositories for which integration needs to set up\n+optional", + "items": { + "$ref": "#/definitions/io.argoproj.events.v1alpha1.BitbucketRepository" + } }, "repositorySlug": { - "description": "RepositorySlug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL.", - "type": "string" + "type": "string", + "title": "DeprecatedRepositorySlug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL\nDeprecated: use Repositories instead. Will be unsupported in v1.9\n+optional" }, "webhook": { "title": "Webhook refers to the configuration required to run an http server", @@ -4493,6 +4507,19 @@ } } }, + "io.argoproj.events.v1alpha1.BitbucketRepository": { + "type": "object", + "properties": { + "owner": { + "type": "string", + "title": "Owner is the owner of the repository" + }, + "repositorySlug": { + "type": "string", + "title": "RepositorySlug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL" + } + } + }, "io.argoproj.events.v1alpha1.BitbucketServerEventSource": { "type": "object", "title": "BitbucketServerEventSource refers to event-source related to Bitbucket Server events", @@ -4529,18 +4556,18 @@ }, "projectKey": { "type": "string", - "title": "DeprecatedProjectKey is the key of project for which integration needs to setup\nDeprecated: use Repositories instead. Will be unsupported in v1.8\n+optional" + "title": "DeprecatedProjectKey is the key of project for which integration needs to set up\nDeprecated: use Repositories instead. Will be unsupported in v1.8\n+optional" }, "repositories": { "type": "array", - "title": "Repositories holds a list of repositories for which integration needs to setup\n+optional", + "title": "Repositories holds a list of repositories for which integration needs to set up\n+optional", "items": { "$ref": "#/definitions/io.argoproj.events.v1alpha1.BitbucketServerRepository" } }, "repositorySlug": { "type": "string", - "title": "DeprecatedRepositorySlug is the slug of the repository for which integration needs to setup\nDeprecated: use Repositories instead. Will be unsupported in v1.8\n+optional" + "title": "DeprecatedRepositorySlug is the slug of the repository for which integration needs to set up\nDeprecated: use Repositories instead. Will be unsupported in v1.8\n+optional" }, "webhook": { "title": "Webhook holds configuration to run a http server", @@ -4557,11 +4584,11 @@ "properties": { "projectKey": { "type": "string", - "title": "ProjectKey is the key of project for which integration needs to setup" + "title": "ProjectKey is the key of project for which integration needs to set up" }, "repositorySlug": { "type": "string", - "title": "RepositorySlug is the slug of the repository for which integration needs to setup" + "title": "RepositorySlug is the slug of the repository for which integration needs to set up" } } }, @@ -4894,6 +4921,10 @@ "$ref": "#/definitions/io.argoproj.events.v1alpha1.ExprFilter" } }, + "script": { + "description": "Script refers to a Lua script evaluated to determine the validity of an io.argoproj.workflow.v1alpha1.", + "type": "string" + }, "time": { "title": "Time filter on the event with escalation", "$ref": "#/definitions/io.argoproj.events.v1alpha1.TimeFilter" @@ -5107,6 +5138,13 @@ "$ref": "#/definitions/io.argoproj.events.v1alpha1.RedisEventSource" } }, + "redisStream": { + "type": "object", + "title": "Redis stream source", + "additionalProperties": { + "$ref": "#/definitions/io.argoproj.events.v1alpha1.RedisStreamEventSource" + } + }, "replicas": { "type": "integer", "title": "Replicas is the event source deployment replicas" @@ -5165,7 +5203,7 @@ "type": "object", "title": "Webhook event sources", "additionalProperties": { - "$ref": "#/definitions/io.argoproj.events.v1alpha1.WebhookContext" + "$ref": "#/definitions/io.argoproj.events.v1alpha1.WebhookEventSource" } } } @@ -5290,6 +5328,10 @@ "type": "string", "title": "Path to file that contains trigger resource definition" }, + "insecureIgnoreHostKey": { + "type": "boolean", + "title": "Whether to ignore host key\n+optional" + }, "ref": { "type": "string", "title": "Ref to use to pull trigger resource. Will result in a shallow clone and\nfetch.\n+optional" @@ -5678,6 +5720,10 @@ "type": "object", "title": "KafkaEventSource refers to event-source for Kafka related events", "properties": { + "config": { + "description": "Yaml format Sarama config for Kafka connection.\nIt follows the struct of sarama.Config. See https://github.com/Shopify/sarama/blob/main/config.go\ne.g.\n\nconsumer:\n fetch:\n min: 1\nnet:\n MaxOpenRequests: 5\n\n+optional", + "type": "string" + }, "connectionBackoff": { "description": "Backoff holds parameters applied to connection.", "$ref": "#/definitions/io.argoproj.events.v1alpha1.Backoff" @@ -6255,6 +6301,10 @@ "type": "string", "title": "HostAddress refers to the address of the Redis host/server" }, + "jsonBody": { + "type": "boolean", + "title": "JSONBody specifies that all event body payload coming from this\nsource will be JSON\n+optional" + }, "metadata": { "type": "object", "title": "Metadata holds the user defined metadata which will passed along the event payload.\n+optional", @@ -6273,6 +6323,62 @@ "tls": { "title": "TLS configuration for the redis client.\n+optional", "$ref": "#/definitions/io.argoproj.events.v1alpha1.TLSConfig" + }, + "username": { + "type": "string", + "title": "Username required for ACL style authentication if any.\n+optional" + } + } + }, + "io.argoproj.events.v1alpha1.RedisStreamEventSource": { + "type": "object", + "title": "RedisStreamEventSource describes an event source for\nRedis streams (https://redis.io/topics/streams-intro)", + "properties": { + "consumerGroup": { + "type": "string", + "title": "ConsumerGroup refers to the Redis stream consumer group that will be\ncreated on all redis streams. Messages are read through this group. Defaults to 'argo-events-cg'\n+optional" + }, + "db": { + "type": "integer", + "title": "DB to use. If not specified, default DB 0 will be used.\n+optional" + }, + "filter": { + "title": "Filter\n+optional", + "$ref": "#/definitions/io.argoproj.events.v1alpha1.EventSourceFilter" + }, + "hostAddress": { + "type": "string", + "title": "HostAddress refers to the address of the Redis host/server (master instance)" + }, + "maxMsgCountPerRead": { + "type": "integer", + "title": "MaxMsgCountPerRead holds the maximum number of messages per stream that will be read in each XREADGROUP of all streams\nExample: if there are 2 streams and MaxMsgCountPerRead=10, then each XREADGROUP may read upto a total of 20 messages.\nSame as COUNT option in XREADGROUP(https://redis.io/topics/streams-intro). Defaults to 10\n+optional" + }, + "metadata": { + "type": "object", + "title": "Metadata holds the user defined metadata which will passed along the event payload.\n+optional", + "additionalProperties": { + "type": "string" + } + }, + "password": { + "title": "Password required for authentication if any.\n+optional", + "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector" + }, + "streams": { + "description": "Streams to look for entries. XREADGROUP is used on all streams using a single consumer group.", + "type": "array", + "items": { + "type": "string" + } + }, + "tls": { + "title": "TLS configuration for the redis client.\n+optional", + "$ref": "#/definitions/io.argoproj.events.v1alpha1.TLSConfig" + }, + "username": { + "type": "string", + "title": "Username required for ACL style authentication if any.\n+optional" } } }, @@ -6439,6 +6545,10 @@ "title": "AccessKey refers K8s secret containing aws access key", "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector" }, + "endpoint": { + "type": "string", + "title": "Endpoint configures connection to a specific SNS endpoint instead of Amazons servers\n+optional" + }, "filter": { "title": "Filter\n+optional", "$ref": "#/definitions/io.argoproj.events.v1alpha1.EventSourceFilter" @@ -6527,6 +6637,10 @@ "title": "SecretKey refers K8s secret containing aws secret key", "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector" }, + "sessionToken": { + "title": "SessionToken refers to K8s secret containing AWS temporary credentials(STS) session token\n+optional", + "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector" + }, "waitTimeSeconds": { "description": "WaitTimeSeconds is The duration (in seconds) for which the call waits for a message to arrive\nin the queue before returning.", "type": "string" @@ -7170,6 +7284,10 @@ "type": "string", "title": "REST API endpoint" }, + "maxPayloadSize": { + "type": "string", + "title": "MaxPayloadSize is the maximum webhook payload size that the server will accept.\nRequests exceeding that limit will be rejected with \"request too large\" response.\nDefault value: 1048576 (1MB).\n+optional" + }, "metadata": { "type": "object", "title": "Metadata holds the user defined metadata which will passed along the event payload.\n+optional", @@ -7199,6 +7317,19 @@ } } }, + "io.argoproj.events.v1alpha1.WebhookEventSource": { + "type": "object", + "title": "CalendarEventSource describes an HTTP based EventSource", + "properties": { + "filter": { + "title": "Filter\n+optional", + "$ref": "#/definitions/io.argoproj.events.v1alpha1.EventSourceFilter" + }, + "webhookContext": { + "$ref": "#/definitions/io.argoproj.events.v1alpha1.WebhookContext" + } + } + }, "io.argoproj.workflow.v1alpha1.Amount": { "description": "Amount represent a numeric amount.", "type": "number" diff --git a/go.mod b/go.mod index 4ec9d2c82b77..4429a7c8f7a8 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/TwiN/go-color v1.1.0 github.com/aliyun/aliyun-oss-go-sdk v2.2.5+incompatible github.com/antonmedv/expr v1.9.0 - github.com/argoproj/argo-events v0.17.1-0.20220223155401-ddda8800f9f8 + github.com/argoproj/argo-events v1.7.2 github.com/argoproj/pkg v0.13.6 github.com/blushft/go-diagrams v0.0.0-20201006005127-c78c821223d9 github.com/colinmarc/hdfs v1.1.4-0.20180805212432-9746310a4d31 @@ -55,7 +55,7 @@ require ( golang.org/x/net v0.0.0-20220909164309-bea034e7d591 golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1 golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f - golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 + golang.org/x/time v0.0.0-20220922220347-f3bd1da661af google.golang.org/api v0.97.0 google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006 google.golang.org/grpc v1.49.0 @@ -74,7 +74,7 @@ require ( require ( cloud.google.com/go v0.104.0 // indirect - cloud.google.com/go/compute v1.7.0 // indirect + cloud.google.com/go/compute v1.9.0 // indirect cloud.google.com/go/iam v0.3.0 // indirect github.com/Azure/azure-sdk-for-go v62.0.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0 // indirect @@ -94,9 +94,9 @@ require ( github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 // indirect github.com/acomagu/bufpipe v1.0.3 // indirect github.com/ajg/form v1.5.1 // indirect - github.com/andybalholm/brotli v1.0.3 // indirect + github.com/andybalholm/brotli v1.0.4 // indirect github.com/awalterschulze/gographviz v0.0.0-20200901124122-0eecad45bd71 // indirect - github.com/aws/aws-sdk-go v1.44.39 // indirect + github.com/aws/aws-sdk-go v1.44.81 // indirect github.com/aws/aws-sdk-go-v2 v1.16.2 // indirect github.com/aws/aws-sdk-go-v2/config v1.15.3 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.11.2 // indirect @@ -132,8 +132,8 @@ require ( github.com/go-logr/logr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/swag v0.19.15 // indirect - github.com/golang-jwt/jwt v3.2.1+incompatible // indirect - github.com/golang-jwt/jwt/v4 v4.3.0 // indirect + github.com/golang-jwt/jwt v3.2.2+incompatible // indirect + github.com/golang-jwt/jwt/v4 v4.4.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/gnostic v0.5.7-v3refs // indirect github.com/google/go-cmp v0.5.8 // indirect @@ -146,7 +146,7 @@ require ( github.com/hashicorp/go-uuid v1.0.2 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/huandu/xstrings v1.3.2 // indirect - github.com/imdario/mergo v0.3.12 // indirect + github.com/imdario/mergo v0.3.13 // indirect github.com/imkira/go-interpol v1.1.0 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect @@ -154,7 +154,7 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect + github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/klauspost/compress v1.15.9 // indirect github.com/klauspost/cpuid/v2 v2.1.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect @@ -193,7 +193,7 @@ require ( github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect - github.com/valyala/fasthttp v1.30.0 // indirect + github.com/valyala/fasthttp v1.34.0 // indirect github.com/whilp/git-urls v1.0.0 // indirect github.com/xanzy/ssh-agent v0.3.1 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect @@ -202,7 +202,7 @@ require ( github.com/yudai/gojsondiff v1.0.0 // indirect github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect go.opencensus.io v0.23.0 // indirect - golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10 // indirect + golang.org/x/sys v0.0.0-20220829200755-d48e67d00261 // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect diff --git a/go.sum b/go.sum index 3fb7477ee173..bde04a4faa5a 100644 --- a/go.sum +++ b/go.sum @@ -48,8 +48,9 @@ cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJW cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= -cloud.google.com/go/compute v1.7.0 h1:v/k9Eueb8aAJ0vZuxKMrgm6kPhCLZU9HxFU+AFDs9Uk= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.9.0 h1:ED/FP4xv8GJw63v556/ASNc1CeeLUO2Bs8nzaHchkHg= +cloud.google.com/go/compute v1.9.0/go.mod h1:lWv1h/zUWTm/LozzfTJhBSkd6ShQq8la8VeeuOEGxfY= 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/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= @@ -197,8 +198,9 @@ github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cv github.com/aliyun/aliyun-oss-go-sdk v2.2.5+incompatible h1:QoRMR0TCctLDqBCMyOu1eXdZyMw3F7uGA9qPn2J4+R8= github.com/aliyun/aliyun-oss-go-sdk v2.2.5+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= -github.com/andybalholm/brotli v1.0.3 h1:fpcw+r1N1h0Poc1F/pHbW40cUm/lMEQslZtCkBQ0UnM= github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= @@ -208,8 +210,8 @@ github.com/antonmedv/expr v1.9.0/go.mod h1:5qsM3oLGDND7sDmQGDXHkYfkjYMUX14qsgqmH github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/argoproj-labs/go-git/v5 v5.4.4 h1:xXa015ZCEElgNMxaevPsK68oAsbjpmNGo9W+os1oeBU= github.com/argoproj-labs/go-git/v5 v5.4.4/go.mod h1:Lv1K45bcCda9jDMEZCGCVuXSGdBaSGAXUvptnVtaEsA= -github.com/argoproj/argo-events v0.17.1-0.20220223155401-ddda8800f9f8 h1:LqF/eUExbdTg7MEHUJt4DfZIg5hJN5lneybM7u7MbWI= -github.com/argoproj/argo-events v0.17.1-0.20220223155401-ddda8800f9f8/go.mod h1:AhwDnZwUrrwPgN0CYFMfZQ7liL+G+iL4ujNiLMv2l58= +github.com/argoproj/argo-events v1.7.2 h1:bhheGY0frnAZw2+pQ79e54U18o+79KaxomHpQpfVNBY= +github.com/argoproj/argo-events v1.7.2/go.mod h1:z6fGFQl+7fDMyW3vsUqOoNUObpZTyypiRc3SZcbXJ7o= github.com/argoproj/pkg v0.13.6 h1:36WPD9MNYECHcO1/R1pj6teYspiK7uMQLCgLGft2abM= github.com/argoproj/pkg v0.13.6/go.mod h1:I698DoJBKuvNFaixh4vFl2C88cNIT1WS7KCbz5ewyF8= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -229,8 +231,9 @@ github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZo github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.44.39 h1:pMxYLqnuDidT0ZTDAhYC66fb3W3Yc+oShmfzEL4fTDI= github.com/aws/aws-sdk-go v1.44.39/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.81 h1:C8oBZ+a+ka0qk3Q24MohQIFq0tkbO8IAu5tfpAMKVWE= +github.com/aws/aws-sdk-go v1.44.81/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go-v2 v1.7.1/go.mod h1:L5LuPC1ZgDr2xQS7AmIec/Jlc7O/Y1u2KxJyNVab250= github.com/aws/aws-sdk-go-v2 v1.14.0/go.mod h1:ZA3Y8V0LrlWj63MQAnRHgKf/5QB//LSZCPNWlWrNGLU= github.com/aws/aws-sdk-go-v2 v1.16.2 h1:fqlCk6Iy3bnCumtrLz9r3mJ/2gUT0pJ0wLFVIdWh+JA= @@ -648,12 +651,13 @@ github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= +github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= -github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= +github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -888,8 +892,9 @@ github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= +github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/imkira/go-interpol v1.0.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/imkira/go-interpol v1.1.0 h1:KIiKr0VSG2CUW1hl1jpiyuzuJeKUUpC8iM1AIE7N1Vk= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= @@ -937,8 +942,9 @@ github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8 github.com/julz/importas v0.0.0-20210419104244-841f0c0fe66d/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= github.com/karrick/godirwalk v1.7.8/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= @@ -950,6 +956,7 @@ github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8 github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= @@ -1029,8 +1036,8 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= @@ -1440,8 +1447,9 @@ github.com/uudashr/gocognit v1.0.5/go.mod h1:wgYz0mitoKOTysqxTDMOUXg+Jb5Svtihkfm github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.27.0/go.mod h1:cmWIqlu99AO/RKcp1HWaViTqc57FswJOfYYdPJBl8BA= -github.com/valyala/fasthttp v1.30.0 h1:nBNzWrgZUUHohyLPU/jTvXdhrcaf2m5k3bWk+3Q049g= github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= +github.com/valyala/fasthttp v1.34.0 h1:d3AAQJ2DRcxJYHm7OXNXtXt2as1vMDfxeIcFvhmGGm4= +github.com/valyala/fasthttp v1.34.0/go.mod h1:epZA5N+7pY6ZaEKRmstzOuYJx9HI8DI1oaCGZpdH4h0= github.com/valyala/fasttemplate v0.0.0-20170224212429-dcecefd839c4/go.mod h1:50wTf68f99/Zt14pr046Tgt3Lp2vLyFZKzbFXTOabXw= github.com/valyala/fasttemplate v1.2.1 h1:TVEnxayobAdVkhQfrfes2IzOB6o+z4roRkPF52WA1u4= github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= @@ -1853,8 +1861,9 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10 h1:WIoqL4EROvwiPdUtaip4VcDdpZ4kha7wBWZrbVKCIZg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261 h1:v6hYoSR9T5oet+pMXwUWkbiVqx/63mlHjefrHmxwfeY= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= @@ -1878,8 +1887,8 @@ golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 h1:M73Iuj3xbbb9Uk1DYhzydthsj6oOd6l9bpuFcNoUvTs= -golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af h1:Yx9k8YCG3dvF87UAn2tu2HQLf2dt/eR1bXxpLMWeH+Y= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -2268,6 +2277,7 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= diff --git a/pkg/client/clientset/versioned/fake/register.go b/pkg/client/clientset/versioned/fake/register.go index 06d337c7b878..4c790e1ce86b 100644 --- a/pkg/client/clientset/versioned/fake/register.go +++ b/pkg/client/clientset/versioned/fake/register.go @@ -21,14 +21,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{ // AddToScheme adds all types of this clientset into the given scheme. This allows composition // of clientsets, like in: // -// import ( -// "k8s.io/client-go/kubernetes" -// clientsetscheme "k8s.io/client-go/kubernetes/scheme" -// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" -// ) +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) // -// kclientset, _ := kubernetes.NewForConfig(c) -// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// kclientset, _ := kubernetes.NewForConfig(c) +// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) // // After this, RawExtensions in Kubernetes types will serialize kube-aggregator types // correctly. diff --git a/pkg/client/clientset/versioned/scheme/register.go b/pkg/client/clientset/versioned/scheme/register.go index bcaf8ea64712..e97269603976 100644 --- a/pkg/client/clientset/versioned/scheme/register.go +++ b/pkg/client/clientset/versioned/scheme/register.go @@ -21,14 +21,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{ // AddToScheme adds all types of this clientset into the given scheme. This allows composition // of clientsets, like in: // -// import ( -// "k8s.io/client-go/kubernetes" -// clientsetscheme "k8s.io/client-go/kubernetes/scheme" -// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" -// ) +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) // -// kclientset, _ := kubernetes.NewForConfig(c) -// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// kclientset, _ := kubernetes.NewForConfig(c) +// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) // // After this, RawExtensions in Kubernetes types will serialize kube-aggregator types // correctly. diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1ArgoWorkflowTrigger.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1ArgoWorkflowTrigger.md index 5bb3c5a40bdc..82903b1c6223 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1ArgoWorkflowTrigger.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1ArgoWorkflowTrigger.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | | [optional] **operation** | **String** | | [optional] **parameters** | [**List<IoArgoprojEventsV1alpha1TriggerParameter>**](IoArgoprojEventsV1alpha1TriggerParameter.md) | | [optional] **source** | [**IoArgoprojEventsV1alpha1ArtifactLocation**](IoArgoprojEventsV1alpha1ArtifactLocation.md) | | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketAuth.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketAuth.md index 780482036e6d..fd8ba3966149 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketAuth.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketAuth.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **basic** | [**IoArgoprojEventsV1alpha1BitbucketBasicAuth**](IoArgoprojEventsV1alpha1BitbucketBasicAuth.md) | | [optional] -**token** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional] +**oauthToken** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketEventSource.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketEventSource.md index 39a264918f46..64625bbdc684 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketEventSource.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketEventSource.md @@ -12,9 +12,10 @@ Name | Type | Description | Notes **events** | **List<String>** | Events this webhook is subscribed to. | [optional] **filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] **metadata** | **Map<String, String>** | | [optional] -**owner** | **String** | Owner of the repository. | [optional] +**owner** | **String** | | [optional] **projectKey** | **String** | | [optional] -**repositorySlug** | **String** | RepositorySlug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. | [optional] +**repositories** | [**List<IoArgoprojEventsV1alpha1BitbucketRepository>**](IoArgoprojEventsV1alpha1BitbucketRepository.md) | | [optional] +**repositorySlug** | **String** | | [optional] **webhook** | [**IoArgoprojEventsV1alpha1WebhookContext**](IoArgoprojEventsV1alpha1WebhookContext.md) | | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketRepository.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketRepository.md new file mode 100644 index 000000000000..34e4b7398b25 --- /dev/null +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1BitbucketRepository.md @@ -0,0 +1,14 @@ + + +# IoArgoprojEventsV1alpha1BitbucketRepository + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**owner** | **String** | | [optional] +**repositorySlug** | **String** | | [optional] + + + diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1EventDependencyFilter.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1EventDependencyFilter.md index 136aa9dad380..cde905e83a0a 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1EventDependencyFilter.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1EventDependencyFilter.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **dataLogicalOperator** | **String** | DataLogicalOperator defines how multiple Data filters (if defined) are evaluated together. Available values: and (&&), or (||) Is optional and if left blank treated as and (&&). | [optional] **exprLogicalOperator** | **String** | ExprLogicalOperator defines how multiple Exprs filters (if defined) are evaluated together. Available values: and (&&), or (||) Is optional and if left blank treated as and (&&). | [optional] **exprs** | [**List<IoArgoprojEventsV1alpha1ExprFilter>**](IoArgoprojEventsV1alpha1ExprFilter.md) | Exprs contains the list of expressions evaluated against the event payload. | [optional] +**script** | **String** | Script refers to a Lua script evaluated to determine the validity of an io.argoproj.workflow.v1alpha1. | [optional] **time** | [**IoArgoprojEventsV1alpha1TimeFilter**](IoArgoprojEventsV1alpha1TimeFilter.md) | | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1EventSourceSpec.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1EventSourceSpec.md index ffbbdffa9a11..6b5dcdaeffe4 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1EventSourceSpec.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1EventSourceSpec.md @@ -27,6 +27,7 @@ Name | Type | Description | Notes **pubSub** | [**Map<String, IoArgoprojEventsV1alpha1PubSubEventSource>**](IoArgoprojEventsV1alpha1PubSubEventSource.md) | | [optional] **pulsar** | [**Map<String, IoArgoprojEventsV1alpha1PulsarEventSource>**](IoArgoprojEventsV1alpha1PulsarEventSource.md) | | [optional] **redis** | [**Map<String, IoArgoprojEventsV1alpha1RedisEventSource>**](IoArgoprojEventsV1alpha1RedisEventSource.md) | | [optional] +**redisStream** | [**Map<String, IoArgoprojEventsV1alpha1RedisStreamEventSource>**](IoArgoprojEventsV1alpha1RedisStreamEventSource.md) | | [optional] **replicas** | **Integer** | | [optional] **resource** | [**Map<String, IoArgoprojEventsV1alpha1ResourceEventSource>**](IoArgoprojEventsV1alpha1ResourceEventSource.md) | | [optional] **service** | [**IoArgoprojEventsV1alpha1Service**](IoArgoprojEventsV1alpha1Service.md) | | [optional] @@ -36,7 +37,7 @@ Name | Type | Description | Notes **storageGrid** | [**Map<String, IoArgoprojEventsV1alpha1StorageGridEventSource>**](IoArgoprojEventsV1alpha1StorageGridEventSource.md) | | [optional] **stripe** | [**Map<String, IoArgoprojEventsV1alpha1StripeEventSource>**](IoArgoprojEventsV1alpha1StripeEventSource.md) | | [optional] **template** | [**IoArgoprojEventsV1alpha1Template**](IoArgoprojEventsV1alpha1Template.md) | | [optional] -**webhook** | [**Map<String, IoArgoprojEventsV1alpha1WebhookContext>**](IoArgoprojEventsV1alpha1WebhookContext.md) | | [optional] +**webhook** | [**Map<String, IoArgoprojEventsV1alpha1WebhookEventSource>**](IoArgoprojEventsV1alpha1WebhookEventSource.md) | | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1GitArtifact.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1GitArtifact.md index 6a983e5855ee..6c0681d8996b 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1GitArtifact.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1GitArtifact.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **cloneDirectory** | **String** | Directory to clone the repository. We clone complete directory because GitArtifact is not limited to any specific Git service providers. Hence we don't use any specific git provider client. | [optional] **creds** | [**IoArgoprojEventsV1alpha1GitCreds**](IoArgoprojEventsV1alpha1GitCreds.md) | | [optional] **filePath** | **String** | | [optional] +**insecureIgnoreHostKey** | **Boolean** | | [optional] **ref** | **String** | | [optional] **remote** | [**IoArgoprojEventsV1alpha1GitRemoteConfig**](IoArgoprojEventsV1alpha1GitRemoteConfig.md) | | [optional] **sshKeySecret** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1KafkaEventSource.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1KafkaEventSource.md index 27f6e5fcfa44..026e117d1008 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1KafkaEventSource.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1KafkaEventSource.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**config** | **String** | Yaml format Sarama config for Kafka connection. It follows the struct of sarama.Config. See https://github.com/Shopify/sarama/blob/main/config.go e.g. consumer: fetch: min: 1 net: MaxOpenRequests: 5 +optional | [optional] **connectionBackoff** | [**IoArgoprojEventsV1alpha1Backoff**](IoArgoprojEventsV1alpha1Backoff.md) | | [optional] **consumerGroup** | [**IoArgoprojEventsV1alpha1KafkaConsumerGroup**](IoArgoprojEventsV1alpha1KafkaConsumerGroup.md) | | [optional] **filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1RedisEventSource.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1RedisEventSource.md index 5ab357815d38..6ecf5745bd46 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1RedisEventSource.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1RedisEventSource.md @@ -11,10 +11,12 @@ Name | Type | Description | Notes **db** | **Integer** | | [optional] **filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] **hostAddress** | **String** | | [optional] +**jsonBody** | **Boolean** | | [optional] **metadata** | **Map<String, String>** | | [optional] **namespace** | **String** | | [optional] **password** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional] **tls** | [**IoArgoprojEventsV1alpha1TLSConfig**](IoArgoprojEventsV1alpha1TLSConfig.md) | | [optional] +**username** | **String** | | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1RedisStreamEventSource.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1RedisStreamEventSource.md new file mode 100644 index 000000000000..bf318d50ceaf --- /dev/null +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1RedisStreamEventSource.md @@ -0,0 +1,22 @@ + + +# IoArgoprojEventsV1alpha1RedisStreamEventSource + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**consumerGroup** | **String** | | [optional] +**db** | **Integer** | | [optional] +**filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] +**hostAddress** | **String** | | [optional] +**maxMsgCountPerRead** | **Integer** | | [optional] +**metadata** | **Map<String, String>** | | [optional] +**password** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional] +**streams** | **List<String>** | Streams to look for entries. XREADGROUP is used on all streams using a single consumer group. | [optional] +**tls** | [**IoArgoprojEventsV1alpha1TLSConfig**](IoArgoprojEventsV1alpha1TLSConfig.md) | | [optional] +**username** | **String** | | [optional] + + + diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1SNSEventSource.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1SNSEventSource.md index 002c248d297a..85252a3db5f3 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1SNSEventSource.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1SNSEventSource.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **accessKey** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional] +**endpoint** | **String** | | [optional] **filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] **metadata** | **Map<String, String>** | | [optional] **region** | **String** | | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1SQSEventSource.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1SQSEventSource.md index 383cf268c64c..78fab09a205f 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1SQSEventSource.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1SQSEventSource.md @@ -18,6 +18,7 @@ Name | Type | Description | Notes **region** | **String** | | [optional] **roleARN** | **String** | | [optional] **secretKey** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional] +**sessionToken** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional] **waitTimeSeconds** | **String** | WaitTimeSeconds is The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1WebhookContext.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1WebhookContext.md index 1253f90d0c1c..e16d6f842b88 100644 --- a/sdks/java/client/docs/IoArgoprojEventsV1alpha1WebhookContext.md +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1WebhookContext.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **authSecret** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional] **endpoint** | **String** | | [optional] +**maxPayloadSize** | **String** | | [optional] **metadata** | **Map<String, String>** | | [optional] **method** | **String** | | [optional] **port** | **String** | Port on which HTTP server is listening for incoming events. | [optional] diff --git a/sdks/java/client/docs/IoArgoprojEventsV1alpha1WebhookEventSource.md b/sdks/java/client/docs/IoArgoprojEventsV1alpha1WebhookEventSource.md new file mode 100644 index 000000000000..144988ba1721 --- /dev/null +++ b/sdks/java/client/docs/IoArgoprojEventsV1alpha1WebhookEventSource.md @@ -0,0 +1,14 @@ + + +# IoArgoprojEventsV1alpha1WebhookEventSource + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] +**webhookContext** | [**IoArgoprojEventsV1alpha1WebhookContext**](IoArgoprojEventsV1alpha1WebhookContext.md) | | [optional] + + + diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_argo_workflow_trigger.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_argo_workflow_trigger.py index c0e3936832af..e745878e181e 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_argo_workflow_trigger.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_argo_workflow_trigger.py @@ -89,6 +89,7 @@ def openapi_types(): """ lazy_import() return { + 'args': ([str],), # noqa: E501 'operation': (str,), # noqa: E501 'parameters': ([IoArgoprojEventsV1alpha1TriggerParameter],), # noqa: E501 'source': (IoArgoprojEventsV1alpha1ArtifactLocation,), # noqa: E501 @@ -100,6 +101,7 @@ def discriminator(): attribute_map = { + 'args': 'args', # noqa: E501 'operation': 'operation', # noqa: E501 'parameters': 'parameters', # noqa: E501 'source': 'source', # noqa: E501 @@ -146,6 +148,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + args ([str]): [optional] # noqa: E501 operation (str): [optional] # noqa: E501 parameters ([IoArgoprojEventsV1alpha1TriggerParameter]): [optional] # noqa: E501 source (IoArgoprojEventsV1alpha1ArtifactLocation): [optional] # noqa: E501 @@ -230,6 +233,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + args ([str]): [optional] # noqa: E501 operation (str): [optional] # noqa: E501 parameters ([IoArgoprojEventsV1alpha1TriggerParameter]): [optional] # noqa: E501 source (IoArgoprojEventsV1alpha1ArtifactLocation): [optional] # noqa: E501 diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_auth.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_auth.py index 978f529ed586..92a26ed1b546 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_auth.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_auth.py @@ -90,7 +90,7 @@ def openapi_types(): lazy_import() return { 'basic': (IoArgoprojEventsV1alpha1BitbucketBasicAuth,), # noqa: E501 - 'token': (SecretKeySelector,), # noqa: E501 + 'oauth_token': (SecretKeySelector,), # noqa: E501 } @cached_property @@ -100,7 +100,7 @@ def discriminator(): attribute_map = { 'basic': 'basic', # noqa: E501 - 'token': 'token', # noqa: E501 + 'oauth_token': 'oauthToken', # noqa: E501 } read_only_vars = { @@ -145,7 +145,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) basic (IoArgoprojEventsV1alpha1BitbucketBasicAuth): [optional] # noqa: E501 - token (SecretKeySelector): [optional] # noqa: E501 + oauth_token (SecretKeySelector): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -228,7 +228,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) basic (IoArgoprojEventsV1alpha1BitbucketBasicAuth): [optional] # noqa: E501 - token (SecretKeySelector): [optional] # noqa: E501 + oauth_token (SecretKeySelector): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_event_source.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_event_source.py index 9336196ebfcb..df54093ed4a1 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_event_source.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_event_source.py @@ -31,9 +31,11 @@ def lazy_import(): from argo_workflows.model.io_argoproj_events_v1alpha1_bitbucket_auth import IoArgoprojEventsV1alpha1BitbucketAuth + from argo_workflows.model.io_argoproj_events_v1alpha1_bitbucket_repository import IoArgoprojEventsV1alpha1BitbucketRepository from argo_workflows.model.io_argoproj_events_v1alpha1_event_source_filter import IoArgoprojEventsV1alpha1EventSourceFilter from argo_workflows.model.io_argoproj_events_v1alpha1_webhook_context import IoArgoprojEventsV1alpha1WebhookContext globals()['IoArgoprojEventsV1alpha1BitbucketAuth'] = IoArgoprojEventsV1alpha1BitbucketAuth + globals()['IoArgoprojEventsV1alpha1BitbucketRepository'] = IoArgoprojEventsV1alpha1BitbucketRepository globals()['IoArgoprojEventsV1alpha1EventSourceFilter'] = IoArgoprojEventsV1alpha1EventSourceFilter globals()['IoArgoprojEventsV1alpha1WebhookContext'] = IoArgoprojEventsV1alpha1WebhookContext @@ -98,6 +100,7 @@ def openapi_types(): 'metadata': ({str: (str,)},), # noqa: E501 'owner': (str,), # noqa: E501 'project_key': (str,), # noqa: E501 + 'repositories': ([IoArgoprojEventsV1alpha1BitbucketRepository],), # noqa: E501 'repository_slug': (str,), # noqa: E501 'webhook': (IoArgoprojEventsV1alpha1WebhookContext,), # noqa: E501 } @@ -115,6 +118,7 @@ def discriminator(): 'metadata': 'metadata', # noqa: E501 'owner': 'owner', # noqa: E501 'project_key': 'projectKey', # noqa: E501 + 'repositories': 'repositories', # noqa: E501 'repository_slug': 'repositorySlug', # noqa: E501 'webhook': 'webhook', # noqa: E501 } @@ -165,9 +169,10 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 events ([str]): Events this webhook is subscribed to.. [optional] # noqa: E501 filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 metadata ({str: (str,)}): [optional] # noqa: E501 - owner (str): Owner of the repository.. [optional] # noqa: E501 + owner (str): [optional] # noqa: E501 project_key (str): [optional] # noqa: E501 - repository_slug (str): RepositorySlug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL.. [optional] # noqa: E501 + repositories ([IoArgoprojEventsV1alpha1BitbucketRepository]): [optional] # noqa: E501 + repository_slug (str): [optional] # noqa: E501 webhook (IoArgoprojEventsV1alpha1WebhookContext): [optional] # noqa: E501 """ @@ -255,9 +260,10 @@ def __init__(self, *args, **kwargs): # noqa: E501 events ([str]): Events this webhook is subscribed to.. [optional] # noqa: E501 filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 metadata ({str: (str,)}): [optional] # noqa: E501 - owner (str): Owner of the repository.. [optional] # noqa: E501 + owner (str): [optional] # noqa: E501 project_key (str): [optional] # noqa: E501 - repository_slug (str): RepositorySlug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL.. [optional] # noqa: E501 + repositories ([IoArgoprojEventsV1alpha1BitbucketRepository]): [optional] # noqa: E501 + repository_slug (str): [optional] # noqa: E501 webhook (IoArgoprojEventsV1alpha1WebhookContext): [optional] # noqa: E501 """ diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_repository.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_repository.py new file mode 100644 index 000000000000..b98082b3033d --- /dev/null +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_bitbucket_repository.py @@ -0,0 +1,259 @@ +""" + Argo Workflows API + + Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ # noqa: E501 + + The version of the OpenAPI document: VERSION + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from argo_workflows.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, +) +from ..model_utils import OpenApiModel +from argo_workflows.exceptions import ApiAttributeError + + + +class IoArgoprojEventsV1alpha1BitbucketRepository(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'owner': (str,), # noqa: E501 + 'repository_slug': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'owner': 'owner', # noqa: E501 + 'repository_slug': 'repositorySlug', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """IoArgoprojEventsV1alpha1BitbucketRepository - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + owner (str): [optional] # noqa: E501 + repository_slug (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """IoArgoprojEventsV1alpha1BitbucketRepository - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + owner (str): [optional] # noqa: E501 + repository_slug (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_event_dependency_filter.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_event_dependency_filter.py index 404a028ef090..a4a5793063a9 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_event_dependency_filter.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_event_dependency_filter.py @@ -98,6 +98,7 @@ def openapi_types(): 'data_logical_operator': (str,), # noqa: E501 'expr_logical_operator': (str,), # noqa: E501 'exprs': ([IoArgoprojEventsV1alpha1ExprFilter],), # noqa: E501 + 'script': (str,), # noqa: E501 'time': (IoArgoprojEventsV1alpha1TimeFilter,), # noqa: E501 } @@ -112,6 +113,7 @@ def discriminator(): 'data_logical_operator': 'dataLogicalOperator', # noqa: E501 'expr_logical_operator': 'exprLogicalOperator', # noqa: E501 'exprs': 'exprs', # noqa: E501 + 'script': 'script', # noqa: E501 'time': 'time', # noqa: E501 } @@ -161,6 +163,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 data_logical_operator (str): DataLogicalOperator defines how multiple Data filters (if defined) are evaluated together. Available values: and (&&), or (||) Is optional and if left blank treated as and (&&).. [optional] # noqa: E501 expr_logical_operator (str): ExprLogicalOperator defines how multiple Exprs filters (if defined) are evaluated together. Available values: and (&&), or (||) Is optional and if left blank treated as and (&&).. [optional] # noqa: E501 exprs ([IoArgoprojEventsV1alpha1ExprFilter]): Exprs contains the list of expressions evaluated against the event payload.. [optional] # noqa: E501 + script (str): Script refers to a Lua script evaluated to determine the validity of an io.argoproj.workflow.v1alpha1.. [optional] # noqa: E501 time (IoArgoprojEventsV1alpha1TimeFilter): [optional] # noqa: E501 """ @@ -248,6 +251,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 data_logical_operator (str): DataLogicalOperator defines how multiple Data filters (if defined) are evaluated together. Available values: and (&&), or (||) Is optional and if left blank treated as and (&&).. [optional] # noqa: E501 expr_logical_operator (str): ExprLogicalOperator defines how multiple Exprs filters (if defined) are evaluated together. Available values: and (&&), or (||) Is optional and if left blank treated as and (&&).. [optional] # noqa: E501 exprs ([IoArgoprojEventsV1alpha1ExprFilter]): Exprs contains the list of expressions evaluated against the event payload.. [optional] # noqa: E501 + script (str): Script refers to a Lua script evaluated to determine the validity of an io.argoproj.workflow.v1alpha1.. [optional] # noqa: E501 time (IoArgoprojEventsV1alpha1TimeFilter): [optional] # noqa: E501 """ diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_event_source_spec.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_event_source_spec.py index 565f870a64fa..f40c8dfe2302 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_event_source_spec.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_event_source_spec.py @@ -48,6 +48,7 @@ def lazy_import(): from argo_workflows.model.io_argoproj_events_v1alpha1_pub_sub_event_source import IoArgoprojEventsV1alpha1PubSubEventSource from argo_workflows.model.io_argoproj_events_v1alpha1_pulsar_event_source import IoArgoprojEventsV1alpha1PulsarEventSource from argo_workflows.model.io_argoproj_events_v1alpha1_redis_event_source import IoArgoprojEventsV1alpha1RedisEventSource + from argo_workflows.model.io_argoproj_events_v1alpha1_redis_stream_event_source import IoArgoprojEventsV1alpha1RedisStreamEventSource from argo_workflows.model.io_argoproj_events_v1alpha1_resource_event_source import IoArgoprojEventsV1alpha1ResourceEventSource from argo_workflows.model.io_argoproj_events_v1alpha1_s3_artifact import IoArgoprojEventsV1alpha1S3Artifact from argo_workflows.model.io_argoproj_events_v1alpha1_service import IoArgoprojEventsV1alpha1Service @@ -57,7 +58,7 @@ def lazy_import(): from argo_workflows.model.io_argoproj_events_v1alpha1_storage_grid_event_source import IoArgoprojEventsV1alpha1StorageGridEventSource from argo_workflows.model.io_argoproj_events_v1alpha1_stripe_event_source import IoArgoprojEventsV1alpha1StripeEventSource from argo_workflows.model.io_argoproj_events_v1alpha1_template import IoArgoprojEventsV1alpha1Template - from argo_workflows.model.io_argoproj_events_v1alpha1_webhook_context import IoArgoprojEventsV1alpha1WebhookContext + from argo_workflows.model.io_argoproj_events_v1alpha1_webhook_event_source import IoArgoprojEventsV1alpha1WebhookEventSource globals()['IoArgoprojEventsV1alpha1AMQPEventSource'] = IoArgoprojEventsV1alpha1AMQPEventSource globals()['IoArgoprojEventsV1alpha1AzureEventsHubEventSource'] = IoArgoprojEventsV1alpha1AzureEventsHubEventSource globals()['IoArgoprojEventsV1alpha1BitbucketEventSource'] = IoArgoprojEventsV1alpha1BitbucketEventSource @@ -76,6 +77,7 @@ def lazy_import(): globals()['IoArgoprojEventsV1alpha1PubSubEventSource'] = IoArgoprojEventsV1alpha1PubSubEventSource globals()['IoArgoprojEventsV1alpha1PulsarEventSource'] = IoArgoprojEventsV1alpha1PulsarEventSource globals()['IoArgoprojEventsV1alpha1RedisEventSource'] = IoArgoprojEventsV1alpha1RedisEventSource + globals()['IoArgoprojEventsV1alpha1RedisStreamEventSource'] = IoArgoprojEventsV1alpha1RedisStreamEventSource globals()['IoArgoprojEventsV1alpha1ResourceEventSource'] = IoArgoprojEventsV1alpha1ResourceEventSource globals()['IoArgoprojEventsV1alpha1S3Artifact'] = IoArgoprojEventsV1alpha1S3Artifact globals()['IoArgoprojEventsV1alpha1SNSEventSource'] = IoArgoprojEventsV1alpha1SNSEventSource @@ -85,7 +87,7 @@ def lazy_import(): globals()['IoArgoprojEventsV1alpha1StorageGridEventSource'] = IoArgoprojEventsV1alpha1StorageGridEventSource globals()['IoArgoprojEventsV1alpha1StripeEventSource'] = IoArgoprojEventsV1alpha1StripeEventSource globals()['IoArgoprojEventsV1alpha1Template'] = IoArgoprojEventsV1alpha1Template - globals()['IoArgoprojEventsV1alpha1WebhookContext'] = IoArgoprojEventsV1alpha1WebhookContext + globals()['IoArgoprojEventsV1alpha1WebhookEventSource'] = IoArgoprojEventsV1alpha1WebhookEventSource class IoArgoprojEventsV1alpha1EventSourceSpec(ModelNormal): @@ -161,6 +163,7 @@ def openapi_types(): 'pub_sub': ({str: (IoArgoprojEventsV1alpha1PubSubEventSource,)},), # noqa: E501 'pulsar': ({str: (IoArgoprojEventsV1alpha1PulsarEventSource,)},), # noqa: E501 'redis': ({str: (IoArgoprojEventsV1alpha1RedisEventSource,)},), # noqa: E501 + 'redis_stream': ({str: (IoArgoprojEventsV1alpha1RedisStreamEventSource,)},), # noqa: E501 'replicas': (int,), # noqa: E501 'resource': ({str: (IoArgoprojEventsV1alpha1ResourceEventSource,)},), # noqa: E501 'service': (IoArgoprojEventsV1alpha1Service,), # noqa: E501 @@ -170,7 +173,7 @@ def openapi_types(): 'storage_grid': ({str: (IoArgoprojEventsV1alpha1StorageGridEventSource,)},), # noqa: E501 'stripe': ({str: (IoArgoprojEventsV1alpha1StripeEventSource,)},), # noqa: E501 'template': (IoArgoprojEventsV1alpha1Template,), # noqa: E501 - 'webhook': ({str: (IoArgoprojEventsV1alpha1WebhookContext,)},), # noqa: E501 + 'webhook': ({str: (IoArgoprojEventsV1alpha1WebhookEventSource,)},), # noqa: E501 } @cached_property @@ -199,6 +202,7 @@ def discriminator(): 'pub_sub': 'pubSub', # noqa: E501 'pulsar': 'pulsar', # noqa: E501 'redis': 'redis', # noqa: E501 + 'redis_stream': 'redisStream', # noqa: E501 'replicas': 'replicas', # noqa: E501 'resource': 'resource', # noqa: E501 'service': 'service', # noqa: E501 @@ -272,6 +276,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 pub_sub ({str: (IoArgoprojEventsV1alpha1PubSubEventSource,)}): [optional] # noqa: E501 pulsar ({str: (IoArgoprojEventsV1alpha1PulsarEventSource,)}): [optional] # noqa: E501 redis ({str: (IoArgoprojEventsV1alpha1RedisEventSource,)}): [optional] # noqa: E501 + redis_stream ({str: (IoArgoprojEventsV1alpha1RedisStreamEventSource,)}): [optional] # noqa: E501 replicas (int): [optional] # noqa: E501 resource ({str: (IoArgoprojEventsV1alpha1ResourceEventSource,)}): [optional] # noqa: E501 service (IoArgoprojEventsV1alpha1Service): [optional] # noqa: E501 @@ -281,7 +286,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 storage_grid ({str: (IoArgoprojEventsV1alpha1StorageGridEventSource,)}): [optional] # noqa: E501 stripe ({str: (IoArgoprojEventsV1alpha1StripeEventSource,)}): [optional] # noqa: E501 template (IoArgoprojEventsV1alpha1Template): [optional] # noqa: E501 - webhook ({str: (IoArgoprojEventsV1alpha1WebhookContext,)}): [optional] # noqa: E501 + webhook ({str: (IoArgoprojEventsV1alpha1WebhookEventSource,)}): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -383,6 +388,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 pub_sub ({str: (IoArgoprojEventsV1alpha1PubSubEventSource,)}): [optional] # noqa: E501 pulsar ({str: (IoArgoprojEventsV1alpha1PulsarEventSource,)}): [optional] # noqa: E501 redis ({str: (IoArgoprojEventsV1alpha1RedisEventSource,)}): [optional] # noqa: E501 + redis_stream ({str: (IoArgoprojEventsV1alpha1RedisStreamEventSource,)}): [optional] # noqa: E501 replicas (int): [optional] # noqa: E501 resource ({str: (IoArgoprojEventsV1alpha1ResourceEventSource,)}): [optional] # noqa: E501 service (IoArgoprojEventsV1alpha1Service): [optional] # noqa: E501 @@ -392,7 +398,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 storage_grid ({str: (IoArgoprojEventsV1alpha1StorageGridEventSource,)}): [optional] # noqa: E501 stripe ({str: (IoArgoprojEventsV1alpha1StripeEventSource,)}): [optional] # noqa: E501 template (IoArgoprojEventsV1alpha1Template): [optional] # noqa: E501 - webhook ({str: (IoArgoprojEventsV1alpha1WebhookContext,)}): [optional] # noqa: E501 + webhook ({str: (IoArgoprojEventsV1alpha1WebhookEventSource,)}): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_git_artifact.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_git_artifact.py index 9992b354e518..0692b8a99cd9 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_git_artifact.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_git_artifact.py @@ -95,6 +95,7 @@ def openapi_types(): 'clone_directory': (str,), # noqa: E501 'creds': (IoArgoprojEventsV1alpha1GitCreds,), # noqa: E501 'file_path': (str,), # noqa: E501 + 'insecure_ignore_host_key': (bool,), # noqa: E501 'ref': (str,), # noqa: E501 'remote': (IoArgoprojEventsV1alpha1GitRemoteConfig,), # noqa: E501 'ssh_key_secret': (SecretKeySelector,), # noqa: E501 @@ -112,6 +113,7 @@ def discriminator(): 'clone_directory': 'cloneDirectory', # noqa: E501 'creds': 'creds', # noqa: E501 'file_path': 'filePath', # noqa: E501 + 'insecure_ignore_host_key': 'insecureIgnoreHostKey', # noqa: E501 'ref': 'ref', # noqa: E501 'remote': 'remote', # noqa: E501 'ssh_key_secret': 'sshKeySecret', # noqa: E501 @@ -164,6 +166,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 clone_directory (str): Directory to clone the repository. We clone complete directory because GitArtifact is not limited to any specific Git service providers. Hence we don't use any specific git provider client.. [optional] # noqa: E501 creds (IoArgoprojEventsV1alpha1GitCreds): [optional] # noqa: E501 file_path (str): [optional] # noqa: E501 + insecure_ignore_host_key (bool): [optional] # noqa: E501 ref (str): [optional] # noqa: E501 remote (IoArgoprojEventsV1alpha1GitRemoteConfig): [optional] # noqa: E501 ssh_key_secret (SecretKeySelector): [optional] # noqa: E501 @@ -254,6 +257,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 clone_directory (str): Directory to clone the repository. We clone complete directory because GitArtifact is not limited to any specific Git service providers. Hence we don't use any specific git provider client.. [optional] # noqa: E501 creds (IoArgoprojEventsV1alpha1GitCreds): [optional] # noqa: E501 file_path (str): [optional] # noqa: E501 + insecure_ignore_host_key (bool): [optional] # noqa: E501 ref (str): [optional] # noqa: E501 remote (IoArgoprojEventsV1alpha1GitRemoteConfig): [optional] # noqa: E501 ssh_key_secret (SecretKeySelector): [optional] # noqa: E501 diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_kafka_event_source.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_kafka_event_source.py index fc68e4f530a8..d804e25c4943 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_kafka_event_source.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_kafka_event_source.py @@ -95,6 +95,7 @@ def openapi_types(): """ lazy_import() return { + 'config': (str,), # noqa: E501 'connection_backoff': (IoArgoprojEventsV1alpha1Backoff,), # noqa: E501 'consumer_group': (IoArgoprojEventsV1alpha1KafkaConsumerGroup,), # noqa: E501 'filter': (IoArgoprojEventsV1alpha1EventSourceFilter,), # noqa: E501 @@ -115,6 +116,7 @@ def discriminator(): attribute_map = { + 'config': 'config', # noqa: E501 'connection_backoff': 'connectionBackoff', # noqa: E501 'consumer_group': 'consumerGroup', # noqa: E501 'filter': 'filter', # noqa: E501 @@ -170,6 +172,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + config (str): Yaml format Sarama config for Kafka connection. It follows the struct of sarama.Config. See https://github.com/Shopify/sarama/blob/main/config.go e.g. consumer: fetch: min: 1 net: MaxOpenRequests: 5 +optional. [optional] # noqa: E501 connection_backoff (IoArgoprojEventsV1alpha1Backoff): [optional] # noqa: E501 consumer_group (IoArgoprojEventsV1alpha1KafkaConsumerGroup): [optional] # noqa: E501 filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 @@ -263,6 +266,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + config (str): Yaml format Sarama config for Kafka connection. It follows the struct of sarama.Config. See https://github.com/Shopify/sarama/blob/main/config.go e.g. consumer: fetch: min: 1 net: MaxOpenRequests: 5 +optional. [optional] # noqa: E501 connection_backoff (IoArgoprojEventsV1alpha1Backoff): [optional] # noqa: E501 consumer_group (IoArgoprojEventsV1alpha1KafkaConsumerGroup): [optional] # noqa: E501 filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_redis_event_source.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_redis_event_source.py index b32d10156094..85c7a5b06e88 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_redis_event_source.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_redis_event_source.py @@ -95,10 +95,12 @@ def openapi_types(): 'db': (int,), # noqa: E501 'filter': (IoArgoprojEventsV1alpha1EventSourceFilter,), # noqa: E501 'host_address': (str,), # noqa: E501 + 'json_body': (bool,), # noqa: E501 'metadata': ({str: (str,)},), # noqa: E501 'namespace': (str,), # noqa: E501 'password': (SecretKeySelector,), # noqa: E501 'tls': (IoArgoprojEventsV1alpha1TLSConfig,), # noqa: E501 + 'username': (str,), # noqa: E501 } @cached_property @@ -111,10 +113,12 @@ def discriminator(): 'db': 'db', # noqa: E501 'filter': 'filter', # noqa: E501 'host_address': 'hostAddress', # noqa: E501 + 'json_body': 'jsonBody', # noqa: E501 'metadata': 'metadata', # noqa: E501 'namespace': 'namespace', # noqa: E501 'password': 'password', # noqa: E501 'tls': 'tls', # noqa: E501 + 'username': 'username', # noqa: E501 } read_only_vars = { @@ -162,10 +166,12 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 db (int): [optional] # noqa: E501 filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 host_address (str): [optional] # noqa: E501 + json_body (bool): [optional] # noqa: E501 metadata ({str: (str,)}): [optional] # noqa: E501 namespace (str): [optional] # noqa: E501 password (SecretKeySelector): [optional] # noqa: E501 tls (IoArgoprojEventsV1alpha1TLSConfig): [optional] # noqa: E501 + username (str): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -251,10 +257,12 @@ def __init__(self, *args, **kwargs): # noqa: E501 db (int): [optional] # noqa: E501 filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 host_address (str): [optional] # noqa: E501 + json_body (bool): [optional] # noqa: E501 metadata ({str: (str,)}): [optional] # noqa: E501 namespace (str): [optional] # noqa: E501 password (SecretKeySelector): [optional] # noqa: E501 tls (IoArgoprojEventsV1alpha1TLSConfig): [optional] # noqa: E501 + username (str): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_redis_stream_event_source.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_redis_stream_event_source.py new file mode 100644 index 000000000000..187195c1411f --- /dev/null +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_redis_stream_event_source.py @@ -0,0 +1,301 @@ +""" + Argo Workflows API + + Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ # noqa: E501 + + The version of the OpenAPI document: VERSION + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from argo_workflows.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, +) +from ..model_utils import OpenApiModel +from argo_workflows.exceptions import ApiAttributeError + + +def lazy_import(): + from argo_workflows.model.io_argoproj_events_v1alpha1_event_source_filter import IoArgoprojEventsV1alpha1EventSourceFilter + from argo_workflows.model.io_argoproj_events_v1alpha1_tls_config import IoArgoprojEventsV1alpha1TLSConfig + from argo_workflows.model.secret_key_selector import SecretKeySelector + globals()['IoArgoprojEventsV1alpha1EventSourceFilter'] = IoArgoprojEventsV1alpha1EventSourceFilter + globals()['IoArgoprojEventsV1alpha1TLSConfig'] = IoArgoprojEventsV1alpha1TLSConfig + globals()['SecretKeySelector'] = SecretKeySelector + + +class IoArgoprojEventsV1alpha1RedisStreamEventSource(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'consumer_group': (str,), # noqa: E501 + 'db': (int,), # noqa: E501 + 'filter': (IoArgoprojEventsV1alpha1EventSourceFilter,), # noqa: E501 + 'host_address': (str,), # noqa: E501 + 'max_msg_count_per_read': (int,), # noqa: E501 + 'metadata': ({str: (str,)},), # noqa: E501 + 'password': (SecretKeySelector,), # noqa: E501 + 'streams': ([str],), # noqa: E501 + 'tls': (IoArgoprojEventsV1alpha1TLSConfig,), # noqa: E501 + 'username': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'consumer_group': 'consumerGroup', # noqa: E501 + 'db': 'db', # noqa: E501 + 'filter': 'filter', # noqa: E501 + 'host_address': 'hostAddress', # noqa: E501 + 'max_msg_count_per_read': 'maxMsgCountPerRead', # noqa: E501 + 'metadata': 'metadata', # noqa: E501 + 'password': 'password', # noqa: E501 + 'streams': 'streams', # noqa: E501 + 'tls': 'tls', # noqa: E501 + 'username': 'username', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """IoArgoprojEventsV1alpha1RedisStreamEventSource - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + consumer_group (str): [optional] # noqa: E501 + db (int): [optional] # noqa: E501 + filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 + host_address (str): [optional] # noqa: E501 + max_msg_count_per_read (int): [optional] # noqa: E501 + metadata ({str: (str,)}): [optional] # noqa: E501 + password (SecretKeySelector): [optional] # noqa: E501 + streams ([str]): Streams to look for entries. XREADGROUP is used on all streams using a single consumer group.. [optional] # noqa: E501 + tls (IoArgoprojEventsV1alpha1TLSConfig): [optional] # noqa: E501 + username (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """IoArgoprojEventsV1alpha1RedisStreamEventSource - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + consumer_group (str): [optional] # noqa: E501 + db (int): [optional] # noqa: E501 + filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 + host_address (str): [optional] # noqa: E501 + max_msg_count_per_read (int): [optional] # noqa: E501 + metadata ({str: (str,)}): [optional] # noqa: E501 + password (SecretKeySelector): [optional] # noqa: E501 + streams ([str]): Streams to look for entries. XREADGROUP is used on all streams using a single consumer group.. [optional] # noqa: E501 + tls (IoArgoprojEventsV1alpha1TLSConfig): [optional] # noqa: E501 + username (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_sns_event_source.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_sns_event_source.py index 33e523e47195..b99c5820bf68 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_sns_event_source.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_sns_event_source.py @@ -92,6 +92,7 @@ def openapi_types(): lazy_import() return { 'access_key': (SecretKeySelector,), # noqa: E501 + 'endpoint': (str,), # noqa: E501 'filter': (IoArgoprojEventsV1alpha1EventSourceFilter,), # noqa: E501 'metadata': ({str: (str,)},), # noqa: E501 'region': (str,), # noqa: E501 @@ -109,6 +110,7 @@ def discriminator(): attribute_map = { 'access_key': 'accessKey', # noqa: E501 + 'endpoint': 'endpoint', # noqa: E501 'filter': 'filter', # noqa: E501 'metadata': 'metadata', # noqa: E501 'region': 'region', # noqa: E501 @@ -161,6 +163,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) access_key (SecretKeySelector): [optional] # noqa: E501 + endpoint (str): [optional] # noqa: E501 filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 metadata ({str: (str,)}): [optional] # noqa: E501 region (str): [optional] # noqa: E501 @@ -251,6 +254,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) access_key (SecretKeySelector): [optional] # noqa: E501 + endpoint (str): [optional] # noqa: E501 filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 metadata ({str: (str,)}): [optional] # noqa: E501 region (str): [optional] # noqa: E501 diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_sqs_event_source.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_sqs_event_source.py index 018baff47247..cfad0084d587 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_sqs_event_source.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_sqs_event_source.py @@ -100,6 +100,7 @@ def openapi_types(): 'region': (str,), # noqa: E501 'role_arn': (str,), # noqa: E501 'secret_key': (SecretKeySelector,), # noqa: E501 + 'session_token': (SecretKeySelector,), # noqa: E501 'wait_time_seconds': (str,), # noqa: E501 } @@ -120,6 +121,7 @@ def discriminator(): 'region': 'region', # noqa: E501 'role_arn': 'roleARN', # noqa: E501 'secret_key': 'secretKey', # noqa: E501 + 'session_token': 'sessionToken', # noqa: E501 'wait_time_seconds': 'waitTimeSeconds', # noqa: E501 } @@ -175,6 +177,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 region (str): [optional] # noqa: E501 role_arn (str): [optional] # noqa: E501 secret_key (SecretKeySelector): [optional] # noqa: E501 + session_token (SecretKeySelector): [optional] # noqa: E501 wait_time_seconds (str): WaitTimeSeconds is The duration (in seconds) for which the call waits for a message to arrive in the queue before returning.. [optional] # noqa: E501 """ @@ -268,6 +271,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 region (str): [optional] # noqa: E501 role_arn (str): [optional] # noqa: E501 secret_key (SecretKeySelector): [optional] # noqa: E501 + session_token (SecretKeySelector): [optional] # noqa: E501 wait_time_seconds (str): WaitTimeSeconds is The duration (in seconds) for which the call waits for a message to arrive in the queue before returning.. [optional] # noqa: E501 """ diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_webhook_context.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_webhook_context.py index 7678e2c1d758..41de3816c5a4 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_webhook_context.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_webhook_context.py @@ -89,6 +89,7 @@ def openapi_types(): return { 'auth_secret': (SecretKeySelector,), # noqa: E501 'endpoint': (str,), # noqa: E501 + 'max_payload_size': (str,), # noqa: E501 'metadata': ({str: (str,)},), # noqa: E501 'method': (str,), # noqa: E501 'port': (str,), # noqa: E501 @@ -105,6 +106,7 @@ def discriminator(): attribute_map = { 'auth_secret': 'authSecret', # noqa: E501 'endpoint': 'endpoint', # noqa: E501 + 'max_payload_size': 'maxPayloadSize', # noqa: E501 'metadata': 'metadata', # noqa: E501 'method': 'method', # noqa: E501 'port': 'port', # noqa: E501 @@ -156,6 +158,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) auth_secret (SecretKeySelector): [optional] # noqa: E501 endpoint (str): [optional] # noqa: E501 + max_payload_size (str): [optional] # noqa: E501 metadata ({str: (str,)}): [optional] # noqa: E501 method (str): [optional] # noqa: E501 port (str): Port on which HTTP server is listening for incoming events.. [optional] # noqa: E501 @@ -245,6 +248,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) auth_secret (SecretKeySelector): [optional] # noqa: E501 endpoint (str): [optional] # noqa: E501 + max_payload_size (str): [optional] # noqa: E501 metadata ({str: (str,)}): [optional] # noqa: E501 method (str): [optional] # noqa: E501 port (str): Port on which HTTP server is listening for incoming events.. [optional] # noqa: E501 diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_webhook_event_source.py b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_webhook_event_source.py new file mode 100644 index 000000000000..debf6db5384d --- /dev/null +++ b/sdks/python/client/argo_workflows/model/io_argoproj_events_v1alpha1_webhook_event_source.py @@ -0,0 +1,267 @@ +""" + Argo Workflows API + + Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ # noqa: E501 + + The version of the OpenAPI document: VERSION + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from argo_workflows.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, +) +from ..model_utils import OpenApiModel +from argo_workflows.exceptions import ApiAttributeError + + +def lazy_import(): + from argo_workflows.model.io_argoproj_events_v1alpha1_event_source_filter import IoArgoprojEventsV1alpha1EventSourceFilter + from argo_workflows.model.io_argoproj_events_v1alpha1_webhook_context import IoArgoprojEventsV1alpha1WebhookContext + globals()['IoArgoprojEventsV1alpha1EventSourceFilter'] = IoArgoprojEventsV1alpha1EventSourceFilter + globals()['IoArgoprojEventsV1alpha1WebhookContext'] = IoArgoprojEventsV1alpha1WebhookContext + + +class IoArgoprojEventsV1alpha1WebhookEventSource(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'filter': (IoArgoprojEventsV1alpha1EventSourceFilter,), # noqa: E501 + 'webhook_context': (IoArgoprojEventsV1alpha1WebhookContext,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'filter': 'filter', # noqa: E501 + 'webhook_context': 'webhookContext', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """IoArgoprojEventsV1alpha1WebhookEventSource - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 + webhook_context (IoArgoprojEventsV1alpha1WebhookContext): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """IoArgoprojEventsV1alpha1WebhookEventSource - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + filter (IoArgoprojEventsV1alpha1EventSourceFilter): [optional] # noqa: E501 + webhook_context (IoArgoprojEventsV1alpha1WebhookContext): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/sdks/python/client/argo_workflows/models/__init__.py b/sdks/python/client/argo_workflows/models/__init__.py index 61650ad33252..eabd9ead7803 100644 --- a/sdks/python/client/argo_workflows/models/__init__.py +++ b/sdks/python/client/argo_workflows/models/__init__.py @@ -72,6 +72,7 @@ from argo_workflows.model.io_argoproj_events_v1alpha1_bitbucket_auth import IoArgoprojEventsV1alpha1BitbucketAuth from argo_workflows.model.io_argoproj_events_v1alpha1_bitbucket_basic_auth import IoArgoprojEventsV1alpha1BitbucketBasicAuth from argo_workflows.model.io_argoproj_events_v1alpha1_bitbucket_event_source import IoArgoprojEventsV1alpha1BitbucketEventSource +from argo_workflows.model.io_argoproj_events_v1alpha1_bitbucket_repository import IoArgoprojEventsV1alpha1BitbucketRepository from argo_workflows.model.io_argoproj_events_v1alpha1_bitbucket_server_event_source import IoArgoprojEventsV1alpha1BitbucketServerEventSource from argo_workflows.model.io_argoproj_events_v1alpha1_bitbucket_server_repository import IoArgoprojEventsV1alpha1BitbucketServerRepository from argo_workflows.model.io_argoproj_events_v1alpha1_calendar_event_source import IoArgoprojEventsV1alpha1CalendarEventSource @@ -125,6 +126,7 @@ from argo_workflows.model.io_argoproj_events_v1alpha1_pulsar_trigger import IoArgoprojEventsV1alpha1PulsarTrigger from argo_workflows.model.io_argoproj_events_v1alpha1_rate_limit import IoArgoprojEventsV1alpha1RateLimit from argo_workflows.model.io_argoproj_events_v1alpha1_redis_event_source import IoArgoprojEventsV1alpha1RedisEventSource +from argo_workflows.model.io_argoproj_events_v1alpha1_redis_stream_event_source import IoArgoprojEventsV1alpha1RedisStreamEventSource from argo_workflows.model.io_argoproj_events_v1alpha1_resource import IoArgoprojEventsV1alpha1Resource from argo_workflows.model.io_argoproj_events_v1alpha1_resource_event_source import IoArgoprojEventsV1alpha1ResourceEventSource from argo_workflows.model.io_argoproj_events_v1alpha1_resource_filter import IoArgoprojEventsV1alpha1ResourceFilter @@ -161,6 +163,7 @@ from argo_workflows.model.io_argoproj_events_v1alpha1_value_from_source import IoArgoprojEventsV1alpha1ValueFromSource from argo_workflows.model.io_argoproj_events_v1alpha1_watch_path_config import IoArgoprojEventsV1alpha1WatchPathConfig from argo_workflows.model.io_argoproj_events_v1alpha1_webhook_context import IoArgoprojEventsV1alpha1WebhookContext +from argo_workflows.model.io_argoproj_events_v1alpha1_webhook_event_source import IoArgoprojEventsV1alpha1WebhookEventSource from argo_workflows.model.io_argoproj_workflow_v1alpha1_archive_strategy import IoArgoprojWorkflowV1alpha1ArchiveStrategy from argo_workflows.model.io_argoproj_workflow_v1alpha1_arguments import IoArgoprojWorkflowV1alpha1Arguments from argo_workflows.model.io_argoproj_workflow_v1alpha1_art_gc_status import IoArgoprojWorkflowV1alpha1ArtGCStatus diff --git a/sdks/python/client/docs/EventSourceServiceApi.md b/sdks/python/client/docs/EventSourceServiceApi.md index 133be663fc38..c68b344298ec 100644 --- a/sdks/python/client/docs/EventSourceServiceApi.md +++ b/sdks/python/client/docs/EventSourceServiceApi.md @@ -222,7 +222,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), ), - token=SecretKeySelector( + oauth_token=SecretKeySelector( key="key_example", name="name_example", optional=True, @@ -240,6 +240,12 @@ with argo_workflows.ApiClient(configuration) as api_client: }, owner="owner_example", project_key="project_key_example", + repositories=[ + IoArgoprojEventsV1alpha1BitbucketRepository( + owner="owner_example", + repository_slug="repository_slug_example", + ), + ], repository_slug="repository_slug_example", webhook=IoArgoprojEventsV1alpha1WebhookContext( auth_secret=SecretKeySelector( @@ -248,6 +254,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -300,6 +307,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -495,6 +503,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -554,6 +563,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -614,6 +624,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, kafka={ "key": IoArgoprojEventsV1alpha1KafkaEventSource( + config="config_example", connection_backoff=IoArgoprojEventsV1alpha1Backoff( duration=IoArgoprojEventsV1alpha1Int64OrString( int64_val="int64_val_example", @@ -966,6 +977,7 @@ with argo_workflows.ApiClient(configuration) as api_client: expression="expression_example", ), host_address="host_address_example", + json_body=True, metadata={ "key": "key_example", }, @@ -993,6 +1005,48 @@ with argo_workflows.ApiClient(configuration) as api_client: ), insecure_skip_verify=True, ), + username="username_example", + ), + }, + redis_stream={ + "key": IoArgoprojEventsV1alpha1RedisStreamEventSource( + consumer_group="consumer_group_example", + db=1, + filter=IoArgoprojEventsV1alpha1EventSourceFilter( + expression="expression_example", + ), + host_address="host_address_example", + max_msg_count_per_read=1, + metadata={ + "key": "key_example", + }, + password=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + streams=[ + "streams_example", + ], + tls=IoArgoprojEventsV1alpha1TLSConfig( + ca_cert_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + client_cert_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + client_key_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + insecure_skip_verify=True, + ), + username="username_example", ), }, replicas=1, @@ -1069,6 +1123,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -1095,6 +1150,7 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + endpoint="endpoint_example", filter=IoArgoprojEventsV1alpha1EventSourceFilter( expression="expression_example", ), @@ -1117,6 +1173,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -1161,6 +1218,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), wait_time_seconds="wait_time_seconds_example", ), }, @@ -1192,6 +1254,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -1232,6 +1295,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -2162,29 +2226,35 @@ with argo_workflows.ApiClient(configuration) as api_client: ], ), webhook={ - "key": IoArgoprojEventsV1alpha1WebhookContext( - auth_secret=SecretKeySelector( - key="key_example", - name="name_example", - optional=True, - ), - endpoint="endpoint_example", - metadata={ - "key": "key_example", - }, - method="method_example", - port="port_example", - server_cert_secret=SecretKeySelector( - key="key_example", - name="name_example", - optional=True, + "key": IoArgoprojEventsV1alpha1WebhookEventSource( + filter=IoArgoprojEventsV1alpha1EventSourceFilter( + expression="expression_example", ), - server_key_secret=SecretKeySelector( - key="key_example", - name="name_example", - optional=True, + webhook_context=IoArgoprojEventsV1alpha1WebhookContext( + auth_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + endpoint="endpoint_example", + max_payload_size="max_payload_size_example", + metadata={ + "key": "key_example", + }, + method="method_example", + port="port_example", + server_cert_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + server_key_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + url="url_example", ), - url="url_example", ), }, ), @@ -2840,7 +2910,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), ), - token=SecretKeySelector( + oauth_token=SecretKeySelector( key="key_example", name="name_example", optional=True, @@ -2858,6 +2928,12 @@ with argo_workflows.ApiClient(configuration) as api_client: }, owner="owner_example", project_key="project_key_example", + repositories=[ + IoArgoprojEventsV1alpha1BitbucketRepository( + owner="owner_example", + repository_slug="repository_slug_example", + ), + ], repository_slug="repository_slug_example", webhook=IoArgoprojEventsV1alpha1WebhookContext( auth_secret=SecretKeySelector( @@ -2866,6 +2942,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -2918,6 +2995,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -3113,6 +3191,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -3172,6 +3251,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -3232,6 +3312,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, kafka={ "key": IoArgoprojEventsV1alpha1KafkaEventSource( + config="config_example", connection_backoff=IoArgoprojEventsV1alpha1Backoff( duration=IoArgoprojEventsV1alpha1Int64OrString( int64_val="int64_val_example", @@ -3584,6 +3665,7 @@ with argo_workflows.ApiClient(configuration) as api_client: expression="expression_example", ), host_address="host_address_example", + json_body=True, metadata={ "key": "key_example", }, @@ -3611,6 +3693,48 @@ with argo_workflows.ApiClient(configuration) as api_client: ), insecure_skip_verify=True, ), + username="username_example", + ), + }, + redis_stream={ + "key": IoArgoprojEventsV1alpha1RedisStreamEventSource( + consumer_group="consumer_group_example", + db=1, + filter=IoArgoprojEventsV1alpha1EventSourceFilter( + expression="expression_example", + ), + host_address="host_address_example", + max_msg_count_per_read=1, + metadata={ + "key": "key_example", + }, + password=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + streams=[ + "streams_example", + ], + tls=IoArgoprojEventsV1alpha1TLSConfig( + ca_cert_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + client_cert_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + client_key_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + insecure_skip_verify=True, + ), + username="username_example", ), }, replicas=1, @@ -3687,6 +3811,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -3713,6 +3838,7 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + endpoint="endpoint_example", filter=IoArgoprojEventsV1alpha1EventSourceFilter( expression="expression_example", ), @@ -3735,6 +3861,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -3779,6 +3906,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), wait_time_seconds="wait_time_seconds_example", ), }, @@ -3810,6 +3942,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -3850,6 +3983,7 @@ with argo_workflows.ApiClient(configuration) as api_client: optional=True, ), endpoint="endpoint_example", + max_payload_size="max_payload_size_example", metadata={ "key": "key_example", }, @@ -4780,29 +4914,35 @@ with argo_workflows.ApiClient(configuration) as api_client: ], ), webhook={ - "key": IoArgoprojEventsV1alpha1WebhookContext( - auth_secret=SecretKeySelector( - key="key_example", - name="name_example", - optional=True, - ), - endpoint="endpoint_example", - metadata={ - "key": "key_example", - }, - method="method_example", - port="port_example", - server_cert_secret=SecretKeySelector( - key="key_example", - name="name_example", - optional=True, + "key": IoArgoprojEventsV1alpha1WebhookEventSource( + filter=IoArgoprojEventsV1alpha1EventSourceFilter( + expression="expression_example", ), - server_key_secret=SecretKeySelector( - key="key_example", - name="name_example", - optional=True, + webhook_context=IoArgoprojEventsV1alpha1WebhookContext( + auth_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + endpoint="endpoint_example", + max_payload_size="max_payload_size_example", + metadata={ + "key": "key_example", + }, + method="method_example", + port="port_example", + server_cert_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + server_key_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + url="url_example", ), - url="url_example", ), }, ), diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1ArgoWorkflowTrigger.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1ArgoWorkflowTrigger.md index 53514f514343..521eff0b0d48 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1ArgoWorkflowTrigger.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1ArgoWorkflowTrigger.md @@ -4,6 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**args** | **[str]** | | [optional] **operation** | **str** | | [optional] **parameters** | [**[IoArgoprojEventsV1alpha1TriggerParameter]**](IoArgoprojEventsV1alpha1TriggerParameter.md) | | [optional] **source** | [**IoArgoprojEventsV1alpha1ArtifactLocation**](IoArgoprojEventsV1alpha1ArtifactLocation.md) | | [optional] diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketAuth.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketAuth.md index be49c8695355..ae1fa15c976a 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketAuth.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketAuth.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **basic** | [**IoArgoprojEventsV1alpha1BitbucketBasicAuth**](IoArgoprojEventsV1alpha1BitbucketBasicAuth.md) | | [optional] -**token** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] +**oauth_token** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketEventSource.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketEventSource.md index 1ba89891c81f..dc850e57011b 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketEventSource.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketEventSource.md @@ -9,9 +9,10 @@ Name | Type | Description | Notes **events** | **[str]** | Events this webhook is subscribed to. | [optional] **filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] **metadata** | **{str: (str,)}** | | [optional] -**owner** | **str** | Owner of the repository. | [optional] +**owner** | **str** | | [optional] **project_key** | **str** | | [optional] -**repository_slug** | **str** | RepositorySlug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. | [optional] +**repositories** | [**[IoArgoprojEventsV1alpha1BitbucketRepository]**](IoArgoprojEventsV1alpha1BitbucketRepository.md) | | [optional] +**repository_slug** | **str** | | [optional] **webhook** | [**IoArgoprojEventsV1alpha1WebhookContext**](IoArgoprojEventsV1alpha1WebhookContext.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketRepository.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketRepository.md new file mode 100644 index 000000000000..29cfa7e94f4c --- /dev/null +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1BitbucketRepository.md @@ -0,0 +1,13 @@ +# IoArgoprojEventsV1alpha1BitbucketRepository + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**owner** | **str** | | [optional] +**repository_slug** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1EventDependencyFilter.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1EventDependencyFilter.md index e3bf294b20c8..cde7363bffdc 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1EventDependencyFilter.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1EventDependencyFilter.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **data_logical_operator** | **str** | DataLogicalOperator defines how multiple Data filters (if defined) are evaluated together. Available values: and (&&), or (||) Is optional and if left blank treated as and (&&). | [optional] **expr_logical_operator** | **str** | ExprLogicalOperator defines how multiple Exprs filters (if defined) are evaluated together. Available values: and (&&), or (||) Is optional and if left blank treated as and (&&). | [optional] **exprs** | [**[IoArgoprojEventsV1alpha1ExprFilter]**](IoArgoprojEventsV1alpha1ExprFilter.md) | Exprs contains the list of expressions evaluated against the event payload. | [optional] +**script** | **str** | Script refers to a Lua script evaluated to determine the validity of an io.argoproj.workflow.v1alpha1. | [optional] **time** | [**IoArgoprojEventsV1alpha1TimeFilter**](IoArgoprojEventsV1alpha1TimeFilter.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1EventSourceSpec.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1EventSourceSpec.md index cedd333028d9..1977f3870317 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1EventSourceSpec.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1EventSourceSpec.md @@ -24,6 +24,7 @@ Name | Type | Description | Notes **pub_sub** | [**{str: (IoArgoprojEventsV1alpha1PubSubEventSource,)}**](IoArgoprojEventsV1alpha1PubSubEventSource.md) | | [optional] **pulsar** | [**{str: (IoArgoprojEventsV1alpha1PulsarEventSource,)}**](IoArgoprojEventsV1alpha1PulsarEventSource.md) | | [optional] **redis** | [**{str: (IoArgoprojEventsV1alpha1RedisEventSource,)}**](IoArgoprojEventsV1alpha1RedisEventSource.md) | | [optional] +**redis_stream** | [**{str: (IoArgoprojEventsV1alpha1RedisStreamEventSource,)}**](IoArgoprojEventsV1alpha1RedisStreamEventSource.md) | | [optional] **replicas** | **int** | | [optional] **resource** | [**{str: (IoArgoprojEventsV1alpha1ResourceEventSource,)}**](IoArgoprojEventsV1alpha1ResourceEventSource.md) | | [optional] **service** | [**IoArgoprojEventsV1alpha1Service**](IoArgoprojEventsV1alpha1Service.md) | | [optional] @@ -33,7 +34,7 @@ Name | Type | Description | Notes **storage_grid** | [**{str: (IoArgoprojEventsV1alpha1StorageGridEventSource,)}**](IoArgoprojEventsV1alpha1StorageGridEventSource.md) | | [optional] **stripe** | [**{str: (IoArgoprojEventsV1alpha1StripeEventSource,)}**](IoArgoprojEventsV1alpha1StripeEventSource.md) | | [optional] **template** | [**IoArgoprojEventsV1alpha1Template**](IoArgoprojEventsV1alpha1Template.md) | | [optional] -**webhook** | [**{str: (IoArgoprojEventsV1alpha1WebhookContext,)}**](IoArgoprojEventsV1alpha1WebhookContext.md) | | [optional] +**webhook** | [**{str: (IoArgoprojEventsV1alpha1WebhookEventSource,)}**](IoArgoprojEventsV1alpha1WebhookEventSource.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1GitArtifact.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1GitArtifact.md index 6116f0e8dfa8..bde5a82c5c59 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1GitArtifact.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1GitArtifact.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **clone_directory** | **str** | Directory to clone the repository. We clone complete directory because GitArtifact is not limited to any specific Git service providers. Hence we don't use any specific git provider client. | [optional] **creds** | [**IoArgoprojEventsV1alpha1GitCreds**](IoArgoprojEventsV1alpha1GitCreds.md) | | [optional] **file_path** | **str** | | [optional] +**insecure_ignore_host_key** | **bool** | | [optional] **ref** | **str** | | [optional] **remote** | [**IoArgoprojEventsV1alpha1GitRemoteConfig**](IoArgoprojEventsV1alpha1GitRemoteConfig.md) | | [optional] **ssh_key_secret** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1KafkaEventSource.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1KafkaEventSource.md index 7a43ee20b8c1..bfb1bb76fac8 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1KafkaEventSource.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1KafkaEventSource.md @@ -4,6 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**config** | **str** | Yaml format Sarama config for Kafka connection. It follows the struct of sarama.Config. See https://github.com/Shopify/sarama/blob/main/config.go e.g. consumer: fetch: min: 1 net: MaxOpenRequests: 5 +optional | [optional] **connection_backoff** | [**IoArgoprojEventsV1alpha1Backoff**](IoArgoprojEventsV1alpha1Backoff.md) | | [optional] **consumer_group** | [**IoArgoprojEventsV1alpha1KafkaConsumerGroup**](IoArgoprojEventsV1alpha1KafkaConsumerGroup.md) | | [optional] **filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1RedisEventSource.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1RedisEventSource.md index b6e19c40b1a9..7b0d7ef8c9a6 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1RedisEventSource.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1RedisEventSource.md @@ -8,10 +8,12 @@ Name | Type | Description | Notes **db** | **int** | | [optional] **filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] **host_address** | **str** | | [optional] +**json_body** | **bool** | | [optional] **metadata** | **{str: (str,)}** | | [optional] **namespace** | **str** | | [optional] **password** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] **tls** | [**IoArgoprojEventsV1alpha1TLSConfig**](IoArgoprojEventsV1alpha1TLSConfig.md) | | [optional] +**username** | **str** | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1RedisStreamEventSource.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1RedisStreamEventSource.md new file mode 100644 index 000000000000..3200d0d99e21 --- /dev/null +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1RedisStreamEventSource.md @@ -0,0 +1,21 @@ +# IoArgoprojEventsV1alpha1RedisStreamEventSource + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**consumer_group** | **str** | | [optional] +**db** | **int** | | [optional] +**filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] +**host_address** | **str** | | [optional] +**max_msg_count_per_read** | **int** | | [optional] +**metadata** | **{str: (str,)}** | | [optional] +**password** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] +**streams** | **[str]** | Streams to look for entries. XREADGROUP is used on all streams using a single consumer group. | [optional] +**tls** | [**IoArgoprojEventsV1alpha1TLSConfig**](IoArgoprojEventsV1alpha1TLSConfig.md) | | [optional] +**username** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1SNSEventSource.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1SNSEventSource.md index 9907198119c9..b0290d3e73f3 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1SNSEventSource.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1SNSEventSource.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **access_key** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] +**endpoint** | **str** | | [optional] **filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] **metadata** | **{str: (str,)}** | | [optional] **region** | **str** | | [optional] diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1SQSEventSource.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1SQSEventSource.md index c63348bdced8..fe350f9f4a95 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1SQSEventSource.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1SQSEventSource.md @@ -15,6 +15,7 @@ Name | Type | Description | Notes **region** | **str** | | [optional] **role_arn** | **str** | | [optional] **secret_key** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] +**session_token** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] **wait_time_seconds** | **str** | WaitTimeSeconds is The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1WebhookContext.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1WebhookContext.md index 6eaad000500d..4dfce684b23d 100644 --- a/sdks/python/client/docs/IoArgoprojEventsV1alpha1WebhookContext.md +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1WebhookContext.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **auth_secret** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] **endpoint** | **str** | | [optional] +**max_payload_size** | **str** | | [optional] **metadata** | **{str: (str,)}** | | [optional] **method** | **str** | | [optional] **port** | **str** | Port on which HTTP server is listening for incoming events. | [optional] diff --git a/sdks/python/client/docs/IoArgoprojEventsV1alpha1WebhookEventSource.md b/sdks/python/client/docs/IoArgoprojEventsV1alpha1WebhookEventSource.md new file mode 100644 index 000000000000..be3c1b1659a2 --- /dev/null +++ b/sdks/python/client/docs/IoArgoprojEventsV1alpha1WebhookEventSource.md @@ -0,0 +1,13 @@ +# IoArgoprojEventsV1alpha1WebhookEventSource + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**IoArgoprojEventsV1alpha1EventSourceFilter**](IoArgoprojEventsV1alpha1EventSourceFilter.md) | | [optional] +**webhook_context** | [**IoArgoprojEventsV1alpha1WebhookContext**](IoArgoprojEventsV1alpha1WebhookContext.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/SensorServiceApi.md b/sdks/python/client/docs/SensorServiceApi.md index 6ada855bd6fb..7b2f4b2b2414 100644 --- a/sdks/python/client/docs/SensorServiceApi.md +++ b/sdks/python/client/docs/SensorServiceApi.md @@ -143,6 +143,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], ), ], + script="script_example", time=IoArgoprojEventsV1alpha1TimeFilter( start="start_example", stop="stop_example", @@ -1132,6 +1133,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ), template=IoArgoprojEventsV1alpha1TriggerTemplate( argo_workflow=IoArgoprojEventsV1alpha1ArgoWorkflowTrigger( + args=[ + "args_example", + ], operation="operation_example", parameters=[ IoArgoprojEventsV1alpha1TriggerParameter( @@ -1172,6 +1176,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ), file_path="file_path_example", + insecure_ignore_host_key=True, ref="ref_example", remote=IoArgoprojEventsV1alpha1GitRemoteConfig( name="name_example", @@ -1488,6 +1493,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ), file_path="file_path_example", + insecure_ignore_host_key=True, ref="ref_example", remote=IoArgoprojEventsV1alpha1GitRemoteConfig( name="name_example", @@ -2381,6 +2387,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], ), ], + script="script_example", time=IoArgoprojEventsV1alpha1TimeFilter( start="start_example", stop="stop_example", @@ -3370,6 +3377,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ), template=IoArgoprojEventsV1alpha1TriggerTemplate( argo_workflow=IoArgoprojEventsV1alpha1ArgoWorkflowTrigger( + args=[ + "args_example", + ], operation="operation_example", parameters=[ IoArgoprojEventsV1alpha1TriggerParameter( @@ -3410,6 +3420,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ), file_path="file_path_example", + insecure_ignore_host_key=True, ref="ref_example", remote=IoArgoprojEventsV1alpha1GitRemoteConfig( name="name_example", @@ -3726,6 +3737,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ), file_path="file_path_example", + insecure_ignore_host_key=True, ref="ref_example", remote=IoArgoprojEventsV1alpha1GitRemoteConfig( name="name_example", From 2f5e7534c44499a9efce51d12ff87f8c3f725a21 Mon Sep 17 00:00:00 2001 From: Julie Vogelman Date: Wed, 28 Sep 2022 07:42:58 -0700 Subject: [PATCH 31/33] fix: ordering of functionality for setting and evaluating label expressions (#9661) * chore(deps): bump docker/login-action from 1 to 2 (#1) Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1...v2) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump docker/setup-buildx-action from 1 to 2 (#3) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1 to 2. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v1...v2) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump docker/setup-qemu-action from 1 to 2 (#4) Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1 to 2. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v2) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.24 to 7.0.26 (#5) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.24 to 7.0.26. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.24...v7.0.26) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.75.0 to 0.78.0 (#6) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.75.0 to 0.78.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.75.0...v0.78.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/argoproj/pkg from 0.12.0 to 0.13.2 (#7) Bumps [github.com/argoproj/pkg](https://github.com/argoproj/pkg) from 0.12.0 to 0.13.2. - [Release notes](https://github.com/argoproj/pkg/releases) - [Commits](https://github.com/argoproj/pkg/compare/v0.12.0...v0.13.2) --- updated-dependencies: - dependency-name: github.com/argoproj/pkg dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.78.0 to 0.79.0 (#8) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.78.0 to 0.79.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.78.0...v0.79.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/coreos/go-oidc/v3 from 3.1.0 to 3.2.0 (#9) Bumps [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) from 3.1.0 to 3.2.0. - [Release notes](https://github.com/coreos/go-oidc/releases) - [Commits](https://github.com/coreos/go-oidc/compare/v3.1.0...v3.2.0) --- updated-dependencies: - dependency-name: github.com/coreos/go-oidc/v3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/aliyun/aliyun-oss-go-sdk (#10) Bumps [github.com/aliyun/aliyun-oss-go-sdk](https://github.com/aliyun/aliyun-oss-go-sdk) from 2.2.2+incompatible to 2.2.3+incompatible. - [Release notes](https://github.com/aliyun/aliyun-oss-go-sdk/releases) - [Changelog](https://github.com/aliyun/aliyun-oss-go-sdk/blob/master/CHANGELOG.md) - [Commits](https://github.com/aliyun/aliyun-oss-go-sdk/compare/v2.2.2...v2.2.3) --- updated-dependencies: - dependency-name: github.com/aliyun/aliyun-oss-go-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/prometheus/client_golang (#11) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.12.1 to 1.12.2. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.12.2/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.12.1...v1.12.2) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.79.0 to 0.80.0 (#12) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.79.0 to 0.80.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.79.0...v0.80.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cloud.google.com/go/storage from 1.22.0 to 1.22.1 (#13) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.22.0 to 1.22.1. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.22.0...storage/v1.22.1) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.80.0 to 0.81.0 (#14) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.80.0 to 0.81.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.80.0...v0.81.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/aliyun/aliyun-oss-go-sdk (#15) Bumps [github.com/aliyun/aliyun-oss-go-sdk](https://github.com/aliyun/aliyun-oss-go-sdk) from 2.2.3+incompatible to 2.2.4+incompatible. - [Release notes](https://github.com/aliyun/aliyun-oss-go-sdk/releases) - [Changelog](https://github.com/aliyun/aliyun-oss-go-sdk/blob/master/CHANGELOG.md) - [Commits](https://github.com/aliyun/aliyun-oss-go-sdk/compare/v2.2.3...v2.2.4) --- updated-dependencies: - dependency-name: github.com/aliyun/aliyun-oss-go-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.26 to 7.0.27 (#16) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.26 to 7.0.27. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.26...v7.0.27) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/spf13/viper from 1.11.0 to 1.12.0 (#17) Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.11.0 to 1.12.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.11.0...v1.12.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.81.0 to 0.82.0 (#18) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.81.0 to 0.82.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.81.0...v0.82.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.82.0 to 0.83.0 (#19) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.82.0 to 0.83.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.82.0...v0.83.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.2 (#20) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.1 to 1.7.2. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.7.1...v1.7.2) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump actions/setup-python from 3 to 4 (#21) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.27 to 7.0.28 (#22) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.27 to 7.0.28. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.27...v7.0.28) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.83.0 to 0.84.0 (#23) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.83.0 to 0.84.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.83.0...v0.84.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/argoproj/pkg from 0.13.2 to 0.13.3 (#24) Bumps [github.com/argoproj/pkg](https://github.com/argoproj/pkg) from 0.13.2 to 0.13.3. - [Release notes](https://github.com/argoproj/pkg/releases) - [Commits](https://github.com/argoproj/pkg/compare/v0.13.2...v0.13.3) --- updated-dependencies: - dependency-name: github.com/argoproj/pkg dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/prometheus/common from 0.34.0 to 0.35.0 (#25) Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.34.0 to 0.35.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](https://github.com/prometheus/common/compare/v0.34.0...v0.35.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.28 to 7.0.29 (#26) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.28 to 7.0.29. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.28...v7.0.29) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.84.0 to 0.85.0 (#27) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.84.0 to 0.85.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.84.0...v0.85.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/stretchr/testify from 1.7.2 to 1.7.4 (#29) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.2 to 1.7.4. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.7.2...v1.7.4) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/argoproj/pkg from 0.13.3 to 0.13.6 (#30) Bumps [github.com/argoproj/pkg](https://github.com/argoproj/pkg) from 0.13.3 to 0.13.6. - [Release notes](https://github.com/argoproj/pkg/releases) - [Commits](https://github.com/argoproj/pkg/compare/v0.13.3...v0.13.6) --- updated-dependencies: - dependency-name: github.com/argoproj/pkg dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cloud.google.com/go/storage from 1.22.1 to 1.23.0 (#31) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.22.1 to 1.23.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.22.1...pubsub/v1.23.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/stretchr/testify from 1.7.4 to 1.7.5 (#32) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.4 to 1.7.5. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.7.4...v1.7.5) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.85.0 to 0.86.0 (#33) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.85.0 to 0.86.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.85.0...v0.86.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.29 to 7.0.30 (#34) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.29 to 7.0.30. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.29...v7.0.30) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 (#36) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.5 to 1.8.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.7.5...v1.8.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump dependabot/fetch-metadata from 1.3.1 to 1.3.3 (#37) Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.1 to 1.3.3. - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.1...v1.3.3) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.30 to 7.0.31 (#38) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.30 to 7.0.31. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.30...v7.0.31) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/prometheus/common from 0.35.0 to 0.36.0 (#39) Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.35.0 to 0.36.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](https://github.com/prometheus/common/compare/v0.35.0...v0.36.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.86.0 to 0.87.0 (#40) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.86.0 to 0.87.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.86.0...v0.87.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/prometheus/common from 0.36.0 to 0.37.0 (#41) Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.36.0 to 0.37.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](https://github.com/prometheus/common/compare/v0.36.0...v0.37.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0 (#42) Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.8.1 to 1.9.0. - [Release notes](https://github.com/sirupsen/logrus/releases) - [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md) - [Commits](https://github.com/sirupsen/logrus/compare/v1.8.1...v1.9.0) --- updated-dependencies: - dependency-name: github.com/sirupsen/logrus dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.87.0 to 0.88.0 (#43) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.87.0 to 0.88.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.87.0...v0.88.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cloud.google.com/go/storage from 1.23.0 to 1.24.0 (#44) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.23.0 to 1.24.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.23.0...pubsub/v1.24.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.31 to 7.0.32 (#45) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.31 to 7.0.32. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.31...v7.0.32) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.88.0 to 0.89.0 (#46) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.88.0 to 0.89.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.88.0...v0.89.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.89.0 to 0.90.0 (#47) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.89.0 to 0.90.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.89.0...v0.90.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.32 to 7.0.33 (#48) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.32 to 7.0.33. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.32...v7.0.33) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.90.0 to 0.91.0 (#49) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.90.0 to 0.91.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.90.0...v0.91.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.33 to 7.0.34 (#50) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.33 to 7.0.34. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.33...v7.0.34) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/tidwall/gjson from 1.14.1 to 1.14.2 (#51) Bumps [github.com/tidwall/gjson](https://github.com/tidwall/gjson) from 1.14.1 to 1.14.2. - [Release notes](https://github.com/tidwall/gjson/releases) - [Commits](https://github.com/tidwall/gjson/compare/v1.14.1...v1.14.2) --- updated-dependencies: - dependency-name: github.com/tidwall/gjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/prometheus/client_golang (#52) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.12.2 to 1.13.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.12.2...v1.13.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.91.0 to 0.92.0 (#53) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.91.0 to 0.92.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.91.0...v0.92.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cloud.google.com/go/storage from 1.24.0 to 1.25.0 (#54) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.24.0 to 1.25.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.24.0...spanner/v1.25.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.92.0 to 0.93.0 (#55) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.92.0 to 0.93.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.92.0...v0.93.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/argoproj-labs/argo-dataflow (#56) Bumps [github.com/argoproj-labs/argo-dataflow](https://github.com/argoproj-labs/argo-dataflow) from 0.10.2 to 0.10.3. - [Release notes](https://github.com/argoproj-labs/argo-dataflow/releases) - [Changelog](https://github.com/argoproj-labs/argo-dataflow/blob/main/CHANGELOG.md) - [Commits](https://github.com/argoproj-labs/argo-dataflow/compare/v0.10.2...v0.10.3) --- updated-dependencies: - dependency-name: github.com/argoproj-labs/argo-dataflow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/tidwall/gjson from 1.14.2 to 1.14.3 (#57) Bumps [github.com/tidwall/gjson](https://github.com/tidwall/gjson) from 1.14.2 to 1.14.3. - [Release notes](https://github.com/tidwall/gjson/releases) - [Commits](https://github.com/tidwall/gjson/compare/v1.14.2...v1.14.3) --- updated-dependencies: - dependency-name: github.com/tidwall/gjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/aliyun/aliyun-oss-go-sdk (#58) Bumps [github.com/aliyun/aliyun-oss-go-sdk](https://github.com/aliyun/aliyun-oss-go-sdk) from 2.2.4+incompatible to 2.2.5+incompatible. - [Release notes](https://github.com/aliyun/aliyun-oss-go-sdk/releases) - [Changelog](https://github.com/aliyun/aliyun-oss-go-sdk/blob/master/CHANGELOG.md) - [Commits](https://github.com/aliyun/aliyun-oss-go-sdk/compare/v2.2.4...v2.2.5) --- updated-dependencies: - dependency-name: github.com/aliyun/aliyun-oss-go-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.93.0 to 0.94.0 (#59) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.93.0 to 0.94.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.93.0...v0.94.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cloud.google.com/go/storage from 1.25.0 to 1.26.0 (#60) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.25.0 to 1.26.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.25.0...spanner/v1.26.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: breaking updateWorkflowMetadata() into two functions Signed-off-by: Julie Vogelman * fix: separate the update of workflowMetadata global-params from the setting of the actual metadata Signed-off-by: Julie Vogelman * fix: move the code around a bit Signed-off-by: Julie Vogelman * fix: reorder evaluation of labelsFrom Signed-off-by: Julie Vogelman * fix: evaluate LabelsFrom Signed-off-by: Julie Vogelman * fix: don't think we need to do substitution of templates here Signed-off-by: Julie Vogelman * fix: empty commit Signed-off-by: Julie Vogelman * fix: adding unit test Signed-off-by: Julie Vogelman * chore: comments Signed-off-by: Julie Vogelman * fix: empty commit Signed-off-by: Julie Vogelman * chore: restore generation of Labels/Annotations maps Signed-off-by: Julie Vogelman * chore: comment Signed-off-by: Julie Vogelman * fix: should update globalParams too Signed-off-by: Julie Vogelman * fix: typo Signed-off-by: Julie Vogelman * fix: empty commit Signed-off-by: Julie Vogelman Signed-off-by: dependabot[bot] Signed-off-by: Julie Vogelman Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- workflow/controller/operator.go | 79 +++++++++++++++---- workflow/controller/operator_test.go | 12 ++- .../testdata/workflow-sub-test-1.yaml | 4 +- .../testdata/workflow-sub-test-2.yaml | 8 +- .../testdata/workflow-sub-test-3.yaml | 12 +-- .../testdata/workflow-sub-test-4.yaml | 12 +-- .../testdata/workflow-sub-test-5.yaml | 8 +- .../testdata/workflow-sub-test-6.yaml | 22 ++++++ .../workflow-template-sub-test-1.yaml | 4 +- .../workflow-template-sub-test-2.yaml | 8 +- .../workflow-template-sub-test-3.yaml | 10 +-- .../workflow-template-sub-test-4.yaml | 8 +- 12 files changed, 133 insertions(+), 54 deletions(-) create mode 100644 workflow/controller/testdata/workflow-sub-test-6.yaml diff --git a/workflow/controller/operator.go b/workflow/controller/operator.go index 6b8bafced597..f8722a46d118 100644 --- a/workflow/controller/operator.go +++ b/workflow/controller/operator.go @@ -482,22 +482,30 @@ func (woc *wfOperationCtx) operate(ctx context.Context) { } } +// set Labels and Annotations for the Workflow +// Also, since we're setting Labels and Annotations we need to find any +// parameters formatted as "workflow.labels." or "workflow.annotations." +// and perform substitution func (woc *wfOperationCtx) updateWorkflowMetadata() error { + updatedParams := make(common.Parameters) if md := woc.execWf.Spec.WorkflowMetadata; md != nil { - if woc.wf.ObjectMeta.Labels == nil { - woc.wf.ObjectMeta.Labels = make(map[string]string) + if woc.wf.Labels == nil { + woc.wf.Labels = make(map[string]string) } for n, v := range md.Labels { woc.wf.Labels[n] = v woc.globalParams["workflow.labels."+n] = v + updatedParams["workflow.labels."+n] = v } - if woc.wf.ObjectMeta.Annotations == nil { - woc.wf.ObjectMeta.Annotations = make(map[string]string) + if woc.wf.Annotations == nil { + woc.wf.Annotations = make(map[string]string) } for n, v := range md.Annotations { woc.wf.Annotations[n] = v woc.globalParams["workflow.annotations."+n] = v + updatedParams["workflow.annotations."+n] = v } + env := env.GetFuncMap(template.EnvMap(woc.globalParams)) for n, f := range md.LabelsFrom { r, err := expr.Eval(f.Expression, env) @@ -510,8 +518,16 @@ func (woc *wfOperationCtx) updateWorkflowMetadata() error { } woc.wf.Labels[n] = v woc.globalParams["workflow.labels."+n] = v + updatedParams["workflow.labels."+n] = v } woc.updated = true + + // Now we need to do any substitution that involves these labels + err := woc.substituteGlobalVariables(updatedParams) + if err != nil { + return err + } + } return nil } @@ -570,6 +586,23 @@ func (woc *wfOperationCtx) setGlobalParameters(executionParameters wfv1.Argument woc.globalParams["workflow.parameters."+param.Name] = param.Value.String() } } + if woc.wf.Status.Outputs != nil { + for _, param := range woc.wf.Status.Outputs.Parameters { + if param.HasValue() { + woc.globalParams["workflow.outputs.parameters."+param.Name] = param.GetValue() + } + } + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Set global parameters based on Labels and Annotations, both those that are defined in the execWf.ObjectMeta + // and those that are defined in the execWf.Spec.WorkflowMetadata + // Note: we no longer set globalParams based on LabelsFrom expressions here since they may themselves use parameters + // and thus will need to be evaluated later based on the evaluation of those parameters + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + + md := woc.execWf.Spec.WorkflowMetadata + if workflowAnnotations, err := json.Marshal(woc.wf.ObjectMeta.Annotations); err == nil { woc.globalParams[common.GlobalVarWorkflowAnnotations] = string(workflowAnnotations) } @@ -580,15 +613,30 @@ func (woc *wfOperationCtx) setGlobalParameters(executionParameters wfv1.Argument woc.globalParams[common.GlobalVarWorkflowLabels] = string(workflowLabels) } for k, v := range woc.wf.ObjectMeta.Labels { - woc.globalParams["workflow.labels."+k] = v + // if the Label will get overridden by a LabelsFrom expression later, don't set it now + if md != nil { + _, existsLabelsFrom := md.LabelsFrom[k] + if !existsLabelsFrom { + woc.globalParams["workflow.labels."+k] = v + } + } else { + woc.globalParams["workflow.labels."+k] = v + } } - if woc.wf.Status.Outputs != nil { - for _, param := range woc.wf.Status.Outputs.Parameters { - if param.HasValue() { - woc.globalParams["workflow.outputs.parameters."+param.Name] = param.GetValue() + + if md != nil { + for n, v := range md.Labels { + // if the Label will get overridden by a LabelsFrom expression later, don't set it now + _, existsLabelsFrom := md.LabelsFrom[n] + if !existsLabelsFrom { + woc.globalParams["workflow.labels."+n] = v } } + for n, v := range md.Annotations { + woc.globalParams["workflow.annotations."+n] = v + } } + return nil } @@ -3532,16 +3580,17 @@ func (woc *wfOperationCtx) setExecWorkflow(ctx context.Context) error { woc.markWorkflowFailed(ctx, fmt.Sprintf("failed to set global parameters: %s", err.Error())) return err } + + err = woc.substituteGlobalVariables(woc.globalParams) + if err != nil { + return err + } if woc.wf.Status.Phase == wfv1.WorkflowUnknown { if err := woc.updateWorkflowMetadata(); err != nil { woc.markWorkflowError(ctx, err) return err } } - err = woc.substituteGlobalVariables() - if err != nil { - return err - } // runtime value will be set after the substitution, otherwise will not be reflected from stored wf spec woc.setGlobalRuntimeParameters() @@ -3647,7 +3696,7 @@ func (woc *wfOperationCtx) mergedTemplateDefaultsInto(originalTmpl *wfv1.Templat return nil } -func (woc *wfOperationCtx) substituteGlobalVariables() error { +func (woc *wfOperationCtx) substituteGlobalVariables(params common.Parameters) error { execWfSpec := woc.execWf.Spec // To Avoid the stale Global parameter value substitution to templates. @@ -3659,7 +3708,7 @@ func (woc *wfOperationCtx) substituteGlobalVariables() error { return err } - resolveSpec, err := template.Replace(string(wfSpec), woc.globalParams, true) + resolveSpec, err := template.Replace(string(wfSpec), params, true) if err != nil { return err } diff --git a/workflow/controller/operator_test.go b/workflow/controller/operator_test.go index 6af2fe17ef83..2ccff2a0623e 100644 --- a/workflow/controller/operator_test.go +++ b/workflow/controller/operator_test.go @@ -7067,8 +7067,8 @@ func TestSubstituteGlobalVariablesLabelsAnnotations(t *testing.T) { // entire template referenced; value not contained in WorkflowTemplate or Workflow workflow: "@testdata/workflow-sub-test-1.yaml", workflowTemplate: "@testdata/workflow-template-sub-test-1.yaml", - expectedMutexName: "{{workflow.labels.mutex-name}}", - expectedSchedulerName: "{{workflow.annotations.scheduler-name}}", + expectedMutexName: "{{workflow.labels.mutexName}}", + expectedSchedulerName: "{{workflow.annotations.schedulerName}}", }, { // entire template referenced; value is in Workflow.Labels @@ -7106,6 +7106,14 @@ func TestSubstituteGlobalVariablesLabelsAnnotations(t *testing.T) { expectedMutexName: "myMutex", expectedSchedulerName: "myScheduler", }, + { + // this checks that we can use a sprig expression to set a label (using workflowMetadata.labelsFrom) + // and the result of that label can also be evaluated in the spec + workflow: "@testdata/workflow-sub-test-6.yaml", + workflowTemplate: "@testdata/workflow-template-sub-test-2.yaml", + expectedMutexName: "wfMetadataScheduler", + expectedSchedulerName: "wfMetadataScheduler", + }, } for _, tt := range tests { diff --git a/workflow/controller/testdata/workflow-sub-test-1.yaml b/workflow/controller/testdata/workflow-sub-test-1.yaml index c8bbf94a9ad6..7b6f993cb8e3 100644 --- a/workflow/controller/testdata/workflow-sub-test-1.yaml +++ b/workflow/controller/testdata/workflow-sub-test-1.yaml @@ -8,5 +8,5 @@ spec: name: workflow-template-submittable synchronization: mutex: - name: "{{workflow.labels.mutex-name}}" - schedulerName: "{{workflow.annotations.scheduler-name}}" + name: "{{workflow.labels.mutexName}}" + schedulerName: "{{workflow.annotations.schedulerName}}" diff --git a/workflow/controller/testdata/workflow-sub-test-2.yaml b/workflow/controller/testdata/workflow-sub-test-2.yaml index 6a435c90fb2c..721969f0a002 100644 --- a/workflow/controller/testdata/workflow-sub-test-2.yaml +++ b/workflow/controller/testdata/workflow-sub-test-2.yaml @@ -4,13 +4,13 @@ metadata: generateName: workflow-template-hello-world- namespace: test labels: - mutex-name: myMutex + mutexName: myMutex annotations: - scheduler-name: myScheduler + schedulerName: myScheduler spec: workflowTemplateRef: name: workflow-template-submittable synchronization: mutex: - name: "{{workflow.labels.mutex-name}}" - schedulerName: "{{workflow.annotations.scheduler-name}}" + name: "{{workflow.labels.mutexName}}" + schedulerName: "{{workflow.annotations.schedulerName}}" diff --git a/workflow/controller/testdata/workflow-sub-test-3.yaml b/workflow/controller/testdata/workflow-sub-test-3.yaml index 559511bf5252..4183f68546ab 100644 --- a/workflow/controller/testdata/workflow-sub-test-3.yaml +++ b/workflow/controller/testdata/workflow-sub-test-3.yaml @@ -4,18 +4,18 @@ metadata: generateName: workflow-template-hello-world- namespace: test labels: - mutex-name: myMutex + mutexName: myMutex annotations: - scheduler-name: myScheduler + schedulerName: myScheduler spec: workflowTemplateRef: name: workflow-template-submittable synchronization: mutex: - name: "{{workflow.labels.mutex-name}}" - schedulerName: "{{workflow.annotations.scheduler-name}}" + name: "{{workflow.labels.mutexName}}" + schedulerName: "{{workflow.annotations.schedulerName}}" workflowMetadata: labels: - mutex-name: wfMetadataMutex + mutexName: wfMetadataMutex annotations: - scheduler-name: wfMetadataScheduler + schedulerName: wfMetadataScheduler diff --git a/workflow/controller/testdata/workflow-sub-test-4.yaml b/workflow/controller/testdata/workflow-sub-test-4.yaml index d82529122346..d1b542abf223 100644 --- a/workflow/controller/testdata/workflow-sub-test-4.yaml +++ b/workflow/controller/testdata/workflow-sub-test-4.yaml @@ -2,18 +2,18 @@ apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: workflow-template-hello-world- - namespace: test + namespace: argo labels: - mutex-name: myMutex + mutexName: myOverrideMutex annotations: - scheduler-name: myScheduler + schedulerName: myScheduler spec: workflowTemplateRef: name: workflow-template-submittable synchronization: mutex: - name: "{{workflow.labels.mutex-name}}" - schedulerName: "{{workflow.annotations.scheduler-name}}" + name: "{{workflow.labels.mutexName}}" + schedulerName: "{{workflow.annotations.schedulerName}}" workflowMetadata: annotations: - scheduler-name: wfMetadataScheduler + schedulerName: wfMetadataScheduler diff --git a/workflow/controller/testdata/workflow-sub-test-5.yaml b/workflow/controller/testdata/workflow-sub-test-5.yaml index 5d5ed94945b4..220575da26f5 100644 --- a/workflow/controller/testdata/workflow-sub-test-5.yaml +++ b/workflow/controller/testdata/workflow-sub-test-5.yaml @@ -4,9 +4,9 @@ metadata: generateName: workflow-template-hello-world- namespace: test labels: - mutex-name: myMutex + mutexName: myMutex annotations: - scheduler-name: myScheduler + schedulerName: myScheduler spec: entrypoint: myTemplate templates: @@ -18,5 +18,5 @@ spec: template: whalesay-template synchronization: mutex: - name: "{{workflow.labels.mutex-name}}" - schedulerName: "{{workflow.annotations.scheduler-name}}" + name: "{{workflow.labels.mutexName}}" + schedulerName: "{{workflow.annotations.schedulerName}}" diff --git a/workflow/controller/testdata/workflow-sub-test-6.yaml b/workflow/controller/testdata/workflow-sub-test-6.yaml new file mode 100644 index 000000000000..7f006438ff58 --- /dev/null +++ b/workflow/controller/testdata/workflow-sub-test-6.yaml @@ -0,0 +1,22 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + generateName: workflow-template-hello-world- + namespace: test + labels: + mutexName: myMutex + annotations: + schedulerName: myScheduler +spec: + workflowTemplateRef: + name: workflow-template-submittable + synchronization: + mutex: + name: "{{workflow.labels.mutexName}}" + schedulerName: "{{workflow.annotations.schedulerName}}" + workflowMetadata: + labelsFrom: + mutexName: + expression: "{{= sprig.quote(sprig.trim( workflow.annotations.schedulerName )) }}" + annotations: + schedulerName: wfMetadataScheduler diff --git a/workflow/controller/testdata/workflow-template-sub-test-1.yaml b/workflow/controller/testdata/workflow-template-sub-test-1.yaml index 7a486672c86f..25cc453c0f31 100644 --- a/workflow/controller/testdata/workflow-template-sub-test-1.yaml +++ b/workflow/controller/testdata/workflow-template-sub-test-1.yaml @@ -4,9 +4,9 @@ metadata: name: workflow-template-submittable namespace: test labels: - mutex-name: myMutex + mutexName: myMutex annotations: - scheduler-name: myScheduler + schedulerName: myScheduler spec: entrypoint: whalesay-template templates: diff --git a/workflow/controller/testdata/workflow-template-sub-test-2.yaml b/workflow/controller/testdata/workflow-template-sub-test-2.yaml index be9f1072618a..e415715326ef 100644 --- a/workflow/controller/testdata/workflow-template-sub-test-2.yaml +++ b/workflow/controller/testdata/workflow-template-sub-test-2.yaml @@ -4,9 +4,9 @@ metadata: name: workflow-template-submittable namespace: test labels: - mutex-name: myMutex + mutexName: myMutex annotations: - scheduler-name: myScheduler + schedulerName: myScheduler spec: entrypoint: whalesay-template templates: @@ -17,6 +17,6 @@ spec: args: ['hello'] workflowMetadata: labels: - mutex-name: wfMetadataTemplateMutex + mutexName: wfMetadataTemplateMutex annotations: - scheduler-name: wfMetadataTemplateScheduler + schedulerName: wfMetadataTemplateScheduler \ No newline at end of file diff --git a/workflow/controller/testdata/workflow-template-sub-test-3.yaml b/workflow/controller/testdata/workflow-template-sub-test-3.yaml index 13c9284615b3..595b51479566 100644 --- a/workflow/controller/testdata/workflow-template-sub-test-3.yaml +++ b/workflow/controller/testdata/workflow-template-sub-test-3.yaml @@ -2,11 +2,11 @@ apiVersion: argoproj.io/v1alpha1 kind: WorkflowTemplate metadata: name: workflow-template-submittable - namespace: test + namespace: argo labels: - mutex-name: myMutex + mutexName: myMutex annotations: - scheduler-name: myScheduler + schedulerName: myScheduler spec: arguments: parameters: @@ -21,7 +21,7 @@ spec: args: ['hello'] workflowMetadata: labelsFrom: - mutex-name: + mutexName: expression: workflow.parameters.mutex annotations: - scheduler-name: wfMetadataTemplateScheduler + schedulerName: wfMetadataTemplateScheduler diff --git a/workflow/controller/testdata/workflow-template-sub-test-4.yaml b/workflow/controller/testdata/workflow-template-sub-test-4.yaml index 90583081b667..d3a275df9173 100644 --- a/workflow/controller/testdata/workflow-template-sub-test-4.yaml +++ b/workflow/controller/testdata/workflow-template-sub-test-4.yaml @@ -4,9 +4,9 @@ metadata: name: workflow-template-submittable namespace: test labels: - mutex-name: myMutex + mutexName: myMutex annotations: - scheduler-name: myScheduler + schedulerName: myScheduler spec: templates: - name: whalesay-template @@ -16,6 +16,6 @@ spec: args: ['hello'] workflowMetadata: labels: - mutex-name: wfMetadataTemplateMutex + mutexName: wfMetadataTemplateMutex annotations: - scheduler-name: wfMetadataTemplateScheduler + schedulerName: wfMetadataTemplateScheduler From 0851c36d8638833b9ecfe0125564e5635641846f Mon Sep 17 00:00:00 2001 From: chen yangxue Date: Fri, 30 Sep 2022 07:35:19 +0800 Subject: [PATCH 32/33] fix: Workflow-controller panic when stop a wf using plugin. Fixes #9587 (#9690) Signed-off-by: yangxue.chen Signed-off-by: yangxue.chen Co-authored-by: yangxue.chen --- workflow/controller/exec_control.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workflow/controller/exec_control.go b/workflow/controller/exec_control.go index add474b303a1..fa9d9b552708 100644 --- a/workflow/controller/exec_control.go +++ b/workflow/controller/exec_control.go @@ -20,7 +20,10 @@ func (woc *wfOperationCtx) applyExecutionControl(pod *apiv1.Pod, wfNodesLock *sy } nodeID := woc.nodeID(pod) - node := woc.wf.Status.Nodes[nodeID] + node, ok := woc.wf.Status.Nodes[nodeID] + if !ok { + return + } //node is already completed if node.Fulfilled() { return From 365b6df1641217d1b21b77bb1c2fcb41115dd439 Mon Sep 17 00:00:00 2001 From: Julie Vogelman Date: Thu, 29 Sep 2022 16:36:04 -0700 Subject: [PATCH 33/33] fix: Label on Artifact GC Task no longer exceeds max characters (#9686) * chore(deps): bump docker/login-action from 1 to 2 (#1) Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1...v2) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump docker/setup-buildx-action from 1 to 2 (#3) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1 to 2. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v1...v2) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump docker/setup-qemu-action from 1 to 2 (#4) Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1 to 2. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v2) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.24 to 7.0.26 (#5) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.24 to 7.0.26. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.24...v7.0.26) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.75.0 to 0.78.0 (#6) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.75.0 to 0.78.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.75.0...v0.78.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/argoproj/pkg from 0.12.0 to 0.13.2 (#7) Bumps [github.com/argoproj/pkg](https://github.com/argoproj/pkg) from 0.12.0 to 0.13.2. - [Release notes](https://github.com/argoproj/pkg/releases) - [Commits](https://github.com/argoproj/pkg/compare/v0.12.0...v0.13.2) --- updated-dependencies: - dependency-name: github.com/argoproj/pkg dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.78.0 to 0.79.0 (#8) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.78.0 to 0.79.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.78.0...v0.79.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/coreos/go-oidc/v3 from 3.1.0 to 3.2.0 (#9) Bumps [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) from 3.1.0 to 3.2.0. - [Release notes](https://github.com/coreos/go-oidc/releases) - [Commits](https://github.com/coreos/go-oidc/compare/v3.1.0...v3.2.0) --- updated-dependencies: - dependency-name: github.com/coreos/go-oidc/v3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/aliyun/aliyun-oss-go-sdk (#10) Bumps [github.com/aliyun/aliyun-oss-go-sdk](https://github.com/aliyun/aliyun-oss-go-sdk) from 2.2.2+incompatible to 2.2.3+incompatible. - [Release notes](https://github.com/aliyun/aliyun-oss-go-sdk/releases) - [Changelog](https://github.com/aliyun/aliyun-oss-go-sdk/blob/master/CHANGELOG.md) - [Commits](https://github.com/aliyun/aliyun-oss-go-sdk/compare/v2.2.2...v2.2.3) --- updated-dependencies: - dependency-name: github.com/aliyun/aliyun-oss-go-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/prometheus/client_golang (#11) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.12.1 to 1.12.2. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.12.2/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.12.1...v1.12.2) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.79.0 to 0.80.0 (#12) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.79.0 to 0.80.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.79.0...v0.80.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cloud.google.com/go/storage from 1.22.0 to 1.22.1 (#13) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.22.0 to 1.22.1. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.22.0...storage/v1.22.1) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.80.0 to 0.81.0 (#14) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.80.0 to 0.81.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.80.0...v0.81.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/aliyun/aliyun-oss-go-sdk (#15) Bumps [github.com/aliyun/aliyun-oss-go-sdk](https://github.com/aliyun/aliyun-oss-go-sdk) from 2.2.3+incompatible to 2.2.4+incompatible. - [Release notes](https://github.com/aliyun/aliyun-oss-go-sdk/releases) - [Changelog](https://github.com/aliyun/aliyun-oss-go-sdk/blob/master/CHANGELOG.md) - [Commits](https://github.com/aliyun/aliyun-oss-go-sdk/compare/v2.2.3...v2.2.4) --- updated-dependencies: - dependency-name: github.com/aliyun/aliyun-oss-go-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.26 to 7.0.27 (#16) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.26 to 7.0.27. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.26...v7.0.27) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/spf13/viper from 1.11.0 to 1.12.0 (#17) Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.11.0 to 1.12.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.11.0...v1.12.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.81.0 to 0.82.0 (#18) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.81.0 to 0.82.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.81.0...v0.82.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.82.0 to 0.83.0 (#19) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.82.0 to 0.83.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.82.0...v0.83.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.2 (#20) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.1 to 1.7.2. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.7.1...v1.7.2) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump actions/setup-python from 3 to 4 (#21) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.27 to 7.0.28 (#22) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.27 to 7.0.28. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.27...v7.0.28) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.83.0 to 0.84.0 (#23) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.83.0 to 0.84.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.83.0...v0.84.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/argoproj/pkg from 0.13.2 to 0.13.3 (#24) Bumps [github.com/argoproj/pkg](https://github.com/argoproj/pkg) from 0.13.2 to 0.13.3. - [Release notes](https://github.com/argoproj/pkg/releases) - [Commits](https://github.com/argoproj/pkg/compare/v0.13.2...v0.13.3) --- updated-dependencies: - dependency-name: github.com/argoproj/pkg dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/prometheus/common from 0.34.0 to 0.35.0 (#25) Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.34.0 to 0.35.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](https://github.com/prometheus/common/compare/v0.34.0...v0.35.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.28 to 7.0.29 (#26) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.28 to 7.0.29. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.28...v7.0.29) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.84.0 to 0.85.0 (#27) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.84.0 to 0.85.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.84.0...v0.85.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/stretchr/testify from 1.7.2 to 1.7.4 (#29) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.2 to 1.7.4. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.7.2...v1.7.4) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/argoproj/pkg from 0.13.3 to 0.13.6 (#30) Bumps [github.com/argoproj/pkg](https://github.com/argoproj/pkg) from 0.13.3 to 0.13.6. - [Release notes](https://github.com/argoproj/pkg/releases) - [Commits](https://github.com/argoproj/pkg/compare/v0.13.3...v0.13.6) --- updated-dependencies: - dependency-name: github.com/argoproj/pkg dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cloud.google.com/go/storage from 1.22.1 to 1.23.0 (#31) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.22.1 to 1.23.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.22.1...pubsub/v1.23.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/stretchr/testify from 1.7.4 to 1.7.5 (#32) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.4 to 1.7.5. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.7.4...v1.7.5) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.85.0 to 0.86.0 (#33) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.85.0 to 0.86.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.85.0...v0.86.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.29 to 7.0.30 (#34) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.29 to 7.0.30. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.29...v7.0.30) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 (#36) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.5 to 1.8.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.7.5...v1.8.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump dependabot/fetch-metadata from 1.3.1 to 1.3.3 (#37) Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.1 to 1.3.3. - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.1...v1.3.3) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.30 to 7.0.31 (#38) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.30 to 7.0.31. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.30...v7.0.31) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/prometheus/common from 0.35.0 to 0.36.0 (#39) Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.35.0 to 0.36.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](https://github.com/prometheus/common/compare/v0.35.0...v0.36.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.86.0 to 0.87.0 (#40) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.86.0 to 0.87.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.86.0...v0.87.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/prometheus/common from 0.36.0 to 0.37.0 (#41) Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.36.0 to 0.37.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](https://github.com/prometheus/common/compare/v0.36.0...v0.37.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0 (#42) Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.8.1 to 1.9.0. - [Release notes](https://github.com/sirupsen/logrus/releases) - [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md) - [Commits](https://github.com/sirupsen/logrus/compare/v1.8.1...v1.9.0) --- updated-dependencies: - dependency-name: github.com/sirupsen/logrus dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.87.0 to 0.88.0 (#43) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.87.0 to 0.88.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.87.0...v0.88.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cloud.google.com/go/storage from 1.23.0 to 1.24.0 (#44) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.23.0 to 1.24.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.23.0...pubsub/v1.24.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.31 to 7.0.32 (#45) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.31 to 7.0.32. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.31...v7.0.32) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.88.0 to 0.89.0 (#46) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.88.0 to 0.89.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.88.0...v0.89.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.89.0 to 0.90.0 (#47) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.89.0 to 0.90.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.89.0...v0.90.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.32 to 7.0.33 (#48) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.32 to 7.0.33. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.32...v7.0.33) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.90.0 to 0.91.0 (#49) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.90.0 to 0.91.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.90.0...v0.91.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/minio/minio-go/v7 from 7.0.33 to 7.0.34 (#50) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.33 to 7.0.34. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.33...v7.0.34) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/tidwall/gjson from 1.14.1 to 1.14.2 (#51) Bumps [github.com/tidwall/gjson](https://github.com/tidwall/gjson) from 1.14.1 to 1.14.2. - [Release notes](https://github.com/tidwall/gjson/releases) - [Commits](https://github.com/tidwall/gjson/compare/v1.14.1...v1.14.2) --- updated-dependencies: - dependency-name: github.com/tidwall/gjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/prometheus/client_golang (#52) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.12.2 to 1.13.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.12.2...v1.13.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.91.0 to 0.92.0 (#53) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.91.0 to 0.92.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.91.0...v0.92.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cloud.google.com/go/storage from 1.24.0 to 1.25.0 (#54) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.24.0 to 1.25.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.24.0...spanner/v1.25.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.92.0 to 0.93.0 (#55) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.92.0 to 0.93.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.92.0...v0.93.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/argoproj-labs/argo-dataflow (#56) Bumps [github.com/argoproj-labs/argo-dataflow](https://github.com/argoproj-labs/argo-dataflow) from 0.10.2 to 0.10.3. - [Release notes](https://github.com/argoproj-labs/argo-dataflow/releases) - [Changelog](https://github.com/argoproj-labs/argo-dataflow/blob/main/CHANGELOG.md) - [Commits](https://github.com/argoproj-labs/argo-dataflow/compare/v0.10.2...v0.10.3) --- updated-dependencies: - dependency-name: github.com/argoproj-labs/argo-dataflow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/tidwall/gjson from 1.14.2 to 1.14.3 (#57) Bumps [github.com/tidwall/gjson](https://github.com/tidwall/gjson) from 1.14.2 to 1.14.3. - [Release notes](https://github.com/tidwall/gjson/releases) - [Commits](https://github.com/tidwall/gjson/compare/v1.14.2...v1.14.3) --- updated-dependencies: - dependency-name: github.com/tidwall/gjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/aliyun/aliyun-oss-go-sdk (#58) Bumps [github.com/aliyun/aliyun-oss-go-sdk](https://github.com/aliyun/aliyun-oss-go-sdk) from 2.2.4+incompatible to 2.2.5+incompatible. - [Release notes](https://github.com/aliyun/aliyun-oss-go-sdk/releases) - [Changelog](https://github.com/aliyun/aliyun-oss-go-sdk/blob/master/CHANGELOG.md) - [Commits](https://github.com/aliyun/aliyun-oss-go-sdk/compare/v2.2.4...v2.2.5) --- updated-dependencies: - dependency-name: github.com/aliyun/aliyun-oss-go-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/api from 0.93.0 to 0.94.0 (#59) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.93.0 to 0.94.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.93.0...v0.94.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump cloud.google.com/go/storage from 1.25.0 to 1.26.0 (#60) Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.25.0 to 1.26.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.25.0...spanner/v1.26.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: change the label for Artifact GC Tasks to a hash of the Pod name to reduce characters Signed-off-by: Julie Vogelman * fix: environment variable name Signed-off-by: Julie Vogelman * chore: modify the e2e test to make the workflow name long Signed-off-by: Julie Vogelman * fix: empty commit Signed-off-by: Julie Vogelman * fix: empty commit Signed-off-by: Julie Vogelman Signed-off-by: dependabot[bot] Signed-off-by: Julie Vogelman Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Saravanan Balasubramanian <33908564+sarabala1979@users.noreply.github.com> --- cmd/argoexec/commands/artifact/delete.go | 4 +-- .../artgc-multi-strategy-multi-anno.yaml | 4 +-- workflow/common/common.go | 8 +++--- workflow/controller/artifact_gc.go | 25 ++++++++----------- 4 files changed, 17 insertions(+), 24 deletions(-) diff --git a/cmd/argoexec/commands/artifact/delete.go b/cmd/argoexec/commands/artifact/delete.go index 39ee4fd7decd..5a155ca38081 100644 --- a/cmd/argoexec/commands/artifact/delete.go +++ b/cmd/argoexec/commands/artifact/delete.go @@ -29,7 +29,7 @@ func NewArtifactDeleteCommand() *cobra.Command { namespace := client.Namespace() clientConfig := client.GetConfig() - if podName, ok := os.LookupEnv(common.EnvVarArtifactPodName); ok { + if podName, ok := os.LookupEnv(common.EnvVarArtifactGCPodHash); ok { config, err := clientConfig.ClientConfig() workflowInterface := workflow.NewForConfigOrDie(config) @@ -38,7 +38,7 @@ func NewArtifactDeleteCommand() *cobra.Command { } artifactGCTaskInterface := workflowInterface.ArgoprojV1alpha1().WorkflowArtifactGCTasks(namespace) - labelSelector := fmt.Sprintf("%s = %s", common.LabelKeyArtifactGCPodName, podName) + labelSelector := fmt.Sprintf("%s = %s", common.LabelKeyArtifactGCPodHash, podName) err = deleteArtifacts(labelSelector, cmd.Context(), artifactGCTaskInterface) if err != nil { diff --git a/test/e2e/testdata/artifactgc/artgc-multi-strategy-multi-anno.yaml b/test/e2e/testdata/artifactgc/artgc-multi-strategy-multi-anno.yaml index f4673bbf9669..b1d652df40bb 100644 --- a/test/e2e/testdata/artifactgc/artgc-multi-strategy-multi-anno.yaml +++ b/test/e2e/testdata/artifactgc/artgc-multi-strategy-multi-anno.yaml @@ -1,9 +1,7 @@ apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: - generateName: two-artgc- - #finalizers: - # - "blah" + generateName: testing-on-completion-and-on-deletion-strategies- spec: entrypoint: entrypoint artifactGC: diff --git a/workflow/common/common.go b/workflow/common/common.go index 4ec5a9a63cdd..9647e162e2a2 100644 --- a/workflow/common/common.go +++ b/workflow/common/common.go @@ -87,8 +87,8 @@ const ( LabelKeyClusterWorkflowTemplate = workflow.WorkflowFullName + "/cluster-workflow-template" // LabelKeyOnExit is a label applied to Pods that are run from onExit nodes, so that they are not shut down when stopping a Workflow LabelKeyOnExit = workflow.WorkflowFullName + "/on-exit" - // LabelKeyArtifactGCPodName is a label applied to WorkflowTaskSets used by the Artifact Garbage Collection Pod - LabelKeyArtifactGCPodName = workflow.WorkflowFullName + "/artifact-gc-pod" + // LabelKeyArtifactGCPodHash is a label applied to WorkflowTaskSets used by the Artifact Garbage Collection Pod + LabelKeyArtifactGCPodHash = workflow.WorkflowFullName + "/artifact-gc-pod" // ExecutorArtifactBaseDir is the base directory in the init container in which artifacts will be copied to. // Each artifact will be named according to its input name (e.g: /argo/inputs/artifacts/CODE) @@ -109,8 +109,8 @@ const ( // Various environment variables containing pod information exposed to the executor container(s) - // EnvVarArtifactPodName is applied as a Label on the WorkflowTaskSets read by the Artifact GC Pod, so that the Pod can find them - EnvVarArtifactPodName = "ARGO_ARTIFACT_POD_NAME" + // EnvVarArtifactGCPodHash is applied as a Label on the WorkflowTaskSets read by the Artifact GC Pod, so that the Pod can find them + EnvVarArtifactGCPodHash = "ARGO_ARTIFACT_POD_NAME" // EnvVarPodName contains the name of the pod (currently unused) EnvVarPodName = "ARGO_POD_NAME" // EnvVarPodUID is the workflow's UID diff --git a/workflow/controller/artifact_gc.go b/workflow/controller/artifact_gc.go index d0961b7d4aae..b92ef1f9dfd1 100644 --- a/workflow/controller/artifact_gc.go +++ b/workflow/controller/artifact_gc.go @@ -85,18 +85,6 @@ func (woc *wfOperationCtx) artifactGCStrategiesReady() map[wfv1.ArtifactGCStrate strategies[wfv1.ArtifactGCOnWorkflowDeletion] = struct{}{} } } - // todo: look at implementing "OnWorkflowSuccessOrDeletion" and "OnWorkflowFailureOrDeletion" instead of these: - /* - if woc.wf.Status.Successful() { - if !woc.wf.Status.ArtifactGCStatus.IsArtifactGCStrategyProcessed(wfv1.ArtifactGCOnWorkflowSuccess) { - strategies[wfv1.ArtifactGCOnWorkflowSuccess] = struct{}{} - } - } - if woc.wf.Status.Failed() { - if !woc.wf.Status.ArtifactGCStatus.IsArtifactGCStrategyProcessed(wfv1.ArtifactGCOnWorkflowFailure) { - strategies[wfv1.ArtifactGCOnWorkflowFailure] = struct{}{} - } - }*/ return strategies } @@ -262,10 +250,17 @@ func (woc *wfOperationCtx) artGCTaskName(podName string, taskIndex int) string { return fmt.Sprintf("%s-%d", podName, taskIndex) } +func (woc *wfOperationCtx) artifactGCPodLabel(podName string) string { + hashedPod := fnv.New32a() + _, _ = hashedPod.Write([]byte(podName)) + return fmt.Sprintf("%d", hashedPod.Sum32()) +} + func (woc *wfOperationCtx) addTemplateArtifactsToTasks(podName string, tasks *[]*wfv1.WorkflowArtifactGCTask, template *wfv1.Template, artifactSearchResults wfv1.ArtifactSearchResults) { if len(artifactSearchResults) == 0 { return } + if tasks == nil { ts := make([]*wfv1.WorkflowArtifactGCTask, 0) tasks = &ts @@ -282,7 +277,7 @@ func (woc *wfOperationCtx) addTemplateArtifactsToTasks(podName string, tasks *[] ObjectMeta: metav1.ObjectMeta{ Namespace: woc.wf.Namespace, Name: woc.artGCTaskName(podName, 0), - Labels: map[string]string{common.LabelKeyArtifactGCPodName: podName}, + Labels: map[string]string{common.LabelKeyArtifactGCPodHash: woc.artifactGCPodLabel(podName)}, OwnerReferences: []metav1.OwnerReference{ // make sure we get deleted with the workflow *metav1.NewControllerRef(woc.wf, wfv1.SchemeGroupVersion.WithKind(workflow.WorkflowKind)), }, @@ -416,7 +411,7 @@ func (woc *wfOperationCtx) createArtifactGCPod(ctx context.Context, strategy wfv ImagePullPolicy: woc.controller.executorImagePullPolicy(), Args: []string{"artifact", "delete", "--loglevel", getExecutorLogLevel()}, Env: []corev1.EnvVar{ - {Name: common.EnvVarArtifactPodName, Value: podName}, + {Name: common.EnvVarArtifactGCPodHash, Value: woc.artifactGCPodLabel(podName)}, }, // if this pod is breached by an attacker we: // * prevent installation of any new packages @@ -547,7 +542,7 @@ func (woc *wfOperationCtx) processCompletedArtifactGCPod(ctx context.Context, po woc.log.Infof("processing completed Artifact GC Pod '%s'", pod.Name) // get associated WorkflowArtifactGCTasks - labelSelector := fmt.Sprintf("%s = %s", common.LabelKeyArtifactGCPodName, pod.Name) + labelSelector := fmt.Sprintf("%s = %s", common.LabelKeyArtifactGCPodHash, woc.artifactGCPodLabel(pod.Name)) taskList, err := woc.controller.wfclientset.ArgoprojV1alpha1().WorkflowArtifactGCTasks(woc.wf.Namespace).List(ctx, metav1.ListOptions{LabelSelector: labelSelector}) if err != nil { return fmt.Errorf("failed to List WorkflowArtifactGCTasks: %w", err)