{"_id":"keyvault-configuration-resolver","_rev":"91-0e3ab92bda4e99e2089dfac145201888","name":"keyvault-configuration-resolver","dist-tags":{"latest":"1.0.4"},"versions":{"0.9.5":{"name":"keyvault-configuration-resolver","version":"0.9.5","keywords":["keyvault","azure","configuration"],"author":{"name":"Microsoft Open Source Programs Office"},"license":"MIT","_id":"keyvault-configuration-resolver@0.9.5","maintainers":[{"name":"microsoft","email":"npmjs@microsoft.com"}],"contributors":[{"name":"Wilcox, Jeff","email":"jwilcox@microsoft.com"}],"dist":{"shasum":"bf9ae0b97c0c4ddb53836ade021e4701d0087d89","tarball":"https://registry.npmjs.org/keyvault-configuration-resolver/-/keyvault-configuration-resolver-0.9.5.tgz","integrity":"sha512-mNGpBh22UHreii86T53Rdfl9EFhBLMFlYZcGLXx70AxC1tbG+h7Htyb8ZYaj/maeOAAyZtuYqRXEXDt2YZ43pw==","signatures":[{"sig":"MEYCIQCGyb6IfhxUkFOKa6k6khPTF6DARBU98qzSLnYAIGfepgIhAJZ0QjSbEe+I/7k7cHq2d3dgkx7vvBoiuNzjl/3u+HK9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","tags":["keyvault","azure","node","secrets"],"_from":".","_shasum":"bf9ae0b97c0c4ddb53836ade021e4701d0087d89","engines":{"node":"~6.9.0"},"gitHead":"9fadea94f04eb1a9018dbeb9dd26111065660150","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"microsoft","email":"npmjs@microsoft.com"},"deprecated":"This package has been merged into painless-config-resolver v2.0.0","_npmVersion":"3.9.5","description":"Resolves custom keyvault:// URI values within an object graph using Azure KeyVault for Node.js","directories":{},"_nodeVersion":"6.2.2","dependencies":{"async":"^2.1.4","adal-node":"^0.1.22","object-path":"^0.11.3","azure-keyvault":"^1.0.0"},"devDependencies":{"eslint":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/keyvault-configuration-resolver-0.9.5.tgz_1483642587987_0.5409092551562935","host":"packages-18-east.internal.npmjs.com"}},"0.9.6":{"name":"keyvault-configuration-resolver","version":"0.9.6","keywords":["keyvault","azure","configuration"],"author":{"name":"Microsoft Open Source Programs Office"},"license":"MIT","_id":"keyvault-configuration-resolver@0.9.6","maintainers":[{"name":"jeffwilcox","email":"jeffwilcox@gmail.com"},{"name":"microsoft","email":"npmjs@microsoft.com"}],"contributors":[{"name":"Wilcox, Jeff","email":"jwilcox@microsoft.com"}],"homepage":"https://github.com/microsoft/keyvault-configuration-resolver-node#readme","bugs":{"url":"https://github.com/microsoft/keyvault-configuration-resolver-node/issues"},"dist":{"shasum":"a787f8b4c1140764c5ff8ad4a887e9e367d3a8b0","tarball":"https://registry.npmjs.org/keyvault-configuration-resolver/-/keyvault-configuration-resolver-0.9.6.tgz","integrity":"sha512-04loPrk7seaUTPAbb1dc92tAsMvuUWRcT99Nz0RGVIuclAyCV5R8WyxhZBH152BAClrWzlzwVB3bS8C3VxA4Lw==","signatures":[{"sig":"MEUCICQybp95fXqaUOU78n1Tke6f/0ombPZ8bXfW8CNnjepLAiEAxq80g0EK/odkZ4dY+fFStqsISas/bL5mQnFi/urnONk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","tags":["keyvault","azure","node","secrets"],"_from":".","_shasum":"a787f8b4c1140764c5ff8ad4a887e9e367d3a8b0","engines":{"node":"~6.9.0"},"gitHead":"9fe3b05f35267e57e67682db4dd9601c58524e90","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"jeffwilcox","email":"jeffwilcox@gmail.com"},"deprecated":"This package has been merged into painless-config-resolver v2.0.0","repository":{"url":"git+https://github.com/microsoft/keyvault-configuration-resolver-node.git","type":"git"},"_npmVersion":"3.10.9","description":"Resolves custom keyvault:// URI values within an object graph using Azure KeyVault for Node.js","directories":{},"_nodeVersion":"6.9.2","dependencies":{"async":"^2.1.4","adal-node":"^0.1.22","object-path":"^0.11.3","azure-keyvault":"^1.0.0"},"devDependencies":{"eslint":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/keyvault-configuration-resolver-0.9.6.tgz_1483642778082_0.38009143923409283","host":"packages-12-west.internal.npmjs.com"}},"0.9.7":{"name":"keyvault-configuration-resolver","version":"0.9.7","keywords":["keyvault","azure","configuration"],"author":{"name":"Microsoft Open Source Programs Office"},"license":"MIT","_id":"keyvault-configuration-resolver@0.9.7","maintainers":[{"name":"jeffwilcox","email":"jeffwilcox@gmail.com"},{"name":"microsoft","email":"npmjs@microsoft.com"}],"contributors":[{"name":"Wilcox, Jeff","email":"jwilcox@microsoft.com"}],"homepage":"https://github.com/microsoft/keyvault-configuration-resolver-node#readme","bugs":{"url":"https://github.com/microsoft/keyvault-configuration-resolver-node/issues"},"dist":{"shasum":"cdeb2d28d5c374c78663e1cb270b9d0998b25c81","tarball":"https://registry.npmjs.org/keyvault-configuration-resolver/-/keyvault-configuration-resolver-0.9.7.tgz","integrity":"sha512-69UMGybR2/CTGyhNGWcsnK41HJMOZBRBt9lTjWI4xrRdMn9eT+oOoPcXp1EOpmMfYYcy2qKkpcvPHNC4eWM+EQ==","signatures":[{"sig":"MEUCIQCotZVM/VLstGJM9M7yV8E9czAp+AXnJsINyNNoBdoB7wIgK/2HxV+oNXv8T4z93fkSJvDK8Nm9N72KSr7xdJhipQM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","tags":["keyvault","azure","node","secrets"],"_from":".","_shasum":"cdeb2d28d5c374c78663e1cb270b9d0998b25c81","engines":{"node":"~6.9.0"},"gitHead":"5414934b030f89c63f2ecc176a8bc853d1327ad0","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"jeffwilcox","email":"jeffwilcox@gmail.com"},"deprecated":"This package has been merged into painless-config-resolver v2.0.0","repository":{"url":"git+https://github.com/microsoft/keyvault-configuration-resolver-node.git","type":"git"},"_npmVersion":"3.10.9","description":"Resolves custom keyvault:// URI values within an object graph using Azure KeyVault for Node.js","directories":{},"_nodeVersion":"6.9.2","dependencies":{"async":"^2.1.4","adal-node":"^0.1.22","object-path":"^0.11.3","azure-keyvault":"^1.0.0"},"devDependencies":{"eslint":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/keyvault-configuration-resolver-0.9.7.tgz_1484005229847_0.12199866166338325","host":"packages-12-west.internal.npmjs.com"}},"1.0.0":{"name":"keyvault-configuration-resolver","version":"1.0.0","keywords":["keyvault","azure","configuration"],"author":{"name":"Microsoft Open Source Programs Office"},"license":"MIT","_id":"keyvault-configuration-resolver@1.0.0","maintainers":[{"name":"jeffwilcox","email":"jeffwilcox@gmail.com"},{"name":"microsoft","email":"npmjs@microsoft.com"}],"contributors":[{"name":"Jeff Wilcox","email":"jwilcox@microsoft.com"}],"homepage":"https://github.com/microsoft/keyvault-configuration-resolver-node#readme","bugs":{"url":"https://github.com/microsoft/keyvault-configuration-resolver-node/issues"},"dist":{"shasum":"55e3882208f2824af90af09d0fa91e873453f77e","tarball":"https://registry.npmjs.org/keyvault-configuration-resolver/-/keyvault-configuration-resolver-1.0.0.tgz","integrity":"sha512-X6Z9KbVxH/Tj4F+sZ/rqN9BBgXxzb+j+Sn1bUmClLPKBbrSNwaMfyCkhcMum64liHOypIJdzk+67S1kIRXKSBA==","signatures":[{"sig":"MEYCIQDBZOJM3F0oddu0nMnLuD+p0IwZLXg4IBAezNknnf/yJQIhAJevyK5Gs14GuibJP6z+qUeXfuIVT26Ld6g0ndwdGyvg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","tags":["keyvault","azure","node","secrets"],"_from":".","_shasum":"55e3882208f2824af90af09d0fa91e873453f77e","engines":{"node":"~6.9.0"},"gitHead":"1d4876892e8fc37ad2491a9466ee0cba163e6923","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"jeffwilcox","email":"jeffwilcox@gmail.com"},"deprecated":"This package has been merged into painless-config-resolver v2.0.0","repository":{"url":"git+https://github.com/microsoft/keyvault-configuration-resolver-node.git","type":"git"},"_npmVersion":"3.10.10","description":"Resolves custom keyvault:// URI values within an object graph using Azure KeyVault for Node.js","directories":{},"_nodeVersion":"6.9.4","dependencies":{"async":"^2.1.4","adal-node":"^0.1.22","object-path":"^0.11.3","azure-keyvault":"^1.0.0"},"devDependencies":{"eslint":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/keyvault-configuration-resolver-1.0.0.tgz_1489382496518_0.9017570337746292","host":"packages-12-west.internal.npmjs.com"}},"1.0.1":{"name":"keyvault-configuration-resolver","version":"1.0.1","keywords":["keyvault","azure","configuration"],"author":{"name":"Microsoft Open Source Programs Office"},"license":"MIT","_id":"keyvault-configuration-resolver@1.0.1","maintainers":[{"name":"jeffwilcox","email":"jeffwilcox@outlook.com"},{"name":"microsoft","email":"npmjs@microsoft.com"}],"contributors":[{"name":"Jeff Wilcox","email":"jwilcox@microsoft.com"}],"homepage":"https://github.com/Microsoft/keyvault-configuration-resolver-node#readme","bugs":{"url":"https://github.com/Microsoft/keyvault-configuration-resolver-node/issues"},"dist":{"shasum":"05d89381270b388e3b29150b02806d9b3fdfd317","tarball":"https://registry.npmjs.org/keyvault-configuration-resolver/-/keyvault-configuration-resolver-1.0.1.tgz","fileCount":5,"integrity":"sha512-KVH+H7KSMyT0gAqHGIwDKR9XFX0Xqi9/gtoqHJ9/nOXETsOFbtCC+LuANU/33jT56/uz/gq0nweCMoxapUVuKw==","signatures":[{"sig":"MEYCIQCiJJFQUMCuUp7vbWdrw5kJgMmsBZJgNMT4neHwfAhdPQIhANSrBpPc5/f1J6yEHGD4FSjlmzwCQm69xUKAtE7zZKYx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaoTrCRA9TVsSAnZWagAAf0MP/jtWUCJW1jnCleLVfmHm\n9cB0MEp8sI5KtKn748vAsl+qkJO3nkbbETPgF1anJ7KKPdAtPj0Div42ZhoR\nZC2jye5Q1gHzRYuuLKw1J6QnyS5M9EUBDZtixnBf5jE2qyk6Xf+xEmHdpWFS\nNWyfpUJvxzHnLJasztFTb2+ldrwZlLNIcMFufFPazi7vqbMI9g5v37wG2ujy\nLSC7aQE1ZvNxpiSJtiIX6xN/Ph1eQfOIruK6cn/GzlRFVgmB+xGuHM6FU0Y4\n7SSFTIzzt66fdVB7FWE6io7wk/qw0LylXzJJaBZ7RUCH4MsruF0tKGQoHk2s\njejKdTes8VY2W8mPqfUhwFtgRZF0o88cqdnGpKC16xujzl1IXtSGZNVFb1x+\nMkcJ8FUp+LyLPNAoeicqdVxGHsnK8obgISTTsgo84vTpnTfBfYALYwzj66/R\nao9+I+DCYNFAP3fAisCbaJtHopl++fDASWtHQ2bPmUTA9ugQBmJQKcsTiFsR\nYaI1C6oB6w6o7lgNYAszAqEfHmwQsYL5Y6Q7maGbzMRX0muKQ+s7gLFSXZch\nmAm/tjMar/IiVP4wNHdosCWDoYi/fhA0lBYrgFfXBZOcvyd6HlXu/D+1gw8g\nM22qtbHg8wtJMVd9OrJ7RPW9o1GJdpgcJKsfjsdKpemy8+CIpdAcmaLnYUPY\nkhc2\r\n=19jf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","tags":["keyvault","azure","node","secrets"],"engines":{"node":"~6.9.0"},"gitHead":"c5fa4ae25cf17dc9a3439305e17033bae5246ac3","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"jeffwilcox","email":"jeffwilcox@outlook.com"},"deprecated":"This package has been merged into painless-config-resolver v2.0.0","repository":{"url":"git+https://github.com/Microsoft/keyvault-configuration-resolver-node.git","type":"git"},"_npmVersion":"6.1.0","description":"Resolves custom keyvault:// URI values within an object graph using Azure KeyVault for Node.js","directories":{},"_nodeVersion":"10.6.0","dependencies":{"async":"^2.6.1","adal-node":"^0.1.28","object-path":"^0.11.4","azure-keyvault":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/keyvault-configuration-resolver_1.0.1_1533707499046_0.6172712549998816","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"keyvault-configuration-resolver","version":"1.0.2","keywords":["keyvault","azure","configuration"],"author":{"name":"Microsoft Open Source Programs Office"},"license":"MIT","_id":"keyvault-configuration-resolver@1.0.2","maintainers":[{"name":"jeffwilcox","email":"jeffwilcox@outlook.com"},{"name":"microsoft","email":"npmjs@microsoft.com"}],"contributors":[{"name":"Jeff Wilcox","email":"jwilcox@microsoft.com"}],"homepage":"https://github.com/Microsoft/keyvault-configuration-resolver-node#readme","bugs":{"url":"https://github.com/Microsoft/keyvault-configuration-resolver-node/issues"},"dist":{"shasum":"c5c0b7461871087339fc0bf71d063d40376ab865","tarball":"https://registry.npmjs.org/keyvault-configuration-resolver/-/keyvault-configuration-resolver-1.0.2.tgz","fileCount":5,"integrity":"sha512-OHFmDcZr4MBuz4gZ4y6mPGM3eWWFo5a5CMkmg5z2ZC4fo/YtoGLCNRTb09ZnIm1Wa6nginywe3CyrsC6Yz0P7w==","signatures":[{"sig":"MEUCIFkZKKYtTZhhGqP2mTuWdSdsuialXJNI/OmGfXFc4d0DAiEA4n0L1KolkmDuKxcWp+iB9ol9q5RLEKg+TxPZbSHlduc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc98mlCRA9TVsSAnZWagAADtIP/Ri8FD9+eYjkyIl3t3YB\nItOMg1GwLYXEg6wiuDVdn+H/BROIs6qUep7uiJklfnvWZfMJnMJK2n2vBR71\njk6Vk5xJoQ39otlihMudld2AF3u4lc669U87zrOSDtM9cCt/0VfyYxDs4Zcw\nkVeDHKANzigX3EhpGUdniv30CfUbBZJUIbSZCt5NTrv6rXbURmFlIh4EAvsS\nf6P8bthE37jgXHXbg7m3GBuly1XeNRuZ0BS71vMudl1AuhLbbL4KKqnuMzKd\n9uCeyTCZ7qYzBk7Z/6/3PoN08IRfY4jOhjNu0QAZmqVb5U7mxGM1Z6Pwegbi\nCMp0LUh8Nao7yp8LZGgMllWn1YTWLquaRBiThQtxg06E2ixQYm+C7ZtKhtf9\n+RQq6sZgcy6UMnSIgOh5Hw/HEJ3Y10PQ3kDpk4uRn3paMkDQC975+C1IPAj0\nYVffH2Um7arm8yMlVkcp494xxco192tWzTwcGxPlVHVWQKVrZEydjWraz5pr\ndIL31KBAyww+b0jqh8pU50nItBtJxAFI1n4TOQLB526yuqOzwrIsWZpTEDwm\nW8ZzPofWYAdEl/YCxu+O5GDnRYXdA/yg5ngPF6Adi5TIGG+kiz6tlQ189MHe\ni07pn9Hbt4gr7ul0jCCKvIT1MW3i4m42XdPso09cMu2arAOCEff7rUOmygP5\noVl1\r\n=Nzbf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","tags":["keyvault","azure","node","secrets"],"engines":{"node":"~6.9.0"},"gitHead":"455d53aeda467785d504f693a924d6c43c0df1e9","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"jeffwilcox","email":"jeffwilcox@outlook.com"},"deprecated":"This package has been merged into painless-config-resolver v2.0.0","repository":{"url":"git+https://github.com/Microsoft/keyvault-configuration-resolver-node.git","type":"git"},"_npmVersion":"6.9.0","description":"Resolves custom keyvault:// URI values within an object graph using Azure KeyVault for Node.js","directories":{},"_nodeVersion":"10.16.0","dependencies":{"async":"3.0.1","adal-node":"0.1.28","object-path":"0.11.4","azure-keyvault":"3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"5.16.0"},"_npmOperationalInternal":{"tmp":"tmp/keyvault-configuration-resolver_1.0.2_1559742884416_0.11092751303463255","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"keyvault-configuration-resolver","version":"1.0.3","keywords":["keyvault","azure","configuration"],"author":{"name":"Microsoft Open Source Programs Office"},"license":"MIT","_id":"keyvault-configuration-resolver@1.0.3","maintainers":[{"name":"jeffwilcox","email":"jeffwilcox@outlook.com"},{"name":"microsoft","email":"npmjs@microsoft.com"}],"contributors":[{"name":"Jeff Wilcox","email":"jwilcox@microsoft.com"}],"homepage":"https://github.com/Microsoft/keyvault-configuration-resolver-node#readme","bugs":{"url":"https://github.com/Microsoft/keyvault-configuration-resolver-node/issues"},"dist":{"shasum":"9c664a6083ca3c9f02f6734b5832a3a3a8268783","tarball":"https://registry.npmjs.org/keyvault-configuration-resolver/-/keyvault-configuration-resolver-1.0.3.tgz","fileCount":5,"integrity":"sha512-uXHsHL4unCYFdMzg9PZpO81vY/kkwN6yXAgApbaNmAnlBg20ijQdyOpKSEEPpbkNlYgObezEgHZZ7b2hLktK9A==","signatures":[{"sig":"MEUCIQD0/NfMNv5MY9uaYsWUA41f5Scj1w6iLkHyOBdqJNJm/QIgFyEmthtREMNEtiUCBTr2nwPwHMCpodGH8THd1DPAQpo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJ6KMCRA9TVsSAnZWagAAn7oP/iiXU2TRL90K3oNoNoGn\n3hH9L0YDH2FzBTKz1nLKnf+UJol8x8iuqufs/XR5M35TKk5eELxxJWnpTOYh\n8TIpqrn+I/FuBWrxyc7oJj63gR3iUPTUcyjA/MB84/cbGHB5TMViHqP1S+k4\nAq1X5+gGxr9gATeU12IKjAKBt/uytOAB+GOe0HCcrZNtFEOx2BCwIIYqGMuZ\n0xcvVw5PiyT0J8D5iRm2R6ZlGzpkvIXGz5j+JijVUkxLpA5pMWnQoG/ylv2u\nxPS7fMBPhg6augJ6V4jMBoORo5+uuWp5Y1LngEG0mBvOstKEtRBwZPv/Teoa\nyyWN7kB3kYOYmgEZzqRzkP1nBLzi94vpD82Zsm3InMqYRTldzHYHyNt/ULZJ\n3+NymMRozyUM4cjwTts1J2wVM8u1Vo2PQI1nDSQI01tmaJ+CWp8XKYhCHavt\nfbr7mp4XV9Q/4/fHRl67NiNJvgmrAQriCyxj9dDm6de53VXH+UuAwXwjk2PS\nCLIMpiF3nVREDmJjbam4O6D43NJsZ6JunY4oPyiVIEeelZCBPTPoel0/Uoqb\nH0kiV+Zzkg0759WBiRWCLZn9XT0zv1ndDRzFRB6de5a+QVZo7X/MiH2YgErJ\n0zHWwL8sIPMoZXRR3X4WtT5OcilhkgAMBoERUo9+Fuj51TP2bboyMXSjZemN\ndTjp\r\n=sOL9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","tags":["keyvault","azure","node","secrets"],"gitHead":"fd0e75cb7676e066b5f5ce27b75363c875db1789","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"microsoft","email":"npmjs@microsoft.com"},"deprecated":"This package has been merged into painless-config-resolver v2.0.0","repository":{"url":"git+https://github.com/Microsoft/keyvault-configuration-resolver-node.git","type":"git"},"_npmVersion":"6.1.0","description":"Resolves custom keyvault:// URI values within an object graph using Azure KeyVault for Node.js","directories":{},"_nodeVersion":"10.16.0","dependencies":{"async":"3.1.0","adal-node":"0.1.28","object-path":"0.11.4","azure-keyvault":"3.0.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keyvault-configuration-resolver_1.0.3_1562878603674_0.6954780270962502","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"keyvault-configuration-resolver","version":"1.0.4","keywords":["keyvault","azure","configuration"],"author":{"name":"Microsoft Open Source Programs Office"},"license":"MIT","_id":"keyvault-configuration-resolver@1.0.4","maintainers":[{"name":"jeffwilcox","email":"jeffwilcox@outlook.com"},{"name":"microsoft","email":"npmjs@microsoft.com"}],"contributors":[{"name":"Jeff Wilcox","email":"jwilcox@microsoft.com"}],"homepage":"https://github.com/Microsoft/keyvault-configuration-resolver-node#readme","bugs":{"url":"https://github.com/Microsoft/keyvault-configuration-resolver-node/issues"},"dist":{"shasum":"e59831f5bdc4703335b7675f663d39d282cc1c6b","tarball":"https://registry.npmjs.org/keyvault-configuration-resolver/-/keyvault-configuration-resolver-1.0.4.tgz","fileCount":5,"integrity":"sha512-rdDudoEDC6AygefHOSra8y2pa40bJUM9Li1NeSyLiEgwIHLE72XKr3n8NUeW3Rxkr0GluN4yTnWU0hm1LrNG6A==","signatures":[{"sig":"MEUCIHgYo/9TjoD+qjK4HQCMc3ArrLnfs+rYMtz2whBHxZVRAiEA6ErGoz7//q08Z/OnrVcCIM5WB482NX2DzsqvC2jcuRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdTGrDCRA9TVsSAnZWagAA5XUP/1bu+KAkY3X3x72+Z2S2\n7i8XY6jYWUEPmTXP1wyDw63+fNxsy3YmcOOn483qFhOkStdsPmci2B7cb/Iw\nQBIWwF/h9DlZpM79afRX+9roIkCsW4dPU2wJmzbt8QqnC1olSYhhgFXLYVJG\nQlRzYv6I5KedK9hkF0p9Jp5PAviyjZhNNPjDQe1G/ut1p8ds9e8962NeYKc9\nSNUpGosw87iyZdTHg9S0jrZOC19r/C12PHqH3YkKV14YIvkvmP8e84KTwlxq\ndnF8Dv21nXUgVpIKYIsXa0CcY6M2YwKZBYu0iaIXW7rCymWTgMZ3elYCIBEU\nal/chR5PLfNtRenJEt90upAu8fkAITaSyJsLYr+8CbI5JpnkoSKeo0UT5u5d\nhgd3hmmw/lMhTI1NDepotptHMwYTMJfDRn3LA7KY4MchAwkCjf04fCfigyNb\nfl1zxjepYvuyooZ0FqcekR/6LtMRnuGAdhU3kDXQcN1wTNPT+m2lNQF4T6oW\njJHHVodUv7R0yn90D7Lz5SWae6q3EwC4TCFhhyTW0oC5md2g6UI81uXMN3+l\nS3rbR0ak2Iln0Cl3Kq6GQ+XMo+GZwjX5vRDPbKa7A2GcNqJ3EJM3vmdYMoYn\njAZP7fhIxUpLL5xVlHya8P+w1Akv7W1dhDLfl6cvJsPIbu8n8YcA1lK0WvhZ\nt+xf\r\n=/tpo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","tags":["keyvault","azure","node","secrets"],"gitHead":"72a3943f17adfcb366948fb9df3e4b9885bb44e8","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"jeffwilcox","email":"jeffwilcox@outlook.com"},"deprecated":"This package has been merged into painless-config-resolver v2.0.0","repository":{"url":"git+https://github.com/Microsoft/keyvault-configuration-resolver-node.git","type":"git"},"_npmVersion":"6.9.0","description":"Resolves custom keyvault:// URI values within an object graph using Azure KeyVault for Node.js","directories":{},"_nodeVersion":"10.16.0","dependencies":{"async":"3.1.0","adal-node":"0.1.28","object-path":"0.11.4","azure-keyvault":"3.0.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/keyvault-configuration-resolver_1.0.4_1565289154363_0.2802089047180907","host":"s3://npm-registry-packages"}}},"time":{"created":"2017-01-05T18:56:29.886Z","modified":"2026-07-16T15:48:36.033Z","0.9.5":"2017-01-05T18:56:29.886Z","0.9.6":"2017-01-05T18:59:38.310Z","0.9.7":"2017-01-09T23:40:31.665Z","1.0.0":"2017-03-13T05:21:36.774Z","1.0.1":"2018-08-08T05:51:39.186Z","1.0.2":"2019-06-05T13:54:44.563Z","1.0.3":"2019-07-11T20:56:43.768Z","1.0.4":"2019-08-08T18:32:34.520Z"},"bugs":{"url":"https://github.com/Microsoft/keyvault-configuration-resolver-node/issues"},"author":{"name":"Microsoft Open Source Programs Office"},"license":"MIT","homepage":"https://github.com/Microsoft/keyvault-configuration-resolver-node#readme","keywords":["keyvault","azure","configuration"],"repository":{"url":"git+https://github.com/Microsoft/keyvault-configuration-resolver-node.git","type":"git"},"description":"Resolves custom keyvault:// URI values within an object graph using Azure KeyVault for Node.js","contributors":[{"name":"Jeff Wilcox","email":"jwilcox@microsoft.com"}],"maintainers":[{"email":"npmjs@microsoft.com","name":"microsoft1es"},{"email":"microsoft-oss-publishing@microsoft.com","name":"microsoft-oss-releases"},{"email":"jeffwilcox@outlook.com","name":"jeffwilcox"}],"readme":"# Azure KeyVault configuration secrets resolver\n\nThis library extends the official Azure KeyVault client library for Node.js with a new\nmethod, `resolveObjectSecrets`, that takes an object graph (typically a set of configuration\ndata), walks the object to identify strings that use a custom syntax to identify KeyVault\nsecrets, and then gets the secret(s) using the KeyVault client, updating the value with the\nresolved secret.\n\nAt this time the library is available on npm with the module name `keyvault-configuration-resolver`.\n\n```\nnpm install keyvault-configuration-resolver --save\n```\n\n## Intended scenario\n\nThe purpose of this library is to help resolve a bunch of secrets at app startup, or other\ntimes.\n\nThe goal is to prevent developer mistakes by keeping secrets in a KeyVault instead of checking in\ncredentials to a repository. It also helps keep production secrets more secret by not authorizing\nthe production key vault instance to work with other applications.\n\nSince the resolution of key vault secrets in this case requires a client ID and secret, anyone\nwith the client ID and secret could resolve the secrets, but for us it's enough to prevent most\nmistakes.\n\n## Limitations/ known issues\n\n- `npm-shrinkwrap.json`: shrinkwrap files may break this script\n\n### Unofficial but useful\n\nThis component was developed by the Open Source Programs Office at Microsoft. The OSPO team\nuses Node.js for some of its applications and has found this component to be useful. We are\nsharing this in the hope that others may find it useful.\n\nIt's important to understand that this library was developed for use by a team at Microsoft, but\nthat this is not an official library or module built by the KeyVault team.\n\n### Why a custom URI protocol syntax\n\nWe use a custom URI syntax to identify KeyVault secrets that we would like to address inside of\nan object.\n\nThis is as opposed to trying to identify strings that are URIs and contain KeyVault addresses; we\nhave many valid scenarios where we resolve KeyVault secrets at runtime, so we do not want to\nresolve them just once.\n\nThe custom syntax makes it very clear that the developer/configuration explicitly wants to take\nthe string with the `keyvault://` syntax and resolve it.\n\n## How to use the library\n\nThe library simply extends the provided Azure KeyVault client for Node.js, or creates a new\ninstance, with a new method called `getObjectSecrets`.\n\n### getObjectSecrets method\n\nThe get object secrets method takes in an object and a callback. Anything identified as a\nKeyVault string URI (by having the custom `keyvault://` scheme) will\nbe resolved using KeyVault. The application will need to have permission to the vault(s)\nor it will error out.\n\n### example\n\nHere is the environment that we are making available to this application:\n\n```\nAZUREAD_CLIENT_ID=our_AAD_app_id\nAZUREAD_CLIENT_SECRET=our_AAD_app_secret\nSESSION_SALT=keyvault://keyvaultname.vault.azure.net/secrets/our-app-session-salt\nAZURE_STORAGE_ACCOUNT=keyvault://account@keyvaultname.vault.azure.net/secrets/azure-storage-account/7038c64d4b094ee897bc62dd43b29640\nAZURE_STORAGE_KEY=keyvault://keyvaultname.vault.azure.net/secrets/azure-storage-account/7038c64d4b094ee897bc62dd43b29640\n```\n\nNote that this AAD client ID has been authorized as a service principal to have secret GET\naccess to the KeyVault. You can configure this in the Azure portal or using PowerShell, etc.\n\nOur Azure storage key in this example also has a custom \"tag\" set called \"account\" that\nincludes the account name. This is to demonstrate how to refer to tag values stored\nalongside the secret version.\n\nHere is a sample object graph that contains some configuration information that our\napplication would like to use:\n\n```\nlet config = {\n  session: {\n    salt: process.env.SESSION_SALT,\n  },\n  storage: {\n    account: process.env.AZURE_STORAGE_ACCOUNT,\n    key: process.env.AZURE_STORAGE_KEY,\n  },\n};\n```\n\nAnd here is how we go ahead at startup inside of our Express app to resolve these secrets:\n\n```\nconst keyVaultResolver = require('keyvault-configuration-resolver');\n\nconst keyVaultConfig = {\n  clientId: process.env.AZUREAD_CLIENT_ID,\n  clientSecret: process.env.AZUREAD_CLIENT_SECRET,\n};\n\nkeyVaultResolver(keyVaultConfig).getObjectSecrets(config, (resolutionError) => {\n  if (resolutionError) {\n    throw resolutionError;\n  }\n  // at this point, config values such as config.storage.key now have the secrets\n\n  // ... continue your app work, or store in middleware\n});\n```\n\n## How to instantiate the library\n\n### With an AAD client ID and secret\n\nPass in the `clientId` and `clientSecret` as options to the library.\n\nAlternatively, you can pass in a function called `getClientCredentials` that will be called when they are needed. `clientId` and `clientSecret` values are expected at this time.\n\n### With an existing KeyVault credentials instance\n\nPass in the credentials as a property called `credentials`, and the KeyVaultClient will be\ninstantiated for you, along with the new method `getObjectSecrets`.\n\n### With an existing KeyVault client instance\n\nSimply pass in the client instance as the value of a property called `client`. The client\nwill then have a `getObjectSecrets` method.\n\nYou may also just pass in a KeyVault client instance. This is detected by the presence of\na function called \"getSecret\" on the passed-in object.\n\n### With an AAD client certificate\n\n_Not supported_\n\nThis work is not yet complete but may be available in a future update. At this time the app\nsecret must be provided for KeyVault resolution to work with Node.js apps.\n\n# License\n\nMIT\n\n# Contributing\n\nPull requests will gladly be considered! A CLA may be needed.\n\nThis project has adopted the [Microsoft Open Source Code of\nConduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct\nFAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com)\nwith any additional questions or comments.\n\n# Changes\n\n## 1.0.4\n\n- Thrown errors in validation by the key vault clients are propagated\n\n## 1.0.3\n\n- Newer dependencies\n- Removes `eslint` dev dep\n\n## 1.0.1\n\n- Uses a newer KeyVault client\n\n## 1.0.0\n\n- For each resolution call (a set of changes through the object graph), a cache of secret responses is maintained. This improves performance for apps that include many sub-secret tag values or reuse the same secret many times.\n\n## 0.9.7\n\n- First stable release\n","readmeFilename":"README.md"}