{"_id":"@mcpg-dev/pulumi-policy","_rev":"31-121565fe0339972ae48a01c68add66e5","name":"@mcpg-dev/pulumi-policy","dist-tags":{"canary":"0.1.0-canary.732","beta":"0.1.0-beta.13","latest":"0.1.0-beta.38"},"versions":{"0.1.0-beta.8":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.8","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.8","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"93c29e5e8604ff3498468024e9eb58b1ed12555a","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.8.tgz","fileCount":16,"integrity":"sha512-1bV4+Y7LqSHbS94FSO9b+C16Q1gKKb8pqLu1agRUbLnSOV6EEY2lCAzPjz4ahQN3AQSzdEuBF1EfdBFdU6/jyA==","signatures":[{"sig":"MEUCIGR7FKycltdQrNXMxEXnFxzvbEdy3+MZNVu1ZjoBXRKzAiEAmO2EDowGi/x3icCUPf8W2ZFruFJWNFMY3hXjmA3vO38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59361},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"75352f22a6cb72f8c5a29e60a04a2705eb088c32","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"deprecated":"Superseded pre-release; install the latest version.","repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.8_1786626832339_0.6424175276047892","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.9":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.9","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.9","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"7fcb9ccb5811638fd9425ba303df9140b5510591","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.9.tgz","fileCount":16,"integrity":"sha512-jMslyuAg261HgC3nIlQTsGabEXOl653CyxLkCdA/mItSwDGPipC1ZlvOuP0B5NK0C5iPnlbXtVox1a6f/m2FLA==","signatures":[{"sig":"MEUCIQCraHnHOt/MqjHrkCrauF63G4WDQQu3+vCNO47ktnTBBgIgJt4AQtiZ5YSd0YsdKMKQAd88hh8hDm4LjZwAbVfd+ZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59361},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"7a39caac923c7fca7dfdb02b23cad4d12ce182c8","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"deprecated":"Superseded pre-release; install the latest version.","repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.9_1786632676672_0.045277540412527184","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.11":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.11","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.11","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/source-code#readme","bugs":{"url":"https://github.com/mcpg-dev/source-code/issues"},"dist":{"shasum":"0f9d60e45170411eec20bedf80a26c85bae02912","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.11.tgz","fileCount":14,"integrity":"sha512-a9jyP19dDA5WosIKG5jXQqqNI59VG3Nju5IFs0vBSJQ9r31hEyOA4aqUce3V7xaWAExO9xK+0EBQFlWCm6RW0Q==","signatures":[{"sig":"MEYCIQCDqNYvUs6egvvVufn02cky282xuhgOUh0yFQfej1HbtgIhAJrBqvp+Iidl9lLSbMO282k19gUzavY4/xBgRhRHsC69","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61986},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"2984c2ece650dcb2489b9e1aaa5b81532a8dc9cd","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"deprecated":"Superseded pre-release; install the latest version.","repository":{"url":"git+https://github.com/mcpg-dev/source-code.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.11_1786654101125_0.06650834647780957","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-canary.727":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-canary.727","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-canary.727","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"dc7f6b1215002fe1a514bb6889b021c0d3128a7b","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-canary.727.tgz","fileCount":14,"integrity":"sha512-pgWTu58V52XyVAKCJSK0iEHDJnz5+6+gScGeRusQn26xkv+w7nwczz1AFDgomtfU70L83b/mSg192srZ9FIzhA==","signatures":[{"sig":"MEQCIGUOf7O1bUu+tSup/rKd5JqjiUAJaZIZk9/vRfMTOkxQAiBnrH5DBokpzruaQXFt4odkCBwqaxgsYpz+M/ov8ugqnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61996},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"31348060c453b5066524bc4415b4bc2c327aef5d","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"deprecated":"Superseded pre-release; install the latest version.","repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-canary.727_1786681584572_0.4435972231411356","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.12":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.12","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.12","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"395087d58900136b145edca98a10775ae2e3dca2","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.12.tgz","fileCount":14,"integrity":"sha512-S1/x/xBctD9PbyI/cHLUXq8z28+aGdMVHVQLf572v6JFAHMOsutRQ1NNYKfmGJKTe9SQR+B+LAiRgTqVQQAPRQ==","signatures":[{"sig":"MEUCIQCCbbeI/amI2dQ6hqKK+2suTFwfjx6J36Dc5SyMRk0M5wIgCiAa+UWF/2DRqjFV9z1KjFh1nEm/nntgRW3OuG2q9dk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61993},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"9b9c299256e69db92c39338e1f9775427103aec3","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"deprecated":"Superseded pre-release; install the latest version.","repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.12_1786694046283_0.023427059066625233","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-canary.732":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-canary.732","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-canary.732","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"175e45d6ef4e625164292bfa64504f92e0a5662b","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-canary.732.tgz","fileCount":14,"integrity":"sha512-IJBwXWO0DvXSviy1kK5vEIvynhy09cotu6PJerUerUuPJx+OdrYbmXdSXggCVNqY8I0CvE4zEcEcDXyT2lP2jQ==","signatures":[{"sig":"MEQCIAd2aAgQzTfPldgr0FEt+sqWCoIabDC1ttcY587gwyB0AiBU7loo1A7jge8AB0RSI2U28bK4XubmHWNTgxp5gotzzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61478},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"32106d7727b59825def0fc42d94a6709cb3c4cb4","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-canary.732_1786759149036_0.2084104565631677","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.13":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.13","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.13","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"2604835deb6ed28b6e9c786b0ff9e1f7046a65a4","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.13.tgz","fileCount":16,"integrity":"sha512-lNYewEXApyXMfvfsefKD5tgAGNtetPlbRBEZA1HZiJNUL42j5QEtmOdOJgJksDC1fiAP5cE40YfEVdbUKkr0ag==","signatures":[{"sig":"MEUCIQCtbn8XIH3D/04NLAY0OwzKutKLj8ErRGmR9tfUue9esgIgTO0k8Kyma2cjLCpzY6GRa9VxJzhWFco6E8exlDMUo0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59334},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"86883a3a7f013ba70c6f079d86dc291a3be2de70","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.13_1786779825302_0.3033365110600703","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.14":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.14","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.14","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"0dcfe38fd2a21ad2e16c148f5b54311b710033b0","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.14.tgz","fileCount":16,"integrity":"sha512-+KOYgTKhLJXbiFd4Xo8cuZ/wdyvxMQV7A3mMm7ijq1HjL9MmokHeBrTnkkyU4vSmturVbipmAlB0lQWvY0un3A==","signatures":[{"sig":"MEUCIQCr6z/BSfM7FKYLwtdZQoRrYrsGAuZJX+HAqrlW8nMkzAIgbQlhvRpFymk5HUa839C7eXFkYLsfoRK2wV4a1qmbP7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59334},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"c68b9b4140492f7c14e7ed6abd74fe4e272a6fba","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.14_1787065161063_0.18552416226884505","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.16":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.16","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.16","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"765e8e96ab85a03aa2da7f6cd3db1aa179e33885","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.16.tgz","fileCount":16,"integrity":"sha512-esfe+U6b+/nYrS1dn8br0Wcj2XwzA5Y0weNe0UPUxoan93TFvzxAmc7MBJffKQsLII7r3ZU2i+itA094XvVOCA==","signatures":[{"sig":"MEYCIQCBa9Obreq243yGNnIrInODZ0al/f7Kmy1f2fj4embU3wIhAK4WlJenDYn3GvdJBywgVCD+MMY2n0c/B7qAW9QEAyap","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59334},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"ce75c164f578e58cf5a406a474f440aa5d1a7ad5","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.16_1787978391302_0.7003099412454217","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.17":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.17","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.17","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"6b5baa46bdc1ccd6ee57c66b9efd7e6dacd7b100","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.17.tgz","fileCount":16,"integrity":"sha512-sG78uOJ9e5/YGKP7jojSRtQMu4YvJ5D2bV6pPdKEKZyBCxDBQUrXhLGDDO6VoGkDjjwHHU5+DkLNMrsdS7UZtA==","signatures":[{"sig":"MEYCIQDsolAENYkdcBz6/wxdbZQWC5SvhOFDo50Xyk42diR1mQIhAOwCneBxqVa74yfUYR8AzffD7rntAkkyYw3/EAtUXeFh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59334},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"5e6759f7c4cb7140a9c8149d1777ff34e98a7505","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.17_1788064693148_0.3679582720511074","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.18":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.18","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.18","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"3e769a99259cedfbffee5b86f8870d50bf8cdf48","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.18.tgz","fileCount":16,"integrity":"sha512-aYYVKn6ySKvZ2HSRVfm0jMdNvJw8S9masHxj7dK7On+fzl9CnZAam7DCyi7B1Y3rIzgvnIMTlTQ8Np+BRC1yqw==","signatures":[{"sig":"MEQCIGS1kEUM74mb5ZgrjC3J1NknKroyld+D7D4EYPcnRA1PAiBeCyhmFst49krP6Gltuy9iTfjT1WviZPWYqn5IImwxSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59334},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"445f80a8d331b9c8f129bbf8d7ae6c2f12108468","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.18_1788180770138_0.5456968215435773","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.21":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.21","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.21","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"96044fd9a1879e76656c5acbb2c9fe663c74a05e","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.21.tgz","fileCount":16,"integrity":"sha512-zGfvWKzgMrKTZoeDb01GaH+UoZJWnOfAnIPXgCR3XdobFycgjCwqlahWE6sbS+8UW77NN5Jo8jTb9JAPDM89pQ==","signatures":[{"sig":"MEYCIQDXYeGvL5I75/WF5NU3cP2vpn2cfNSnPT652s/5UpDX6QIhAIsSwb39mTPdxeE6nMPqadQrjNDblXCAOKK+UcHJKnQL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59288},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"d3e018ba5d01f39e82874e40c2f25e786a3df26a","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.21_1788708419616_0.44935298422907","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.22":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.22","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.22","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"dbb68e2a4d7abaf7bff19eab7af9fb78eadde1c2","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.22.tgz","fileCount":16,"integrity":"sha512-ipmbkG/ehX4O27/1PtzMyZdiFz9HGXI0UKD1cGxwAMYk5SfAdNUx9S1GDVH/oPlHr6EXRvdHqSvf9HrTbHWC8A==","signatures":[{"sig":"MEUCIQCW5ENtGvZ9a8af3PMRkYMVjQ/+AVcTmFYZMVqWFvXxzgIgKJSNIQ0OGMBhsqfgZBkSEyPmVdU4QFVfZKMeL78+JWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59288},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"0035d5058e08c402acd85d8f7bba1c4545de15b6","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.22_1788924787003_0.29014862377935535","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.23":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.23","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.23","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"80d10eccf400f2ddfcfdea263e0f3d948cbef8fe","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.23.tgz","fileCount":16,"integrity":"sha512-3cQ3S23Ru+XYMfdU17ZC1uqI9G7V0JGUkeRTi+4gzFYzJ+NZ6S2+4DlzkP2uv0BYEKTN2DLfnI8WoTymMqU0EQ==","signatures":[{"sig":"MEUCIQD1Iab9TE0ONuGvYsug/gftudwFk9DoF+EFxyAdUC8CrAIgZ4v6yp5a0Zga+ni9J1D96RoH3mzMJRLS7Bn9H6m//ss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59288},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"35082b3e37adbd8096218d73a7452f60ba47341a","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.23_1789225380600_0.0474750668894417","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.24":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.24","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.24","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"618c9a51948e15455e9a39e105fc5bc572ce187a","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.24.tgz","fileCount":16,"integrity":"sha512-nyNKKnQvXw1yHPdAFEP4zAP9S6tl9Klra2S1ZkYbCZdZlGi7OI0ffn4trQeobwpULCYQcLExA5D8PDXhE8zNiA==","signatures":[{"sig":"MEQCIG803Iu0qNhvfw8cBhFOWymaJpVkUdUYYo/OSAayIW5gAiBGR5JGOvL4ZFGFq4AHntI/8TW3KvJOGz+Li69ZqID94g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59288},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"a6464467871a884ce9862847b8830eac2b1bb496","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.24_1789256458297_0.7770491101345287","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.25":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.25","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.25","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"2e12015633aa97f971330084f35dc71f35a17603","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.25.tgz","fileCount":16,"integrity":"sha512-qLUlV6rOtXkXjxsDP4MwnDHpMX5YBvl96mtC54Y2B/EJ5HUTv41EM3+fsC14P63GupE9HzxvsSSOTn8Bg80gcw==","signatures":[{"sig":"MEUCIQCflFDEzxU+9b1cOmXVyiUopPBeZjiOYQiAmsUXz8vPRwIgJ/496OCskSuA4IUeJnSLAKoo1lUbEnS/Qj1QQYnGDt8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59288},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"3035be7556e4df2f073d8e95440ac1613b044906","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.25_1789348541511_0.8047307140469966","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.26":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.26","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.26","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"3f8a920d02c7376cd3f6259a76616593abc5082b","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.26.tgz","fileCount":16,"integrity":"sha512-NS0n1yLvrHdURific9vWx/8P03NPA4xyVjb/OAX4E0hWHVy3ewHHaYJBs0X2euZCZl3PosKTwuWdKzPWyV/XTA==","signatures":[{"sig":"MEUCIQDqjBMcCBAB0xAn4k3XRSdctumka7U+Chv2Ovd6Hl2qhgIgfoRLLBpIiBw9s4uS6a/0L0LcH+mFG3yGTtuhxMaqblQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59288},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"f66bab93bcd311613403b3c24166aacc03dbb8d3","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.26_1789363092804_0.1783500057669989","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.27":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.27","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.27","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"80f64ccdd9e744b9990321bd619834d122981fd4","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.27.tgz","fileCount":16,"integrity":"sha512-UTXHQ+VuQZQerc5KjSf9OmsqyrONy9ENVNLDNeTCd3foidPBDZl7ca+nmoz5Mi/gOkAX0EhswsI8ECnFDXX94g==","signatures":[{"sig":"MEUCIQCVIxUdEQdiuKlhv+DRgD6ViK4YPCpU8euY3iyrlgbcpwIgPjJJwElwLM8mkgj9+XM3UeiWJxdZHrDyrwdDjFsWaP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDR4GkSXNQzAhzxj898Lw39vABf8xC6YBWuwb6QwyCMrAiEArvHQrEKJnNdRgmf3W8TAnBJTTFQd7XyJuFT8kpm9CQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59288},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"15f7f722882233e90899ec15758a21c76ae0da3d","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.27_1789769927743_0.4034751677665189","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.28":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.28","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.28","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"7d180af8de31ee126a7c31727a22994e6fd95c74","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.28.tgz","fileCount":16,"integrity":"sha512-+NyRE7kqBGuG3s2ahM8ze4ggK650zsXlwAhjoJTvJgqloczH+cwrgY63uKQ1RJ5fUFb3LkGb+y1ZM963pl0sUQ==","signatures":[{"sig":"MEUCIQDc1RDGxzP+ewY0XbTFAfol7O1PaJLpvnV8A7zBkFQrmgIgYdjKyESgIsuJ9xZXwPJjUpyGAjPUMHwxmallnh7oy6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIG7SnlDdkh2UAeglHZUwFle6JFXz65qocgH9GCEtXzTfAiB4PwJNJAMtEcMWcvCkpq9P5H/B/59gnAuBTNboy2viJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60449},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"1934ec99a4c7a1bf34c95fc036a3eb2f7d049bfb","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.28_1789949279930_0.5199464699936505","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.34":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.34","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.34","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"a36007ca0ec1c5597f8ac67a324ca20deb724239","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.34.tgz","fileCount":16,"integrity":"sha512-+L5RU0KkeRuFx9xoPpdG3TGFcV+/aU2IVSNb8p5BKwiJQGtfIR1zapp0fp/2mGMYHpES8/qQCVKvpMmf/LcXhQ==","signatures":[{"sig":"MEUCIFCs4BufBdBCP/kqmbNzgW9s4yvbu2qDBOu/znTK1/HDAiEA1qIgl4N+TMUI4uEUeRpqiNWeQzxfVTZzM9coyMQMDGA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEMZCDZnzUqPiML209uNy0SNOvkrBjcXX0f2PDV/NJCuAiEA3jCgbiU8A5vJgRlAx8mGGYFz8CcqkVYaHS6hE+mVhTI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60449},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"0b17ef5d74a63111581117730bc456181f0b1cc1","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.34_1790284538897_0.5411913613805561","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.35":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.35","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.35","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"d33698fbac420ff2a42eff1c5a6b744db34ee569","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.35.tgz","fileCount":16,"integrity":"sha512-tU4cy9H0l6CrGwCuoMoT0PCQMQg837f8kiK7tm7YEIdjkyFg6KfeeCRnsWNNbb89l5Z9lNg0mQPBN4oque5j+g==","signatures":[{"sig":"MEUCIDaE8CBij1X/9weZ796TN819aibST/bGORPpOTpvB/nOAiEAuSb4nmg1vm1aNn/7Sdu9GHOuIsjHaYEaxdq6dTOM2+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC71y9vaBUoTwvYz3HL6K5HsVGQwp9bXwfPXc14Oo0eFQIgD90Puw4XN8nppDwWRn2UW6NkIudMw+R+/zvk2humiTI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60449},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"c01ac82b2e1ddb85f90c6e6f57796f774e826da6","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.35_1790324324255_0.004858135112215445","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.36":{"name":"@mcpg-dev/pulumi-policy","version":"0.1.0-beta.36","license":"Apache-2.0","_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.36","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"0f12d90c63fd01751c67b46d8df6963d0861558e","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.36.tgz","fileCount":16,"integrity":"sha512-/aB7OSH0p1wbp2zNnbsRV/8UO66LTEpZZS/7FrAyisPGVNlUqa+eTvX4xObOUFXV8F4s43JUH7daExWC+jEa1w==","signatures":[{"sig":"MEUCIAx59BzNjbBgEvYQAK+pRqptT3ycfOdkJ4LqNHHQJz5fAiEA33i/iOt317sfQUuy4hqHRoh2kKbZYx1oeU1G2qfCtxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC8rlRWKTQzVu1yICTL2cUPRzS+XbGFrS2AGNIpRZx+8AIhAOg0NA9ygM+HAWXtHMDMs9sk6mo1xupHKwd2wUsYKUgV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60449},"main":"bin/index.js","types":"./bin/index.d.ts","gitHead":"6b820d529a732bab51026b632a298ec38b348488","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.142.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-policy_0.1.0-beta.36_1790403104664_0.8162028213701018","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.38":{"_id":"@mcpg-dev/pulumi-policy@0.1.0-beta.38","bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"dist":{"shasum":"bd96fd3300d44c322fdb61fa7000fcb2ff7cdd17","tarball":"https://registry.npmjs.org/@mcpg-dev/pulumi-policy/-/pulumi-policy-0.1.0-beta.38.tgz","fileCount":16,"integrity":"sha512-IT+79SzyXVuzxgf5qby6rYkCjqdvy7Cr//lyO+ikvriRVv7hOP/mPoz5jeck6C4mIVuQuuLygih7im1z77LWHA==","signatures":[{"sig":"MEUCIQDf8SmVjHtQoelApl4MtBb5eH1wd+KYtOw+eqNw04Bu2AIgVNorxqv8WzqBRAtWcQ12yj1qajpxbDBIC0Ne8ki0nqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGo2BY7W9XCmxt7F/ahgo0SN/AKJoT4aTx8eTtns1WqoAiBtQScYBUEmRkxiNfvQAn2t59POShLmHM0vba6sTc4V0g=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcpg-dev%2fpulumi-policy@0.1.0-beta.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60449},"main":"bin/index.js","name":"@mcpg-dev/pulumi-policy","types":"./bin/index.d.ts","gitHead":"e3228d7d1d18950c9dcfbea27e1c08b24e94fc68","license":"Apache-2.0","scripts":{"test":"node --test bin/validators.test.js","build":"tsc","typecheck":"tsc --noEmit"},"version":"0.1.0-beta.38","_npmUser":{"name":"andriitsok","email":"andrii@tsok.org"},"homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"_npmVersion":"10.9.8","description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","directories":{},"maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"_nodeVersion":"22.23.2","dependencies":{"@pulumi/policy":"^1.13.0","@pulumi/pulumi":"^3.264.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pulumi-policy_0.1.0-beta.38_1790642412055_0.4248629617060784"}}},"time":{"created":"2026-08-13T13:13:52.146Z","modified":"2026-09-29T00:40:12.438Z","0.1.0-beta.8":"2026-08-13T13:13:52.520Z","0.1.0-beta.9":"2026-08-13T14:51:16.876Z","0.1.0-beta.11":"2026-08-13T20:48:21.288Z","0.1.0-canary.727":"2026-08-14T04:26:24.730Z","0.1.0-beta.12":"2026-08-14T07:54:06.425Z","0.1.0-canary.732":"2026-08-15T01:59:09.173Z","0.1.0-beta.13":"2026-08-15T07:43:45.446Z","0.1.0-beta.14":"2026-08-18T14:59:21.187Z","0.1.0-beta.16":"2026-08-29T04:39:51.430Z","0.1.0-beta.17":"2026-08-30T04:38:13.287Z","0.1.0-beta.18":"2026-08-31T12:52:50.296Z","0.1.0-beta.21":"2026-09-06T15:26:59.749Z","0.1.0-beta.22":"2026-09-09T03:33:07.136Z","0.1.0-beta.23":"2026-09-12T15:03:00.744Z","0.1.0-beta.24":"2026-09-12T23:40:58.434Z","0.1.0-beta.25":"2026-09-14T01:15:41.643Z","0.1.0-beta.26":"2026-09-14T05:18:12.983Z","0.1.0-beta.27":"2026-09-18T22:18:47.825Z","0.1.0-beta.28":"2026-09-21T00:08:00.026Z","0.1.0-beta.34":"2026-09-24T21:15:38.989Z","0.1.0-beta.35":"2026-09-25T08:18:44.331Z","0.1.0-beta.36":"2026-09-26T06:11:44.740Z","0.1.0-beta.38":"2026-09-29T00:40:12.139Z"},"bugs":{"url":"https://github.com/mcpg-dev/pulumi-mcpg-policy/issues"},"license":"Apache-2.0","homepage":"https://github.com/mcpg-dev/pulumi-mcpg-policy#readme","repository":{"url":"git+https://github.com/mcpg-dev/pulumi-mcpg-policy.git","type":"git"},"description":"Pulumi CrossGuard policy pack mirroring MCPG operator admission rules.","maintainers":[{"name":"andriitsok","email":"andrii@tsok.org"}],"readme":"# @mcpg/pulumi-policy\n\nA Pulumi **CrossGuard** policy pack that enforces the MCPG Kubernetes operator's\nadmission rules at `pulumi preview`, before anything reaches a cluster. It\ninspects the `mcpg.dev` custom resources a program declares — gateways,\nplugins, plugin sets, revocation lists, clusters, routes, tenants and plugin\nmirrors — and reports the violations the operator's admission webhook would\nreturn, locally and with no API-server round trip.\n\n## Quick start\n\nThe pack is referenced at preview/update time rather than imported into your\nprogram:\n\n```bash\nnpm i --save-dev @mcpg/pulumi-policy\npulumi preview --policy-pack node_modules/@mcpg/pulumi-policy\n```\n\nA violation is printed as `[<rule-id>] <message>` — for example\n`[gateway.workloadIdentity.oneOf] workloadIdentity must be exactly one of\naws|gcp|azure|spiffe`. The rule id is stable, and is the same identifier the\nMCPG Terraform provider's plan-time validators emit.\n\n`main` points at `bin/index.js`, so a source checkout has to be compiled before\nPulumi can load it:\n\n```bash\nnpm install && npm run build   # tsc → bin/\n```\n\n## Rules\n\n| Kind | What it checks |\n|---|---|\n| `MCPGGateway` | `spec.image` present; `replicas` ≥ 1 when set; at most one of `workloadIdentity.{aws,gcp,azure,spiffe}`; a present `ingress` block carries a non-empty `ingressClassName`, at least one host, and non-empty `paths` per host. |\n| `MCPGPlugin` | `pluginId` non-empty and reverse-DNS; `version` non-empty; `pluginClass` is a known plugin class; `oci.image` carries a registry component and a tag or digest; the artifact is digest-pinned **or** carries a cosign identity; `trust.signingKeyRef.secretName` present (Ed25519 signing is the mandatory baseline); a cosign block has a non-empty, anchored `certificateIdentityRegexp` and an `oidcIssuer`; an SLSA block sets `configMapName`, `sourceUri` and `sourceTag`. |\n| `MCPGPluginSet` | `entries` non-empty; each entry has a reverse-DNS `id` and a `pluginRef.name`; ids unique; `capabilityGrants` keys name a declared entry and grant a non-empty capability list. |\n| `MCPGRevocationList` | `version == 1`; every `artifactSha256` is 64 hex characters; every revocation carries a `reason`; no duplicate hashes. |\n| `MCPGCluster` | the `single_node` backend takes no `config`; every other backend requires one; a plaintext coordinator address (`redis://`, or NATS with `tls.require_tls: false`) is rejected unless `config.allow_insecure_transport: true`; `credentialRefs` entries carry `name` + `secretName` and unique names. |\n| `MCPGRoute` | `gatewayRef.name` non-empty; `match.tools` lists at least one tool; tool ids non-empty and unique; no empty entry in `identityChain` / `policyChain` / `auditChain`. |\n| `MCPGTenant` | `namespaces` non-empty, with entries non-empty and unique; each `allowedPlugins` entry sets `name` or `registryPrefix`; quota fields are non-negative; `identityAttribute.key` non-empty when that block is set. |\n| `MCPGPluginMirror` | `endpoint.service.{namespace,name,port}` set; `upstream.registry` present and shaped like a registry host; `upstream.namespace` present; `auth.secretRef.secretName` present when `auth` is set. |\n\nTwo behaviours exist specifically so the preview verdict matches the cluster's:\n\n- A `certificateIdentityRegexp` using lookahead, lookbehind or a back-reference\n  is rejected even though JavaScript would compile it, because the operator\n  compiles the pattern with an RE2-style engine that will not.\n- SHA-256 hashes are accepted in either case, and duplicate detection is\n  case-insensitive, matching the operator's lowercase-then-deduplicate\n  behaviour.\n\nCross-resource and client-backed admission checks are deliberately **not**\nmirrored: the per-tenant replica cap and plugin allowlist need cluster state,\nand `image.tag` is filled in by the mutating webhook, so enforcing it at preview\nwould false-reject a program that relies on defaulting. Treat the pack as a\nhigh-coverage local gate, not a guarantee of admission acceptance.\n\n## Validator library\n\nThe rules live in [`src/validators.ts`](src/validators.ts) as pure functions\nwith no Pulumi runtime dependency, which is what lets the same logic back both\nthe policy pack and a cross-tool contract test:\n\n- `validateByType(type, spec)` — dispatch by Pulumi type token.\n- `validateGatewaySpec`, `validatePluginSpec`, `validatePluginSetSpec`,\n  `validateRevocationListSpec`, `validateClusterSpec`, `validateRouteSpec`,\n  `validateTenantSpec`, `validatePluginMirrorSpec` — one per kind, each\n  returning `Finding[]` (`{ rule, message }`); an empty array means accept.\n- `isSha256Hex`, `isAnchoredRegexp`, `countWorkloadIdentities`,\n  `findDuplicates` — the shared predicates.\n\nThe MCPG Terraform provider ships a Go port of these same functions, and a\nshared fixture corpus asserts both sides return identical verdicts, so a rule\nrelaxed on one side fails the build.\n\n## Configuration\n\nThe pack takes no configuration. It registers one policy,\n`mcpg-admission-mirror`, declared at `enforcementLevel: \"mandatory\"`, so a\nviolation blocks the update instead of emitting an advisory.\n\nResources are dispatched on the Pulumi type-token suffix (`…:MCPGGateway`,\n`…:MCPGPlugin`, …) and read from `props.spec`. Any resource whose token matches\nno rule set yields no findings, so the pack is safe to apply across a whole\nstack.\n\n## Build and test\n\n```bash\nnpm run build                       # tsc → bin/\nnode --test bin/validators.test.js  # unit tests over the pure validators\n```\n\nInside the MCPG workspace, from the repo root:\n\n```bash\npnpm --filter ./iac/pulumi/policy exec tsc -b --noEmit   # tsc --noEmit\npnpm --filter ./iac/pulumi/policy test        # builds, then runs the validator tests\n```\n\n## Licence\n\nApache-2.0.\n\n## See also\n\n- <https://mcpg.dev/docs/self-hosting/pulumi> — installing MCPG with Pulumi,\n  including the `@mcpg/pulumi` components and the `@mcpg/pulumi-crds` typed SDK\n  this pack guards.\n- <https://mcpg.dev/docs/reference/operator-crds> — the `mcpg.dev` CRDs and the\n  admission rules being mirrored.\n- <https://mcpg.dev/docs/security/plugin-security> — signing, trust roots and\n  revocation, which the plugin and revocation-list rules enforce.\n- <https://mcpg.dev/docs/self-hosting/terraform-provider> — the same rules\n  enforced as Terraform plan-time validation.\n","readmeFilename":"README.md"}