renovate 44.130.0 → 44.131.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/manager/fingerprint.generated.js +3 -3
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/helmfile/artifacts.js +10 -2
- package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
- package/dist/modules/manager/helmv3/artifacts.js +8 -19
- package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
- package/dist/modules/manager/helmv3/common.js +22 -1
- package/dist/modules/manager/helmv3/common.js.map +1 -1
- package/dist/modules/manager/kustomize/artifacts.js +12 -3
- package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
- package/package.json +1 -1
- package/renovate-schema.json +2 -2
|
@@ -54,9 +54,9 @@ hashMap.set("gradle-wrapper", "73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e1
|
|
|
54
54
|
hashMap.set("haskell-cabal", "f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2");
|
|
55
55
|
hashMap.set("helm-requirements", "22f61344565f87ca3512c0ba8fac32627fde8ee919b7badae07b2116e285f049");
|
|
56
56
|
hashMap.set("helm-values", "0aa79bb0257d0d72e54dfd2653e59bfef63b97e46c035b7443593bdf6e6382aa");
|
|
57
|
-
hashMap.set("helmfile", "
|
|
57
|
+
hashMap.set("helmfile", "ab63e5bc2bb381939a6b75911947e3fc79d31827423ded07f61ea1c98d95a542");
|
|
58
58
|
hashMap.set("helmsman", "951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37");
|
|
59
|
-
hashMap.set("helmv3", "
|
|
59
|
+
hashMap.set("helmv3", "b554064ec6461a3d18059629365a3bf87cbe38c88dfce253d97618701296452d");
|
|
60
60
|
hashMap.set("hermit", "0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071");
|
|
61
61
|
hashMap.set("homeassistant-manifest", "05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f");
|
|
62
62
|
hashMap.set("homebrew", "dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984");
|
|
@@ -65,7 +65,7 @@ hashMap.set("jenkins", "7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075
|
|
|
65
65
|
hashMap.set("jsonnet-bundler", "4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d");
|
|
66
66
|
hashMap.set("kotlin-script", "95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564");
|
|
67
67
|
hashMap.set("kubernetes", "321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de");
|
|
68
|
-
hashMap.set("kustomize", "
|
|
68
|
+
hashMap.set("kustomize", "4a4321595a55de36669f3bcc6fb54236ad81c8f80ec9cbd3888f49a45fbe70e7");
|
|
69
69
|
hashMap.set("leiningen", "c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2");
|
|
70
70
|
hashMap.set("maven", "c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d");
|
|
71
71
|
hashMap.set("maven-wrapper", "6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','0a264d6be73953d801510fdeff271e4071c274339569c6dab4e2a128eaf4869f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','bdb6931cc03f4ac02ebfdb56c4b3483bb6c5250fa952545f1a25584d502bbffd');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','04a13dec4e08ba21004961c718072fde976226d65809fa3c838bf66ba93e5d5a');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','c31bc0a0e23d32726bcc09aa67533ebc5058124bf89c88e09c837419f550801a');\nhashMap.set('bazel-module','9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef');\nhashMap.set('bazelisk','770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','6789cc6499c77cdf44d4fb306198274bb72241e6d0ef7ceda7e916d7022d864c');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','027f60d13311b340391633eceb3685b5105eb6de88d876270d40f4666e5ef7a5');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3976117beb9adeade088187965929d42f21f5da12c4614fd22aa92cad1083b19');\nhashMap.set('conan','8d46e9a30ae628e26118aea10a98d1b846f7c5d96d51ce24693437d555f6d125');\nhashMap.set('copier','197219e93857ad7e6701755ede245824329da08913ebdb23d1e5e854a169aafe');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','9585e4e0626cc3613c3903249972acf97942ad7e16d85fa0da6677373e445db1');\nhashMap.set('deps-edn','06783dbc8b9c7bb84e162d1f75b7db56dfa021cc6f809dfd2314cee8b64af08d');\nhashMap.set('devbox','a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','fba87b82cb0f2bfd66526631fbe928b8153e7ca701a5790d02b944df17417bb9');\nhashMap.set('dockerfile','b5faeb8f31d238e0d05a4aeebf9a837273687908ab8078b34e738bb0e369c80c');\nhashMap.set('droneci','661d2a2d7295af8dd7a1234c7090c42a89306bd574c3adf1fc67782efaad3998');\nhashMap.set('fleet','ffa222820f72c4eb4cdc4c229ae8c50433bee96f3b974f0633d5a7d1f6427c97');\nhashMap.set('flux','842597c9083d82af99ef3d526101a3a53c4448414d2f53f7e969074757124811');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','f4e2c6ddf2fa93241665c5176faafb358eecfcb701e7478790c4d58853ed827a');\nhashMap.set('github-actions','7bd984806fa6e33e0650d2f65d88758a9f4b972f366c6cd7c7698e22e6fb3ca3');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3');\nhashMap.set('gomod','89899292f917777b79f8ce1714e54c4e61cf151fb75f87f1ddb1d1ccd6a4e6f7');\nhashMap.set('gradle','9e3ff52ce4ad2555929acdd4d32c417c4ef8714c23a92f2893ecc580fa4d6064');\nhashMap.set('gradle-wrapper','73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','22f61344565f87ca3512c0ba8fac32627fde8ee919b7badae07b2116e285f049');\nhashMap.set('helm-values','0aa79bb0257d0d72e54dfd2653e59bfef63b97e46c035b7443593bdf6e6382aa');\nhashMap.set('helmfile','4e12edd848dcf258c94e9b7d4bd9fdd5674ffe12c5786bbcb51089b72bfe0ca3');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','71e9e621ba0974271f1a7effcbd364efd66767d4336e844539788f5d6bb22720');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075b6a2cff5');\nhashMap.set('jsonnet-bundler','4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','706cc4776ad6ec4df5bed0ac84e8324ad7328457b6743b082e444d4770756604');\nhashMap.set('leiningen','c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','59c691024c34cb4be4d9b4f811019ae9b22410df0da54977cdcecea261fbbbf5');\nhashMap.set('mix','0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872');\nhashMap.set('nix','9cbd96a29fe96e3df7418e422256380202f07970cf7f00b08388c181224a2b85');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','d8989e2dd8d18506b626d71934816dac9cc03311787d12d466cda46d33ca1324');\nhashMap.set('nuget','fb02247c67a198ffe414a44d23c7894bd114dcc53803334f82e39479e7b27f6f');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','52450676f8b0e05134b3e8947b832195ef40bcaec1ce43d71351a2f797b80d75');\nhashMap.set('pep723','77022a0eae6a3cbb74a1e6d596db1276e379768e40448192b3fa81edd14ca73f');\nhashMap.set('pip-compile','a98dc76a002e1dc21662237f009ff8fea36236bb4e24cb82ee30c6a78f57271f');\nhashMap.set('pip_requirements','bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','baf237cd77173c1a7a9c7fa2a8bfb214f3c488ba0cc27f0e8f334df192e3a398');\nhashMap.set('pixi','e31c397982ffa34222b061f23f3b3683f42523dd5dca45ecce2448b0ebc55ea2');\nhashMap.set('poetry','e9dea5d591c87956b9f018414cb3dab8f2e13580a13be00550fdce198fdf08e6');\nhashMap.set('pre-commit','760f2c291ae084db889f722390798a0e2d431ccdc3bc676e73b14901ebea19ac');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','40927b98dd2bac45dba60e66b5fd0e6b84b61d02db8be536fda7b14546a4feb7');\nhashMap.set('renovate-config','dfaf3f03ddaf70c332f7916106648f36dbfa6a36dd76d15dd27fa116ab3c174c');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e1eb5c7f0171a9bb1b6bd4a36a91039a31b6c84e0983d91d930be31a69506d9e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','cdf063debdbf36888523ff8cec6d2d1b0ec6f49b37b2fbcd80b0d4f6a31114e1');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','6788a8569ba9c50c763ffa2bed952a4314ae8e696c29f93d3eb7c4a12d99ce20');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','300f8fb3c09667654412d2f5dd8ab4882e0f5d1d7a8bc39794993d2e7e58d1b7');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','f423bfa2b42a2bfc0e38a33ebd4f9d452473e7ed4e7ad6384a99eb9a35d97479');\nhashMap.set('travis','f3e2f38e699c390b00ff481be5e91dceaa81609e93caf9a4214933de759c84fc');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','48e2bff8d3a96e8011ee12776fe9c6e8aac4718ff47e891c294a8f12660cb1bb');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','0a264d6be73953d801510fdeff271e4071c274339569c6dab4e2a128eaf4869f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','bdb6931cc03f4ac02ebfdb56c4b3483bb6c5250fa952545f1a25584d502bbffd');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','04a13dec4e08ba21004961c718072fde976226d65809fa3c838bf66ba93e5d5a');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','c31bc0a0e23d32726bcc09aa67533ebc5058124bf89c88e09c837419f550801a');\nhashMap.set('bazel-module','9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef');\nhashMap.set('bazelisk','770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','6789cc6499c77cdf44d4fb306198274bb72241e6d0ef7ceda7e916d7022d864c');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','027f60d13311b340391633eceb3685b5105eb6de88d876270d40f4666e5ef7a5');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3976117beb9adeade088187965929d42f21f5da12c4614fd22aa92cad1083b19');\nhashMap.set('conan','8d46e9a30ae628e26118aea10a98d1b846f7c5d96d51ce24693437d555f6d125');\nhashMap.set('copier','197219e93857ad7e6701755ede245824329da08913ebdb23d1e5e854a169aafe');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','9585e4e0626cc3613c3903249972acf97942ad7e16d85fa0da6677373e445db1');\nhashMap.set('deps-edn','06783dbc8b9c7bb84e162d1f75b7db56dfa021cc6f809dfd2314cee8b64af08d');\nhashMap.set('devbox','a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','fba87b82cb0f2bfd66526631fbe928b8153e7ca701a5790d02b944df17417bb9');\nhashMap.set('dockerfile','b5faeb8f31d238e0d05a4aeebf9a837273687908ab8078b34e738bb0e369c80c');\nhashMap.set('droneci','661d2a2d7295af8dd7a1234c7090c42a89306bd574c3adf1fc67782efaad3998');\nhashMap.set('fleet','ffa222820f72c4eb4cdc4c229ae8c50433bee96f3b974f0633d5a7d1f6427c97');\nhashMap.set('flux','842597c9083d82af99ef3d526101a3a53c4448414d2f53f7e969074757124811');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','f4e2c6ddf2fa93241665c5176faafb358eecfcb701e7478790c4d58853ed827a');\nhashMap.set('github-actions','7bd984806fa6e33e0650d2f65d88758a9f4b972f366c6cd7c7698e22e6fb3ca3');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3');\nhashMap.set('gomod','89899292f917777b79f8ce1714e54c4e61cf151fb75f87f1ddb1d1ccd6a4e6f7');\nhashMap.set('gradle','9e3ff52ce4ad2555929acdd4d32c417c4ef8714c23a92f2893ecc580fa4d6064');\nhashMap.set('gradle-wrapper','73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','22f61344565f87ca3512c0ba8fac32627fde8ee919b7badae07b2116e285f049');\nhashMap.set('helm-values','0aa79bb0257d0d72e54dfd2653e59bfef63b97e46c035b7443593bdf6e6382aa');\nhashMap.set('helmfile','ab63e5bc2bb381939a6b75911947e3fc79d31827423ded07f61ea1c98d95a542');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','b554064ec6461a3d18059629365a3bf87cbe38c88dfce253d97618701296452d');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075b6a2cff5');\nhashMap.set('jsonnet-bundler','4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','4a4321595a55de36669f3bcc6fb54236ad81c8f80ec9cbd3888f49a45fbe70e7');\nhashMap.set('leiningen','c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','59c691024c34cb4be4d9b4f811019ae9b22410df0da54977cdcecea261fbbbf5');\nhashMap.set('mix','0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872');\nhashMap.set('nix','9cbd96a29fe96e3df7418e422256380202f07970cf7f00b08388c181224a2b85');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','d8989e2dd8d18506b626d71934816dac9cc03311787d12d466cda46d33ca1324');\nhashMap.set('nuget','fb02247c67a198ffe414a44d23c7894bd114dcc53803334f82e39479e7b27f6f');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','52450676f8b0e05134b3e8947b832195ef40bcaec1ce43d71351a2f797b80d75');\nhashMap.set('pep723','77022a0eae6a3cbb74a1e6d596db1276e379768e40448192b3fa81edd14ca73f');\nhashMap.set('pip-compile','a98dc76a002e1dc21662237f009ff8fea36236bb4e24cb82ee30c6a78f57271f');\nhashMap.set('pip_requirements','bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','baf237cd77173c1a7a9c7fa2a8bfb214f3c488ba0cc27f0e8f334df192e3a398');\nhashMap.set('pixi','e31c397982ffa34222b061f23f3b3683f42523dd5dca45ecce2448b0ebc55ea2');\nhashMap.set('poetry','e9dea5d591c87956b9f018414cb3dab8f2e13580a13be00550fdce198fdf08e6');\nhashMap.set('pre-commit','760f2c291ae084db889f722390798a0e2d431ccdc3bc676e73b14901ebea19ac');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','40927b98dd2bac45dba60e66b5fd0e6b84b61d02db8be536fda7b14546a4feb7');\nhashMap.set('renovate-config','dfaf3f03ddaf70c332f7916106648f36dbfa6a36dd76d15dd27fa116ab3c174c');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e1eb5c7f0171a9bb1b6bd4a36a91039a31b6c84e0983d91d930be31a69506d9e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','cdf063debdbf36888523ff8cec6d2d1b0ec6f49b37b2fbcd80b0d4f6a31114e1');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','6788a8569ba9c50c763ffa2bed952a4314ae8e696c29f93d3eb7c4a12d99ce20');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','300f8fb3c09667654412d2f5dd8ab4882e0f5d1d7a8bc39794993d2e7e58d1b7');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','f423bfa2b42a2bfc0e38a33ebd4f9d452473e7ed4e7ad6384a99eb9a35d97479');\nhashMap.set('travis','f3e2f38e699c390b00ff481be5e91dceaa81609e93caf9a4214933de759c84fc');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','48e2bff8d3a96e8011ee12776fe9c6e8aac4718ff47e891c294a8f12660cb1bb');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { Result } from "../../../util/result.js";
|
|
|
7
7
|
import { exec } from "../../../util/exec/index.js";
|
|
8
8
|
import { getFile } from "../../../util/git/index.js";
|
|
9
9
|
import { artifactErrorResult, resolveToolConstraint, updateLockFile } from "../util.js";
|
|
10
|
-
import { generateHelmEnvs, generateRegistryLoginCmd } from "../helmv3/common.js";
|
|
10
|
+
import { findHelmRepositoryCredentials, generateHelmEnvs, generateRegistryLoginCmd } from "../helmv3/common.js";
|
|
11
11
|
import { Doc, LockVersion } from "./schema.js";
|
|
12
12
|
import { isOciRepositoryFlagSet } from "./utils.js";
|
|
13
13
|
import { isFalsy } from "@sindresorhus/is";
|
|
@@ -50,6 +50,11 @@ async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileCon
|
|
|
50
50
|
// v8 ignore else -- needs a repository the login helper cannot handle
|
|
51
51
|
if (loginCmd) cmd.push(loginCmd);
|
|
52
52
|
}
|
|
53
|
+
const repositoryCredentialEnvs = Object.fromEntries(docs.flatMap((doc) => coerceArray(doc.repositories).filter((value) => !isOciRepositoryFlagSet(value)).flatMap((value) => {
|
|
54
|
+
const credentials = findHelmRepositoryCredentials(value.url);
|
|
55
|
+
const envName = value.name.toUpperCase().replaceAll("-", "_");
|
|
56
|
+
return credentials ? [[`${envName}_USERNAME`, credentials.username], [`${envName}_PASSWORD`, credentials.password]] : [];
|
|
57
|
+
})));
|
|
53
58
|
cmd.push(`helmfile deps -f ${quote(packageFileName)}`);
|
|
54
59
|
return await updateLockFile({
|
|
55
60
|
lockFileName,
|
|
@@ -60,7 +65,10 @@ async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileCon
|
|
|
60
65
|
},
|
|
61
66
|
run: () => exec(cmd, {
|
|
62
67
|
docker: {},
|
|
63
|
-
extraEnv:
|
|
68
|
+
extraEnv: {
|
|
69
|
+
...generateHelmEnvs(helmConstraint),
|
|
70
|
+
...repositoryCredentialEnvs
|
|
71
|
+
},
|
|
64
72
|
toolConstraints
|
|
65
73
|
})
|
|
66
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","names":[],"sources":["../../../../lib/modules/manager/helmfile/artifacts.ts"],"sourcesContent":["import { isFalsy } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ToolConstraint } from '../../../util/exec/types.ts';\nimport { getSiblingFileName } from '../../../util/fs/index.ts';\nimport { getFile } from '../../../util/git/index.ts';\nimport { Result } from '../../../util/result.ts';\nimport { parseYaml } from '../../../util/yaml.ts';\nimport {\n generateHelmEnvs,\n generateRegistryLoginCmd,\n} from '../helmv3/common.ts';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types.ts';\nimport {\n artifactErrorResult,\n resolveToolConstraint,\n updateLockFile,\n} from '../util.ts';\nimport { Doc, LockVersion } from './schema.ts';\nimport { isOciRepositoryFlagSet } from './utils.ts';\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.trace(`helmfile.updateArtifacts(${packageFileName})`);\n\n const { isLockFileMaintenance } = config;\n if (\n !isLockFileMaintenance &&\n (updatedDeps === undefined || updatedDeps.length < 1)\n ) {\n logger.debug('No updated helmfile deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'helmfile.lock');\n const existingLockFileContent = await getFile(lockFileName);\n\n if (isFalsy(existingLockFileContent)) {\n logger.debug('No helmfile.lock found');\n return null;\n }\n\n try {\n const helmConstraint = await resolveToolConstraint(config, 'helm');\n const toolConstraints: ToolConstraint[] = [\n {\n toolName: 'helm',\n constraint: helmConstraint,\n },\n {\n toolName: 'helmfile',\n constraint: await resolveToolConstraint(config, 'helmfile', () =>\n Result.parse(existingLockFileContent, LockVersion).unwrapOrNull(),\n ),\n },\n ];\n const needKustomize = updatedDeps.some(\n (dep) => dep.managerData?.needKustomize,\n );\n if (needKustomize) {\n toolConstraints.push({\n toolName: 'kustomize',\n constraint: await resolveToolConstraint(config, 'kustomize'),\n });\n }\n\n const cmd: string[] = [];\n const docs = parseYaml(newPackageFileContent, {\n removeTemplates: true,\n customSchema: Doc,\n failureBehaviour: 'filter',\n });\n\n for (const doc of docs) {\n for (const value of coerceArray(doc.repositories).filter(\n isOciRepositoryFlagSet,\n )) {\n const loginCmd = await generateRegistryLoginCmd(value.name, value.url);\n\n // v8 ignore else -- needs a repository the login helper cannot handle\n if (loginCmd) {\n cmd.push(loginCmd);\n }\n }\n }\n\n cmd.push(`helmfile deps -f ${quote(packageFileName)}`);\n\n return await updateLockFile({\n lockFileName,\n existingLockFileContent,\n packageFile: { path: packageFileName, contents: newPackageFileContent },\n run: () =>\n exec(cmd, {\n docker: {},\n extraEnv: generateHelmEnvs(helmConstraint),\n toolConstraints,\n }),\n });\n } catch (err) {\n /* v8 ignore if -- defensive rethrow, not reproduced in the helmfile specs */\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update Helmfile lock file');\n return artifactErrorResult(lockFileName, err);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"artifacts.js","names":[],"sources":["../../../../lib/modules/manager/helmfile/artifacts.ts"],"sourcesContent":["import { isFalsy } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ToolConstraint } from '../../../util/exec/types.ts';\nimport { getSiblingFileName } from '../../../util/fs/index.ts';\nimport { getFile } from '../../../util/git/index.ts';\nimport { Result } from '../../../util/result.ts';\nimport { parseYaml } from '../../../util/yaml.ts';\nimport {\n findHelmRepositoryCredentials,\n generateHelmEnvs,\n generateRegistryLoginCmd,\n} from '../helmv3/common.ts';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types.ts';\nimport {\n artifactErrorResult,\n resolveToolConstraint,\n updateLockFile,\n} from '../util.ts';\nimport { Doc, LockVersion } from './schema.ts';\nimport { isOciRepositoryFlagSet } from './utils.ts';\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.trace(`helmfile.updateArtifacts(${packageFileName})`);\n\n const { isLockFileMaintenance } = config;\n if (\n !isLockFileMaintenance &&\n (updatedDeps === undefined || updatedDeps.length < 1)\n ) {\n logger.debug('No updated helmfile deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'helmfile.lock');\n const existingLockFileContent = await getFile(lockFileName);\n\n if (isFalsy(existingLockFileContent)) {\n logger.debug('No helmfile.lock found');\n return null;\n }\n\n try {\n const helmConstraint = await resolveToolConstraint(config, 'helm');\n const toolConstraints: ToolConstraint[] = [\n {\n toolName: 'helm',\n constraint: helmConstraint,\n },\n {\n toolName: 'helmfile',\n constraint: await resolveToolConstraint(config, 'helmfile', () =>\n Result.parse(existingLockFileContent, LockVersion).unwrapOrNull(),\n ),\n },\n ];\n const needKustomize = updatedDeps.some(\n (dep) => dep.managerData?.needKustomize,\n );\n if (needKustomize) {\n toolConstraints.push({\n toolName: 'kustomize',\n constraint: await resolveToolConstraint(config, 'kustomize'),\n });\n }\n\n const cmd: string[] = [];\n const docs = parseYaml(newPackageFileContent, {\n removeTemplates: true,\n customSchema: Doc,\n failureBehaviour: 'filter',\n });\n\n for (const doc of docs) {\n for (const value of coerceArray(doc.repositories).filter(\n isOciRepositoryFlagSet,\n )) {\n const loginCmd = await generateRegistryLoginCmd(value.name, value.url);\n\n // v8 ignore else -- needs a repository the login helper cannot handle\n if (loginCmd) {\n cmd.push(loginCmd);\n }\n }\n }\n\n const repositoryCredentialEnvs = Object.fromEntries(\n docs.flatMap((doc) =>\n coerceArray(doc.repositories)\n .filter((value) => !isOciRepositoryFlagSet(value))\n .flatMap((value) => {\n const credentials = findHelmRepositoryCredentials(value.url);\n const envName = value.name.toUpperCase().replaceAll('-', '_');\n return credentials\n ? [\n [`${envName}_USERNAME`, credentials.username],\n [`${envName}_PASSWORD`, credentials.password],\n ]\n : [];\n }),\n ),\n );\n\n cmd.push(`helmfile deps -f ${quote(packageFileName)}`);\n\n return await updateLockFile({\n lockFileName,\n existingLockFileContent,\n packageFile: { path: packageFileName, contents: newPackageFileContent },\n run: () =>\n exec(cmd, {\n docker: {},\n extraEnv: {\n ...generateHelmEnvs(helmConstraint),\n ...repositoryCredentialEnvs,\n },\n toolConstraints,\n }),\n });\n } catch (err) {\n /* v8 ignore if -- defensive rethrow, not reproduced in the helmfile specs */\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update Helmfile lock file');\n return artifactErrorResult(lockFileName, err);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAyBA,eAAsB,gBAAgB,EACpC,iBACA,aACA,uBACA,UAC0D;CAC1D,OAAO,MAAM,4BAA4B,gBAAgB,EAAE;CAE3D,MAAM,EAAE,0BAA0B;CAClC,IACE,CAAC,0BACA,gBAAgB,KAAA,KAAa,YAAY,SAAS,IACnD;EACA,OAAO,MAAM,2CAA2C;EACxD,OAAO;CACT;CAEA,MAAM,eAAe,mBAAmB,iBAAiB,eAAe;CACxE,MAAM,0BAA0B,MAAM,QAAQ,YAAY;CAE1D,IAAI,QAAQ,uBAAuB,GAAG;EACpC,OAAO,MAAM,wBAAwB;EACrC,OAAO;CACT;CAEA,IAAI;EACF,MAAM,iBAAiB,MAAM,sBAAsB,QAAQ,MAAM;EACjE,MAAM,kBAAoC,CACxC;GACE,UAAU;GACV,YAAY;EACd,GACA;GACE,UAAU;GACV,YAAY,MAAM,sBAAsB,QAAQ,kBAC9C,OAAO,MAAM,yBAAyB,WAAW,CAAC,CAAC,aAAa,CAClE;EACF,CACF;EAIA,IAHsB,YAAY,MAC/B,QAAQ,IAAI,aAAa,aAEZ,GACd,gBAAgB,KAAK;GACnB,UAAU;GACV,YAAY,MAAM,sBAAsB,QAAQ,WAAW;EAC7D,CAAC;EAGH,MAAM,MAAgB,CAAC;EACvB,MAAM,OAAO,UAAU,uBAAuB;GAC5C,iBAAiB;GACjB,cAAc;GACd,kBAAkB;EACpB,CAAC;EAED,KAAK,MAAM,OAAO,MAChB,KAAK,MAAM,SAAS,YAAY,IAAI,YAAY,CAAC,CAAC,OAChD,sBACF,GAAG;GACD,MAAM,WAAW,MAAM,yBAAyB,MAAM,MAAM,MAAM,GAAG;;GAGrE,IAAI,UACF,IAAI,KAAK,QAAQ;EAErB;EAGF,MAAM,2BAA2B,OAAO,YACtC,KAAK,SAAS,QACZ,YAAY,IAAI,YAAY,CAAC,CAC1B,QAAQ,UAAU,CAAC,uBAAuB,KAAK,CAAC,CAAC,CACjD,SAAS,UAAU;GAClB,MAAM,cAAc,8BAA8B,MAAM,GAAG;GAC3D,MAAM,UAAU,MAAM,KAAK,YAAY,CAAC,CAAC,WAAW,KAAK,GAAG;GAC5D,OAAO,cACH,CACE,CAAC,GAAG,QAAQ,YAAY,YAAY,QAAQ,GAC5C,CAAC,GAAG,QAAQ,YAAY,YAAY,QAAQ,CAC9C,IACA,CAAC;EACP,CAAC,CACL,CACF;EAEA,IAAI,KAAK,oBAAoB,MAAM,eAAe,GAAG;EAErD,OAAO,MAAM,eAAe;GAC1B;GACA;GACA,aAAa;IAAE,MAAM;IAAiB,UAAU;GAAsB;GACtE,WACE,KAAK,KAAK;IACR,QAAQ,CAAC;IACT,UAAU;KACR,GAAG,iBAAiB,cAAc;KAClC,GAAG;IACL;IACA;GACF,CAAC;EACL,CAAC;CACH,SAAS,KAAK;;EAEZ,IAAI,IAAI,YAAA,mBACN,MAAM;EAER,OAAO,MAAM,EAAE,IAAI,GAAG,qCAAqC;EAC3D,OAAO,oBAAoB,cAAc,GAAG;CAC9C;AACF"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import "../../../constants/error-messages.js";
|
|
2
2
|
import { regEx } from "../../../util/regex.js";
|
|
3
3
|
import { logger } from "../../../logger/index.js";
|
|
4
|
-
import { find } from "../../../util/host-rules.js";
|
|
5
4
|
import { parseSingleYaml } from "../../../util/yaml.js";
|
|
6
5
|
import { getParentDir, getSiblingFileName, readLocalFile, writeLocalFile } from "../../../util/fs/index.js";
|
|
7
6
|
import { exec } from "../../../util/exec/index.js";
|
|
8
7
|
import { getRepoStatus } from "../../../util/git/index.js";
|
|
9
|
-
import { HelmDatasource } from "../../datasource/helm/index.js";
|
|
10
8
|
import { collectFileChanges } from "../../../util/git/file-changes.js";
|
|
11
9
|
import { artifactErrorResult, fileAddition, fileChangesToArtifactResults, resolveToolConstraint } from "../util.js";
|
|
12
10
|
import { isOCIRegistry } from "./oci.js";
|
|
13
11
|
import { aliasRecordToRepositories, getRepositories, isFileInDir } from "./utils.js";
|
|
14
|
-
import { generateHelmEnvs, generateRegistryLoginCmd } from "./common.js";
|
|
12
|
+
import { generateHelmEnvs, generateRegistryLoginCmd, helmRepositoryCredentialArgs } from "./common.js";
|
|
15
13
|
import { isString, isTruthy } from "@sindresorhus/is";
|
|
16
14
|
import { quote } from "shlex";
|
|
17
15
|
import pMap from "p-map";
|
|
@@ -23,23 +21,14 @@ async function helmCommands(execOptions, manifestPath, repositories) {
|
|
|
23
21
|
const loginCmd = await generateRegistryLoginCmd(value.name, value.repository);
|
|
24
22
|
if (loginCmd) cmd.push(loginCmd);
|
|
25
23
|
});
|
|
26
|
-
repositories.filter((
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
})
|
|
33
|
-
};
|
|
34
|
-
}).forEach((value) => {
|
|
35
|
-
const { username, password } = value.hostRule;
|
|
36
|
-
const parameters = [`${quote(value.repository)}`, `--force-update`];
|
|
37
|
-
if (username && password) {
|
|
38
|
-
parameters.push(`--username ${quote(username)}`);
|
|
39
|
-
parameters.push(`--password ${quote(password)}`);
|
|
40
|
-
}
|
|
24
|
+
for (const value of repositories.filter((repo) => !isOCIRegistry(repo))) {
|
|
25
|
+
const parameters = [
|
|
26
|
+
quote(value.repository),
|
|
27
|
+
"--force-update",
|
|
28
|
+
...helmRepositoryCredentialArgs(value.repository)
|
|
29
|
+
];
|
|
41
30
|
cmd.push(`helm repo add ${quote(value.name)} ${parameters.join(" ")}`);
|
|
42
|
-
}
|
|
31
|
+
}
|
|
43
32
|
cmd.push(`helm dependency update ${quote(getParentDir(manifestPath))}`);
|
|
44
33
|
await exec(cmd, execOptions);
|
|
45
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","names":["
|
|
1
|
+
{"version":3,"file":"artifacts.js","names":["yaml.parseSingleYaml"],"sources":["../../../../lib/modules/manager/helmv3/artifacts.ts"],"sourcesContent":["import { isString, isTruthy } from '@sindresorhus/is';\nimport pMap from 'p-map';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ExecOptions, ToolConstraint } from '../../../util/exec/types.ts';\nimport {\n getParentDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs/index.ts';\nimport { collectFileChanges } from '../../../util/git/file-changes.ts';\nimport { getRepoStatus } from '../../../util/git/index.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport * as yaml from '../../../util/yaml.ts';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types.ts';\nimport {\n artifactErrorResult,\n fileAddition,\n fileChangesToArtifactResults,\n resolveToolConstraint,\n} from '../util.ts';\nimport {\n generateHelmEnvs,\n generateRegistryLoginCmd,\n helmRepositoryCredentialArgs,\n} from './common.ts';\nimport { isOCIRegistry } from './oci.ts';\nimport type { ChartDefinition, Repository } from './types.ts';\nimport {\n aliasRecordToRepositories,\n getRepositories,\n isFileInDir,\n} from './utils.ts';\n\nasync function helmCommands(\n execOptions: ExecOptions,\n manifestPath: string,\n repositories: Repository[],\n): Promise<void> {\n const cmd: string[] = [];\n // get OCI registries and log into them if credentials have been found\n const ociRepositories = repositories.filter(isOCIRegistry);\n await pMap(ociRepositories, async (value) => {\n const loginCmd = await generateRegistryLoginCmd(\n value.name,\n value.repository,\n );\n if (loginCmd) {\n cmd.push(loginCmd);\n }\n });\n\n // add classic Chart repositories, with credentials from fitting host rules\n for (const value of repositories.filter((repo) => !isOCIRegistry(repo))) {\n const parameters = [\n quote(value.repository),\n '--force-update',\n ...helmRepositoryCredentialArgs(value.repository),\n ];\n cmd.push(`helm repo add ${quote(value.name)} ${parameters.join(' ')}`);\n }\n\n cmd.push(`helm dependency update ${quote(getParentDir(manifestPath))}`);\n\n await exec(cmd, execOptions);\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`helmv3.updateArtifacts(${packageFileName})`);\n\n const { isLockFileMaintenance } = config;\n const isUpdateOptionAddChartArchives = config.postUpdateOptions?.includes(\n 'helmUpdateSubChartArchives',\n );\n\n if (\n !isLockFileMaintenance &&\n (updatedDeps === undefined || updatedDeps.length < 1)\n ) {\n logger.debug('No updated helmv3 deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'Chart.lock');\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent && !isUpdateOptionAddChartArchives) {\n logger.debug('No Chart.lock found');\n return null;\n }\n try {\n // get repositories and registries defined in the package file\n // TODO: use schema (#9610)\n const packages = yaml.parseSingleYaml<ChartDefinition>(\n newPackageFileContent,\n );\n const locks = existingLockFileContent\n ? yaml.parseSingleYaml<ChartDefinition>(existingLockFileContent)\n : { dependencies: [] };\n\n const chartDefinitions: ChartDefinition[] = [];\n // prioritize registryAlias naming for Helm repositories\n if (config.registryAliases) {\n chartDefinitions.push({\n dependencies: aliasRecordToRepositories(config.registryAliases),\n });\n }\n chartDefinitions.push(packages, locks);\n\n const repositories = getRepositories(chartDefinitions);\n\n await writeLocalFile(packageFileName, newPackageFileContent);\n logger.debug('Updating Helm artifacts');\n const helmConstraint = await resolveToolConstraint(config, 'helm');\n const helmToolConstraint: ToolConstraint = {\n toolName: 'helm',\n constraint: helmConstraint,\n };\n\n const execOptions: ExecOptions = {\n docker: {},\n extraEnv: generateHelmEnvs(helmConstraint),\n toolConstraints: [helmToolConstraint],\n };\n await helmCommands(execOptions, packageFileName, repositories);\n logger.debug('Returning updated Helm artifacts');\n\n const fileChanges: UpdateArtifactsResult[] = [];\n\n if (isTruthy(existingLockFileContent)) {\n const newHelmLockContent = await readLocalFile(lockFileName, 'utf8');\n const isLockFileChanged =\n !isString(newHelmLockContent) ||\n isHelmLockChanged(existingLockFileContent, newHelmLockContent);\n if (isLockFileChanged) {\n fileChanges.push(fileAddition(lockFileName, newHelmLockContent));\n } else {\n logger.debug('Chart.lock is unchanged');\n }\n }\n\n // add modified helm chart archives to artifacts\n if (isTruthy(isUpdateOptionAddChartArchives)) {\n const chartsPath = getSiblingFileName(packageFileName, 'charts');\n const status = await getRepoStatus();\n fileChanges.push(\n ...fileChangesToArtifactResults(\n await collectFileChanges(status, {\n include: ['not_added', 'deleted'],\n // only add artifacts in the chart sub path\n filter: (file) => isFileInDir(chartsPath, file),\n }),\n ),\n );\n }\n\n return fileChanges.length > 0 ? fileChanges : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update Helm lock file');\n return artifactErrorResult(lockFileName, err);\n }\n}\n\nfunction isHelmLockChanged(oldContent: string, newContent: string): boolean {\n const regex = regEx(/^generated: \".+\"$/m);\n return newContent.replace(regex, '') !== oldContent.replace(regex, '');\n}\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { find } from "../../../util/host-rules.js";
|
|
|
6
6
|
import { privateCacheDir } from "../../../util/fs/index.js";
|
|
7
7
|
import { ecrRegex, getECRAuthToken } from "../../datasource/docker/ecr.js";
|
|
8
8
|
import { DockerDatasource } from "../../datasource/docker/index.js";
|
|
9
|
+
import { HelmDatasource } from "../../datasource/helm/index.js";
|
|
9
10
|
import { removeOCIPrefix } from "./oci.js";
|
|
10
11
|
import { quote } from "shlex";
|
|
11
12
|
import upath from "upath";
|
|
@@ -51,6 +52,26 @@ async function generateRegistryLoginCmd(name, registry) {
|
|
|
51
52
|
})
|
|
52
53
|
});
|
|
53
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Returns the username and password of the Helm host rule of `repository`, or null when it lacks either.
|
|
57
|
+
*/
|
|
58
|
+
function findHelmRepositoryCredentials(repository) {
|
|
59
|
+
const { username, password } = find({
|
|
60
|
+
url: repository,
|
|
61
|
+
hostType: HelmDatasource.id
|
|
62
|
+
});
|
|
63
|
+
return username && password ? {
|
|
64
|
+
username,
|
|
65
|
+
password
|
|
66
|
+
} : null;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Returns the `--username` and `--password` arguments from the Helm host rule of `repository`, or none when it lacks either.
|
|
70
|
+
*/
|
|
71
|
+
function helmRepositoryCredentialArgs(repository) {
|
|
72
|
+
const credentials = findHelmRepositoryCredentials(repository);
|
|
73
|
+
return credentials ? [`--username ${quote(credentials.username)}`, `--password ${quote(credentials.password)}`] : [];
|
|
74
|
+
}
|
|
54
75
|
function generateHelmEnvs(helmConstraint) {
|
|
55
76
|
const envs = {};
|
|
56
77
|
if (!helmConstraint || !semver.intersects(helmConstraint, ">=3.8.0")) envs.HELM_EXPERIMENTAL_OCI = "1";
|
|
@@ -60,6 +81,6 @@ function generateHelmEnvs(helmConstraint) {
|
|
|
60
81
|
return envs;
|
|
61
82
|
}
|
|
62
83
|
//#endregion
|
|
63
|
-
export { generateHelmEnvs, generateLoginCmd, generateRegistryLoginCmd };
|
|
84
|
+
export { findHelmRepositoryCredentials, generateHelmEnvs, generateLoginCmd, generateRegistryLoginCmd, helmRepositoryCredentialArgs };
|
|
64
85
|
|
|
65
86
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","names":["hostRules.find"],"sources":["../../../../lib/modules/manager/helmv3/common.ts"],"sourcesContent":["import semver from 'semver';\nimport { quote } from 'shlex';\nimport upath from 'upath';\n\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport type { ExtraEnv } from '../../../util/exec/types.ts';\nimport { privateCacheDir } from '../../../util/fs/index.ts';\nimport * as hostRules from '../../../util/host-rules.ts';\nimport { addSecretForSanitizing } from '../../../util/sanitize.ts';\nimport { fromBase64 } from '../../../util/string.ts';\nimport { ecrRegex, getECRAuthToken } from '../../datasource/docker/ecr.ts';\nimport { DockerDatasource } from '../../datasource/docker/index.ts';\nimport { removeOCIPrefix } from './oci.ts';\nimport type { RepositoryRule } from './types.ts';\n\nexport async function generateLoginCmd(\n repositoryRule: RepositoryRule,\n): Promise<string | null> {\n logger.trace({ repositoryRule }, 'Generating Helm registry login command');\n const { hostRule, repository } = repositoryRule;\n const { username, password, token } = hostRule;\n const loginCMD = 'helm registry login';\n if (username !== 'AWS' && ecrRegex.test(repository)) {\n logger.trace({ repository }, `Using ecr auth for Helm registry`);\n const [, region] = coerceArray(ecrRegex.exec(repository));\n const auth = await getECRAuthToken(region, hostRule);\n if (!auth) {\n return null;\n }\n const [username, password] = fromBase64(auth).split(':');\n if (!username || !password) {\n return null;\n }\n addSecretForSanitizing(username);\n addSecretForSanitizing(password);\n return `${loginCMD} --username ${quote(username)} --password ${quote(\n password,\n )} ${quote(repository)}`;\n }\n if (username && password) {\n logger.trace({ repository }, `Using basic auth for Helm registry`);\n // Split off any path as it's not valid for the helm registry login command\n const hostPart = repository.split('/')[0];\n const cmd = `${loginCMD} --username ${quote(username)} --password ${quote(\n password,\n )} ${quote(hostPart)}`;\n // the command carries the password, so log the target host only\n logger.trace({ host: hostPart }, 'Generated Helm registry login command');\n return cmd;\n }\n if (token) {\n const hostPart = repository.split('/')[0];\n return `${loginCMD} --username '' --password ${quote(token)} ${quote(hostPart)}`;\n }\n return null;\n}\n\nexport async function generateRegistryLoginCmd(\n name: string,\n registry: string,\n): Promise<string | null> {\n const repository = removeOCIPrefix(registry);\n const repositoryRule: RepositoryRule = {\n name,\n repository,\n hostRule: hostRules.find({\n url: `https://${repository}`,\n hostType: DockerDatasource.id,\n }),\n };\n return generateLoginCmd(repositoryRule);\n}\n\nexport function generateHelmEnvs(helmConstraint?: string): ExtraEnv {\n const envs: ExtraEnv = {};\n\n // Helm >= 3.8 ignores HELM_EXPERIMENTAL_OCI, so it's harmless to set it\n // when the constraint is unknown. Dropping it for an unconstrained helm\n // could break helm < 3.8 users, so only omit it once the constraint\n // proves helm >= 3.8.\n if (!helmConstraint || !semver.intersects(helmConstraint, '>=3.8.0')) {\n envs.HELM_EXPERIMENTAL_OCI = '1';\n }\n\n // set cache and config files to a path in privateCacheDir to prevent file and credential leakage\n envs.HELM_REGISTRY_CONFIG = `${upath.join(\n privateCacheDir(),\n 'registry.json',\n )}`;\n envs.HELM_REPOSITORY_CONFIG = `${upath.join(\n privateCacheDir(),\n 'repositories.yaml',\n )}`;\n envs.HELM_REPOSITORY_CACHE = `${upath.join(\n privateCacheDir(),\n 'repositories',\n )}`;\n\n return envs;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.js","names":["hostRules.find"],"sources":["../../../../lib/modules/manager/helmv3/common.ts"],"sourcesContent":["import semver from 'semver';\nimport { quote } from 'shlex';\nimport upath from 'upath';\n\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport type { ExtraEnv } from '../../../util/exec/types.ts';\nimport { privateCacheDir } from '../../../util/fs/index.ts';\nimport * as hostRules from '../../../util/host-rules.ts';\nimport { addSecretForSanitizing } from '../../../util/sanitize.ts';\nimport { fromBase64 } from '../../../util/string.ts';\nimport { ecrRegex, getECRAuthToken } from '../../datasource/docker/ecr.ts';\nimport { DockerDatasource } from '../../datasource/docker/index.ts';\nimport { HelmDatasource } from '../../datasource/helm/index.ts';\nimport { removeOCIPrefix } from './oci.ts';\nimport type { RepositoryRule } from './types.ts';\n\nexport async function generateLoginCmd(\n repositoryRule: RepositoryRule,\n): Promise<string | null> {\n logger.trace({ repositoryRule }, 'Generating Helm registry login command');\n const { hostRule, repository } = repositoryRule;\n const { username, password, token } = hostRule;\n const loginCMD = 'helm registry login';\n if (username !== 'AWS' && ecrRegex.test(repository)) {\n logger.trace({ repository }, `Using ecr auth for Helm registry`);\n const [, region] = coerceArray(ecrRegex.exec(repository));\n const auth = await getECRAuthToken(region, hostRule);\n if (!auth) {\n return null;\n }\n const [username, password] = fromBase64(auth).split(':');\n if (!username || !password) {\n return null;\n }\n addSecretForSanitizing(username);\n addSecretForSanitizing(password);\n return `${loginCMD} --username ${quote(username)} --password ${quote(\n password,\n )} ${quote(repository)}`;\n }\n if (username && password) {\n logger.trace({ repository }, `Using basic auth for Helm registry`);\n // Split off any path as it's not valid for the helm registry login command\n const hostPart = repository.split('/')[0];\n const cmd = `${loginCMD} --username ${quote(username)} --password ${quote(\n password,\n )} ${quote(hostPart)}`;\n // the command carries the password, so log the target host only\n logger.trace({ host: hostPart }, 'Generated Helm registry login command');\n return cmd;\n }\n if (token) {\n const hostPart = repository.split('/')[0];\n return `${loginCMD} --username '' --password ${quote(token)} ${quote(hostPart)}`;\n }\n return null;\n}\n\nexport async function generateRegistryLoginCmd(\n name: string,\n registry: string,\n): Promise<string | null> {\n const repository = removeOCIPrefix(registry);\n const repositoryRule: RepositoryRule = {\n name,\n repository,\n hostRule: hostRules.find({\n url: `https://${repository}`,\n hostType: DockerDatasource.id,\n }),\n };\n return generateLoginCmd(repositoryRule);\n}\n\n/**\n * Returns the username and password of the Helm host rule of `repository`, or null when it lacks either.\n */\nexport function findHelmRepositoryCredentials(\n repository: string,\n): { username: string; password: string } | null {\n const { username, password } = hostRules.find({\n url: repository,\n hostType: HelmDatasource.id,\n });\n return username && password ? { username, password } : null;\n}\n\n/**\n * Returns the `--username` and `--password` arguments from the Helm host rule of `repository`, or none when it lacks either.\n */\nexport function helmRepositoryCredentialArgs(repository: string): string[] {\n const credentials = findHelmRepositoryCredentials(repository);\n return credentials\n ? [\n `--username ${quote(credentials.username)}`,\n `--password ${quote(credentials.password)}`,\n ]\n : [];\n}\n\nexport function generateHelmEnvs(helmConstraint?: string): ExtraEnv {\n const envs: ExtraEnv = {};\n\n // Helm >= 3.8 ignores HELM_EXPERIMENTAL_OCI, so it's harmless to set it\n // when the constraint is unknown. Dropping it for an unconstrained helm\n // could break helm < 3.8 users, so only omit it once the constraint\n // proves helm >= 3.8.\n if (!helmConstraint || !semver.intersects(helmConstraint, '>=3.8.0')) {\n envs.HELM_EXPERIMENTAL_OCI = '1';\n }\n\n // set cache and config files to a path in privateCacheDir to prevent file and credential leakage\n envs.HELM_REGISTRY_CONFIG = `${upath.join(\n privateCacheDir(),\n 'registry.json',\n )}`;\n envs.HELM_REPOSITORY_CONFIG = `${upath.join(\n privateCacheDir(),\n 'repositories.yaml',\n )}`;\n envs.HELM_REPOSITORY_CACHE = `${upath.join(\n privateCacheDir(),\n 'repositories',\n )}`;\n\n return envs;\n}\n"],"mappings":";;;;;;;;;;;;;;AAiBA,eAAsB,iBACpB,gBACwB;CACxB,OAAO,MAAM,EAAE,eAAe,GAAG,wCAAwC;CACzE,MAAM,EAAE,UAAU,eAAe;CACjC,MAAM,EAAE,UAAU,UAAU,UAAU;CACtC,MAAM,WAAW;CACjB,IAAI,aAAa,SAAS,SAAS,KAAK,UAAU,GAAG;EACnD,OAAO,MAAM,EAAE,WAAW,GAAG,kCAAkC;EAC/D,MAAM,GAAG,UAAU,YAAY,SAAS,KAAK,UAAU,CAAC;EACxD,MAAM,OAAO,MAAM,gBAAgB,QAAQ,QAAQ;EACnD,IAAI,CAAC,MACH,OAAO;EAET,MAAM,CAAC,UAAU,YAAY,WAAW,IAAI,CAAC,CAAC,MAAM,GAAG;EACvD,IAAI,CAAC,YAAY,CAAC,UAChB,OAAO;EAET,uBAAuB,QAAQ;EAC/B,uBAAuB,QAAQ;EAC/B,OAAO,GAAG,SAAS,cAAc,MAAM,QAAQ,EAAE,cAAc,MAC7D,QACF,EAAE,GAAG,MAAM,UAAU;CACvB;CACA,IAAI,YAAY,UAAU;EACxB,OAAO,MAAM,EAAE,WAAW,GAAG,oCAAoC;EAEjE,MAAM,WAAW,WAAW,MAAM,GAAG,CAAC,CAAC;EACvC,MAAM,MAAM,GAAG,SAAS,cAAc,MAAM,QAAQ,EAAE,cAAc,MAClE,QACF,EAAE,GAAG,MAAM,QAAQ;EAEnB,OAAO,MAAM,EAAE,MAAM,SAAS,GAAG,uCAAuC;EACxE,OAAO;CACT;CACA,IAAI,OAAO;EACT,MAAM,WAAW,WAAW,MAAM,GAAG,CAAC,CAAC;EACvC,OAAO,GAAG,SAAS,4BAA4B,MAAM,KAAK,EAAE,GAAG,MAAM,QAAQ;CAC/E;CACA,OAAO;AACT;AAEA,eAAsB,yBACpB,MACA,UACwB;CACxB,MAAM,aAAa,gBAAgB,QAAQ;CAS3C,OAAO,iBAAiB;EAPtB;EACA;EACA,UAAUA,KAAe;GACvB,KAAK,WAAW;GAChB,UAAU,iBAAiB;EAC7B,CAAC;CAEkC,CAAC;AACxC;;;;AAKA,SAAgB,8BACd,YAC+C;CAC/C,MAAM,EAAE,UAAU,aAAaA,KAAe;EAC5C,KAAK;EACL,UAAU,eAAe;CAC3B,CAAC;CACD,OAAO,YAAY,WAAW;EAAE;EAAU;CAAS,IAAI;AACzD;;;;AAKA,SAAgB,6BAA6B,YAA8B;CACzE,MAAM,cAAc,8BAA8B,UAAU;CAC5D,OAAO,cACH,CACE,cAAc,MAAM,YAAY,QAAQ,KACxC,cAAc,MAAM,YAAY,QAAQ,GAC1C,IACA,CAAC;AACP;AAEA,SAAgB,iBAAiB,gBAAmC;CAClE,MAAM,OAAiB,CAAC;CAMxB,IAAI,CAAC,kBAAkB,CAAC,OAAO,WAAW,gBAAgB,SAAS,GACjE,KAAK,wBAAwB;CAI/B,KAAK,uBAAuB,GAAG,MAAM,KACnC,gBAAgB,GAChB,eACF;CACA,KAAK,yBAAyB,GAAG,MAAM,KACrC,gBAAgB,GAChB,mBACF;CACA,KAAK,wBAAwB,GAAG,MAAM,KACpC,gBAAgB,GAChB,cACF;CAEA,OAAO;AACT"}
|
|
@@ -8,7 +8,7 @@ import { HelmDatasource } from "../../datasource/helm/index.js";
|
|
|
8
8
|
import { collectFileChanges } from "../../../util/git/file-changes.js";
|
|
9
9
|
import { artifactError, artifactErrorResult, fileChangesToArtifactResults, resolveToolConstraint } from "../util.js";
|
|
10
10
|
import { parseKustomize } from "./extract.js";
|
|
11
|
-
import { generateHelmEnvs } from "../helmv3/common.js";
|
|
11
|
+
import { generateHelmEnvs, generateRegistryLoginCmd, helmRepositoryCredentialArgs } from "../helmv3/common.js";
|
|
12
12
|
import { isNonEmptyString, isNullOrUndefined } from "@sindresorhus/is";
|
|
13
13
|
import { quote } from "shlex";
|
|
14
14
|
import upath from "upath";
|
|
@@ -20,7 +20,11 @@ async function localExistingChartPath(chartHome, dependencyName, version) {
|
|
|
20
20
|
}
|
|
21
21
|
function helmRepositoryArgs(repository, depName, datasource) {
|
|
22
22
|
switch (datasource) {
|
|
23
|
-
case HelmDatasource.id: return
|
|
23
|
+
case HelmDatasource.id: return [
|
|
24
|
+
`--repo ${quote(repository)}`,
|
|
25
|
+
...helmRepositoryCredentialArgs(repository),
|
|
26
|
+
quote(depName)
|
|
27
|
+
].join(" ");
|
|
24
28
|
case DockerDatasource.id: return quote(`oci://${repository}`);
|
|
25
29
|
/* v8 ignore next: should never happen */
|
|
26
30
|
default: throw new Error(`Unknown datasource: ${datasource}`);
|
|
@@ -45,7 +49,12 @@ async function inflateHelmChart(flagEnabled, execOptions, chartHome, depName, re
|
|
|
45
49
|
const folderName = `${depName}-${versionToPull}`;
|
|
46
50
|
const untarDir = upath.join(chartHome, folderName);
|
|
47
51
|
logger.debug(`Pulling helm chart ${depName} version ${versionToPull} to ${untarDir}`);
|
|
48
|
-
const cmd =
|
|
52
|
+
const cmd = [];
|
|
53
|
+
if (datasource === DockerDatasource.id) {
|
|
54
|
+
const loginCmd = await generateRegistryLoginCmd(depName, repository);
|
|
55
|
+
if (loginCmd) cmd.push(loginCmd);
|
|
56
|
+
}
|
|
57
|
+
cmd.push(`helm pull --untar --untardir ${quote(untarDir)} --version ${quote(versionToPull)} ${helmRepositoryArgs(repository, depName, datasource)}`);
|
|
49
58
|
await exec(cmd, execOptions);
|
|
50
59
|
}
|
|
51
60
|
async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileContent, config }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","names":[],"sources":["../../../../lib/modules/manager/kustomize/artifacts.ts"],"sourcesContent":["import { isNonEmptyString, isNullOrUndefined } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ExecOptions, ToolConstraint } from '../../../util/exec/types.ts';\nimport {\n deleteLocalFile,\n getSiblingFileName,\n localPathExists,\n} from '../../../util/fs/index.ts';\nimport { collectFileChanges } from '../../../util/git/file-changes.ts';\nimport { getRepoStatus } from '../../../util/git/index.ts';\nimport { DockerDatasource } from '../../datasource/docker/index.ts';\nimport { HelmDatasource } from '../../datasource/helm/index.ts';\nimport {
|
|
1
|
+
{"version":3,"file":"artifacts.js","names":[],"sources":["../../../../lib/modules/manager/kustomize/artifacts.ts"],"sourcesContent":["import { isNonEmptyString, isNullOrUndefined } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ExecOptions, ToolConstraint } from '../../../util/exec/types.ts';\nimport {\n deleteLocalFile,\n getSiblingFileName,\n localPathExists,\n} from '../../../util/fs/index.ts';\nimport { collectFileChanges } from '../../../util/git/file-changes.ts';\nimport { getRepoStatus } from '../../../util/git/index.ts';\nimport { DockerDatasource } from '../../datasource/docker/index.ts';\nimport { HelmDatasource } from '../../datasource/helm/index.ts';\nimport {\n generateHelmEnvs,\n generateRegistryLoginCmd,\n helmRepositoryCredentialArgs,\n} from '../helmv3/common.ts';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types.ts';\nimport {\n artifactError,\n artifactErrorResult,\n fileChangesToArtifactResults,\n resolveToolConstraint,\n} from '../util.ts';\nimport { parseKustomize } from './extract.ts';\n\nasync function localExistingChartPath(\n chartHome: string,\n dependencyName: string,\n version?: string,\n): Promise<string | null> {\n const folderName = `${dependencyName}-${version}`;\n const path = upath.join(chartHome, folderName);\n const pathExists = await localPathExists(path);\n\n return pathExists ? path : null;\n}\n\nfunction helmRepositoryArgs(\n repository: string,\n depName: string,\n datasource?: string,\n): string {\n switch (datasource) {\n case HelmDatasource.id:\n return [\n `--repo ${quote(repository)}`,\n ...helmRepositoryCredentialArgs(repository),\n quote(depName),\n ].join(' ');\n case DockerDatasource.id:\n return quote(`oci://${repository}`);\n /* v8 ignore next: should never happen */\n default:\n throw new Error(`Unknown datasource: ${datasource}`);\n }\n}\n\nasync function inflateHelmChart(\n flagEnabled: boolean,\n execOptions: ExecOptions,\n chartHome: string,\n depName: string,\n repository: string,\n currentVersion: string,\n newVersion?: string,\n datasource?: string,\n): Promise<void> {\n const currentChartExistingPath = await localExistingChartPath(\n chartHome,\n depName,\n currentVersion,\n );\n\n if (!flagEnabled && isNullOrUndefined(currentChartExistingPath)) {\n logger.debug(\n `Not inflating Helm chart for ${depName} as kustomizeInflateHelmCharts is not enabled and the current version isn't inflated`,\n );\n return;\n }\n\n if (\n isNonEmptyString(currentChartExistingPath) &&\n isNonEmptyString(newVersion)\n ) {\n logger.debug(`Deleting previous helm chart: ${currentChartExistingPath}`);\n await deleteLocalFile(currentChartExistingPath);\n }\n\n const versionToPull = newVersion ?? currentVersion;\n const versionToPullExistingPath = await localExistingChartPath(\n chartHome,\n depName,\n versionToPull,\n );\n\n if (isNonEmptyString(versionToPullExistingPath)) {\n logger.debug(\n `Helm chart ${depName} version ${versionToPull} already exists at ${versionToPullExistingPath}`,\n );\n return;\n }\n\n const folderName = `${depName}-${versionToPull}`;\n const untarDir = upath.join(chartHome, folderName);\n logger.debug(\n `Pulling helm chart ${depName} version ${versionToPull} to ${untarDir}`,\n );\n\n const cmd: string[] = [];\n if (datasource === DockerDatasource.id) {\n const loginCmd = await generateRegistryLoginCmd(depName, repository);\n if (loginCmd) {\n cmd.push(loginCmd);\n }\n }\n cmd.push(\n `helm pull --untar --untardir ${quote(untarDir)} ` +\n `--version ${quote(versionToPull)} ${helmRepositoryArgs(repository, depName, datasource)}`,\n );\n\n await exec(cmd, execOptions);\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`kustomize.updateArtifacts(${packageFileName})`);\n const project = parseKustomize(newPackageFileContent);\n const isUpdateOptionInflateChartArchives =\n config.postUpdateOptions?.includes('kustomizeInflateHelmCharts') === true;\n if (isNullOrUndefined(project)) {\n return [\n artifactError(undefined, 'Failed to parse new package file content'),\n ];\n }\n\n const chartHome = getSiblingFileName(\n packageFileName,\n project.helmGlobals?.chartHome ?? 'charts',\n );\n\n try {\n const helmConstraint = await resolveToolConstraint(config, 'helm');\n const helmToolConstraint: ToolConstraint = {\n toolName: 'helm',\n constraint: helmConstraint,\n };\n\n const execOptions: ExecOptions = {\n docker: {},\n extraEnv: generateHelmEnvs(helmConstraint),\n toolConstraints: [helmToolConstraint],\n };\n\n for (const dependency of updatedDeps) {\n if (!dependency.currentVersion) {\n continue;\n }\n\n if (dependency.newVersion === dependency.currentVersion) {\n continue;\n }\n\n if (!isNonEmptyString(dependency.depName)) {\n continue;\n }\n\n if (dependency.depType !== 'HelmChart') {\n continue;\n }\n\n let repository = null;\n\n switch (dependency.datasource) {\n case HelmDatasource.id:\n repository = dependency.registryUrls?.[0];\n break;\n case DockerDatasource.id:\n repository = dependency.packageName;\n break;\n }\n\n if (isNullOrUndefined(repository)) {\n continue;\n }\n\n await inflateHelmChart(\n isUpdateOptionInflateChartArchives,\n execOptions,\n chartHome,\n dependency.depName,\n repository,\n dependency.currentVersion,\n dependency.newVersion,\n dependency.datasource,\n );\n }\n\n const status = await getRepoStatus();\n const fileChanges = fileChangesToArtifactResults(\n await collectFileChanges(status, {\n include: ['not_added', 'deleted'],\n // only add artifacts in the chartHome path\n filter: (file) => file.startsWith(chartHome),\n }),\n );\n\n return fileChanges.length > 0 ? fileChanges : null;\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to inflate helm chart');\n return artifactErrorResult(undefined, err);\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
package/renovate-schema.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$id": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
-
"title": "JSON schema for Renovate 44.
|
|
3
|
+
"title": "JSON schema for Renovate 44.131.0 config files (https://renovatebot.com/)",
|
|
4
4
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
-
"x-renovate-version": "44.
|
|
5
|
+
"x-renovate-version": "44.131.0",
|
|
6
6
|
"allowComments": true,
|
|
7
7
|
"type": "object",
|
|
8
8
|
"definitions": {
|