{"_id":"@ao-tools/pulumi-ao","_rev":"5-0fafc8951f7e2159742a0360835f2398","name":"@ao-tools/pulumi-ao","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.3":{"name":"@ao-tools/pulumi-ao","version":"0.1.3","keywords":["pulumi","arweave","permaweb","ao"],"author":{"name":"Kay Plößer"},"license":"MIT","_id":"@ao-tools/pulumi-ao@0.1.3","maintainers":[{"name":"kay-is","email":"k@kay.is"}],"homepage":"https://github.com/ao-tools/pulumi-ao#readme","bugs":{"url":"https://github.com/ao-tools/pulumi-ao/issues"},"dist":{"shasum":"493dce8d74d13836dcbfcd7b994075d9684388a4","tarball":"https://registry.npmjs.org/@ao-tools/pulumi-ao/-/pulumi-ao-0.1.3.tgz","fileCount":32,"integrity":"sha512-b+k1eTpcrq7X4AHYG/cTWwls/MDCp0obDStige97DmCA8fNYu+i7bkI0X0wf/i7JG7RKxs9Tgs/h2fzvm10ZDQ==","signatures":[{"sig":"MEYCIQDO5Upd//+vlpxaJh2le4/oaiOQvwCnwOGCYA6M5HPHjQIhAPGoBM8kivBCDWCq6nb4KVqSQtFpbeggqlWCmkwudWgu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62937},"main":"bin/index.js","types":"bin/index.d.ts","gitHead":"41ecea2e01cb255edeb6716c63e133f644bdd9b0","scripts":{"build":"tsc","postinstall":"node scripts/patch-dependencies","build-and-publish":"npm run build && npm publish"},"_npmUser":{"name":"kay-is","email":"k@kay.is"},"repository":{"url":"git+https://github.com/ao-tools/pulumi-ao.git","type":"git"},"_npmVersion":"10.9.0","description":"A Pulumi provider for AO processes","directories":{},"_nodeVersion":"22.12.0","dependencies":{"luabundle":"^1.7.0","@ardrive/turbo-sdk":"^1.21.0","@permaweb/aoconnect":"^0.0.62"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2"},"peerDependencies":{"@pulumi/pulumi":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-ao_0.1.3_1736165140765_0.2382907521529567","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@ao-tools/pulumi-ao","version":"0.1.4","keywords":["pulumi","arweave","permaweb","ao"],"author":{"name":"Kay Plößer"},"license":"MIT","_id":"@ao-tools/pulumi-ao@0.1.4","maintainers":[{"name":"kay-is","email":"k@kay.is"}],"homepage":"https://github.com/ao-tools/pulumi-ao#readme","bugs":{"url":"https://github.com/ao-tools/pulumi-ao/issues"},"dist":{"shasum":"c2fdfb8dabe02819bd34163547616cdc62c1397c","tarball":"https://registry.npmjs.org/@ao-tools/pulumi-ao/-/pulumi-ao-0.1.4.tgz","fileCount":32,"integrity":"sha512-OlBLEEa0BaUo/UuWVYZLmSrKg8lak1+ApUMBKHbSx1fdBRJmais6yKFFkuV+nEX3L0Gz1Q1LyLcKfnMV+pD82w==","signatures":[{"sig":"MEQCIFjjIkxFH4NO8I9qYNfj38QRVH2MYzLjbElzFXQjzxvbAiBIYgLSXlwN0icFshtj9KbQYzTJbqAsNw+ODxIVsQGJwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62941},"main":"bin/index.js","types":"bin/index.d.ts","gitHead":"41ecea2e01cb255edeb6716c63e133f644bdd9b0","scripts":{"build":"tsc","postinstall":"node scripts/patch-dependencies","build-and-publish":"npm run build && npm publish"},"_npmUser":{"name":"kay-is","email":"k@kay.is"},"repository":{"url":"git+https://github.com/ao-tools/pulumi-ao.git","type":"git"},"_npmVersion":"10.9.0","description":"A Pulumi provider for AO processes","directories":{},"_nodeVersion":"22.12.0","dependencies":{"luabundle":"^1.7.0","@ardrive/turbo-sdk":"^1.21.0","@permaweb/aoconnect":"^0.0.62"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2"},"peerDependencies":{"@pulumi/pulumi":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-ao_0.1.4_1736165207732_0.34788832736399167","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@ao-tools/pulumi-ao","version":"0.1.5","keywords":["pulumi","arweave","permaweb","ao"],"author":{"name":"Kay Plößer"},"license":"MIT","_id":"@ao-tools/pulumi-ao@0.1.5","maintainers":[{"name":"kay-is","email":"k@kay.is"}],"homepage":"https://github.com/ao-tools/pulumi-ao#readme","bugs":{"url":"https://github.com/ao-tools/pulumi-ao/issues"},"dist":{"shasum":"ba7f1de6044d82074081285cc5da7ad9d72e2105","tarball":"https://registry.npmjs.org/@ao-tools/pulumi-ao/-/pulumi-ao-0.1.5.tgz","fileCount":32,"integrity":"sha512-269khAChp0/4F0BBXWqbaUXypi554ds20hpSORL4OYvYx9c6oKXkmw/ig9oe+GK+tEw3L2cPrQSuL1gXJlcEkA==","signatures":[{"sig":"MEUCIQDMza0dA27yu8wi9gmgyqhUlk/fRSSRZ2KkaGbh3VmNRgIgOREfez2rHIEHbiBZI3Ucqa5Ku0FIShIV20kuvcCgAjQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62764},"main":"bin/index.js","types":"bin/index.d.ts","gitHead":"653fa57194a28c22745c16219c47bc78e4633a5e","scripts":{"build":"tsc","postinstall":"node scripts/patch-dependencies","build-and-publish":"npm run build && npm publish"},"_npmUser":{"name":"kay-is","email":"k@kay.is"},"repository":{"url":"git+https://github.com/ao-tools/pulumi-ao.git","type":"git"},"_npmVersion":"10.9.0","description":"A Pulumi provider for AO processes","directories":{},"_nodeVersion":"22.12.0","dependencies":{"luabundle":"^1.7.0","@ardrive/turbo-sdk":"^1.21.0","@permaweb/aoconnect":"^0.0.62"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2"},"peerDependencies":{"@pulumi/pulumi":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-ao_0.1.5_1736166161440_0.5737334949760211","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@ao-tools/pulumi-ao","version":"0.1.6","keywords":["pulumi","arweave","permaweb","ao"],"author":{"name":"Kay Plößer"},"license":"MIT","_id":"@ao-tools/pulumi-ao@0.1.6","maintainers":[{"name":"kay-is","email":"k@kay.is"}],"homepage":"https://github.com/ao-tools/pulumi-ao#readme","bugs":{"url":"https://github.com/ao-tools/pulumi-ao/issues"},"dist":{"shasum":"04c475ec48fa88519c421ff43eb22f786a1173bc","tarball":"https://registry.npmjs.org/@ao-tools/pulumi-ao/-/pulumi-ao-0.1.6.tgz","fileCount":32,"integrity":"sha512-rLmUiycuMYdAxgvkKya6UjM7g3bOH6UERRRlvd6oTkxAvqtbDgHf9IklGvjltsTmev2RijbbH793kskprJDULg==","signatures":[{"sig":"MEUCIQDmowqZ+d0kRVYG78asu6Mt3eqFdEluZT3R02gdel24gAIgHd478cV/bO2rCl06VfRODsIR5jQZv7P1hq7CHNIm2BQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63192},"main":"bin/index.js","types":"bin/index.d.ts","gitHead":"653fa57194a28c22745c16219c47bc78e4633a5e","scripts":{"build":"tsc","postinstall":"node scripts/patch-dependencies","build-and-publish":"npm run build && npm publish"},"_npmUser":{"name":"kay-is","email":"k@kay.is"},"repository":{"url":"git+https://github.com/ao-tools/pulumi-ao.git","type":"git"},"_npmVersion":"10.9.0","description":"A Pulumi provider for AO processes","directories":{},"_nodeVersion":"22.12.0","dependencies":{"luabundle":"^1.7.0","@ardrive/turbo-sdk":"^1.21.0","@permaweb/aoconnect":"^0.0.62"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2"},"peerDependencies":{"@pulumi/pulumi":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-ao_0.1.6_1736772539364_0.7188453680607283","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@ao-tools/pulumi-ao","version":"0.1.7","keywords":["pulumi","arweave","permaweb","ao"],"author":{"name":"Kay Plößer"},"license":"MIT","_id":"@ao-tools/pulumi-ao@0.1.7","maintainers":[{"name":"kay-is","email":"k@kay.is"}],"homepage":"https://github.com/ao-tools/pulumi-ao#readme","bugs":{"url":"https://github.com/ao-tools/pulumi-ao/issues"},"dist":{"shasum":"50bc14b1fabd6eff17d9fd1c2faf586a613e58c2","tarball":"https://registry.npmjs.org/@ao-tools/pulumi-ao/-/pulumi-ao-0.1.7.tgz","fileCount":32,"integrity":"sha512-7KDNJEjXHAP0R0rXemBXLnbdgMSLeMWrr+/IFdj7Edffs6X56XHsWQnoPTXwN6iXrpKjJp9S74ljEJbVS26rHQ==","signatures":[{"sig":"MEYCIQCwyQZvq/N+8r1nECUUl9Y+GF0Q/RzND5+8ROCTthKBiAIhAJjmRFgatH1HnR7rLUvknrfpqs8xdMIKH/H/Td8VCv4a","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63240},"main":"bin/index.js","types":"bin/index.d.ts","gitHead":"b1ae5eb11526c9c8e974ad3e5cc28403a5b9aa84","scripts":{"build":"tsc","postinstall":"node scripts/patch-dependencies","build-and-publish":"npm run build && npm publish"},"_npmUser":{"name":"kay-is","email":"k@kay.is"},"repository":{"url":"git+https://github.com/ao-tools/pulumi-ao.git","type":"git"},"_npmVersion":"10.9.0","description":"A Pulumi provider for AO processes","directories":{},"_nodeVersion":"22.12.0","dependencies":{"luabundle":"^1.7.0","@ardrive/turbo-sdk":"^1.21.0","@permaweb/aoconnect":"^0.0.62"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2"},"peerDependencies":{"@pulumi/pulumi":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-ao_0.1.7_1737206957331_0.7397561566262443","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@ao-tools/pulumi-ao","description":"A Pulumi provider for AO processes","main":"bin/index.js","types":"bin/index.d.ts","version":"0.2.1","author":{"name":"Kay Plößer"},"repository":{"type":"git","url":"git+https://github.com/ao-tools/pulumi-ao.git"},"license":"MIT","keywords":["pulumi","arweave","permaweb","ao"],"scripts":{"postinstall":"node scripts/patch-dependencies","build":"tsc","build-and-publish":"npm run build && npm publish"},"dependencies":{"@ardrive/turbo-sdk":"^1.22.0","@permaweb/aoconnect":"^0.0.65","luabundle":"^1.7.0"},"peerDependencies":{"@pulumi/pulumi":"^3.0.0"},"devDependencies":{"typescript":"^5.7.2"},"_id":"@ao-tools/pulumi-ao@0.2.1","gitHead":"e6e08e9c5b3f3b730442904b2d8e251af2240a66","bugs":{"url":"https://github.com/ao-tools/pulumi-ao/issues"},"homepage":"https://github.com/ao-tools/pulumi-ao#readme","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-3ifAOj56abEh+vkRjRe2s4T/lsI8c/zYL16XsSoaGlnfJ/pCX25hLDQ/Xi0irFLB+T9vgetvisfxK6mKvv1i5A==","shasum":"48502cb26b9173487a70256bd2d4cf167597eead","tarball":"https://registry.npmjs.org/@ao-tools/pulumi-ao/-/pulumi-ao-0.2.1.tgz","fileCount":32,"unpackedSize":61949,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBTPOtutrspQDlHJXu1MdG1Fb1FS7TP+gIfqE+Gz9e2dAiBr01xO/neMYnSWJS8b90OxUKpnCuins+M2dpk/3O/ROA=="}]},"_npmUser":{"name":"kay-is","email":"k@kay.is"},"directories":{},"maintainers":[{"name":"kay-is","email":"k@kay.is"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pulumi-ao_0.2.1_1738696388944_0.48598045021346836"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-06T12:05:40.645Z","modified":"2025-02-04T19:13:09.376Z","0.1.3":"2025-01-06T12:05:40.996Z","0.1.4":"2025-01-06T12:06:47.995Z","0.1.5":"2025-01-06T12:22:41.604Z","0.1.6":"2025-01-13T12:48:59.548Z","0.1.7":"2025-01-18T13:29:17.601Z","0.2.1":"2025-02-04T19:13:09.182Z"},"bugs":{"url":"https://github.com/ao-tools/pulumi-ao/issues"},"author":{"name":"Kay Plößer"},"license":"MIT","homepage":"https://github.com/ao-tools/pulumi-ao#readme","keywords":["pulumi","arweave","permaweb","ao"],"repository":{"type":"git","url":"git+https://github.com/ao-tools/pulumi-ao.git"},"description":"A Pulumi provider for AO processes","maintainers":[{"name":"kay-is","email":"k@kay.is"}],"readme":"# Pulumi-AO\r\n\r\nThis is a dynamic Pulumi resource provider for AO processes. It allows you to\r\ndeploy and manage AO processes and their Lua code using Pulumi.\r\n\r\n## Features\r\n\r\nThis provider offers the following features:\r\n\r\n### Seamless integration with existing Pulumi stacks\r\n\r\nThis provider enables Pulumi to manage AO process, allowing you to integrate\r\nthem with other cloud resources and services supported by Pulumi.\r\n\r\n### Lua code bundling and upoads to Arweave\r\n\r\nThe provider can bundle Lua code with\r\n[luabundle](https://github.com/Benjamin-Dobell/luabundle), just enter the path\r\nto your entry file and the provider will take care of the rest. The bundled code\r\nis then permanently uploaded to Arweave with\r\n[ArDrive Turbo](https://ardrive.io/turbo-bundler/).\r\n\r\n### Direct code injection and code sharing\r\n\r\nYou can either provide the Lua code directly when defining a `Process` resource\r\nto quickly write a simple process or use a `ProcessCode` resource to share code\r\nbetween multiple processes.\r\n\r\n### In-place code updates\r\n\r\nUpdate code or switch from direct code injection to code sharing without\r\nreplacing the process.\r\n\r\n### Environment variables\r\n\r\nDefine a process with environment variables that are available to the Lua code\r\nin a global `Environment` table. Changing these variables will update the\r\nprocess in-place.\r\n\r\n## Setup\r\n\r\n### Prerequisites\r\n\r\n- [Arweave wallet](https://www.arconnect.io/download)\r\n\r\n**Optional:**\r\n\r\n- [Turbo Credits](https://docs.ardrive.io/docs/turbo/credits/#how-to-purchase-credits) for code uploads over 100KB.\r\n\r\n### Installing Pulumi\r\n\r\n    curl -fsSL https://get.pulumi.com | sh\r\n\r\n### Choosing a Backend\r\n\r\nBy default, Pulumi uses a cloud backend to store state. If you don't have a\r\nPulumi account, you can use a local backend.\r\n\r\n    pulumi login file://./\r\n\r\nThis will create a `.pulumi` directory in the current working directory.\r\n\r\nIf you want to use a cloud backend, you can use the following command.\r\n\r\n    pulumi login\r\n\r\nYou can also use S3 or an S3-compatible backend.\r\n\r\n    pulumi login 's3://<bucket-name>?region=us-east-1&awssdk=v2&profile=<profile-name>'\r\n\r\n    pulumi login 's3://<bucket-name>?endpoint=my.minio.local:8080&disableSSL=true&s3ForcePathStyle=true'\r\n\r\n### Creating a Project\r\n\r\nRun the following command and choose the TypeScript template.\r\n\r\n    pulumi new\r\n\r\n### Installing the Provider\r\n\r\n    npm i @ao-tools/pulumi-ao\r\n\r\n### Configuring the Provider\r\n\r\nThe provider requires a wallet JWK file and an optional gateway URL and scheduler ID.\r\n\r\n> Note: Its's possible to pass these values directly to resources.\r\n\r\n#### Required\r\n\r\nYou need to have an Arweave wallet JWK file.\r\n\r\n    pulumi config set ao:walletPath /path/to/deployment_wallet.json\r\n\r\n#### Optional\r\n\r\nThe gateway used to fetch code and tags from deployed processes.\r\n\r\n    pulumi config set ao:gatewayUrl https://arweave.net\r\n\r\n## Usage Examples\r\n\r\n### A simple process\r\n\r\n```typescript\r\nimport * as ao from \"@ao-tools/pulumi-ao\"\r\n\r\nnew ao.Process(\"a\", {\r\n  code: `\r\n  local json = require(\"json\")\r\n  Handlers.add(\r\n    \"Info\", \"Info\",\r\n    function(message)\r\n      message.reply({\r\n        Data = json.encode({Name = Name})\r\n      })\r\n    end\r\n  )`,\r\n})\r\n```\r\n\r\n### Two processes that share the same code\r\n\r\n```typescript\r\nconst code = new ao.ProcessCode(\"c\", {\r\n  filePath: \"./path/to/code.lua\",\r\n  bundleLuaCode: true, // Optional, default is false\r\n})\r\n\r\nnew ao.Process(\"a\", { codeId: code.id })\r\nnew ao.Process(\"b\", { codeId: code.id })\r\n```\r\n\r\n### Environment variables and custom tags\r\n\r\n```typescript\r\nconst processA = new ao.Process(\"a\", {\r\n  customTags: {\r\n    TagName: \"TagValue\", // Changes require a replacement (i.e., new process ID)\r\n  },\r\n  code: `\r\n  local json = require(\"json\")\r\n  Handlers.add(\r\n    \"Info\", \"Info\",\r\n    function(message)\r\n      message.reply({\r\n        Data = json.encode({\r\n          Name = Name,\r\n          TagName = ao.env.Process.Tags.TagName\r\n        })\r\n      })\r\n    end\r\n  )`,\r\n})\r\n```\r\n\r\n### Configuration overrides\r\n\r\n```typescript\r\nconst process = new ao.Process(\"a\", {\r\n  schedulerId: \"_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA\", // testnet scheduler\r\n  moduleId: \"Do_Uc2Sju_ffp6Ev0AnLVdPtot15rvMjP-a9VVaA5fM\", // AOS 2.0.1\r\n  authorityId: \"fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY\", // testnet authority\r\n  gatewayUrl: \"https://arweave.net\",\r\n  walletPath: \"/path/to/process_5_wallet.json\",\r\n  codeId: code.id,\r\n})\r\n\r\n// Pulumi resource IDs are Arweave TX IDs and AO Process IDs.\r\nexport const processId = process.id\r\n```\r\n","readmeFilename":"README.md"}