{"id":50465450,"url":"https://github.com/threefoldtech/grid_pulumi","last_synced_at":"2026-06-01T07:03:23.692Z","repository":{"id":191846739,"uuid":"675579038","full_name":"threefoldtech/grid_pulumi","owner":"threefoldtech","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-27T14:09:21.000Z","size":1762,"stargazers_count":1,"open_issues_count":7,"forks_count":2,"subscribers_count":2,"default_branch":"development","last_synced_at":"2026-05-27T15:25:46.395Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/threefoldtech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-07T08:46:30.000Z","updated_at":"2026-05-27T09:53:56.000Z","dependencies_parsed_at":"2023-09-01T04:13:42.192Z","dependency_job_id":"c42d0f07-ea3b-44c4-90a0-9437595f7c5c","html_url":"https://github.com/threefoldtech/grid_pulumi","commit_stats":null,"previous_names":["rawdagastan/pulumi-grid","threefoldtech/pulumi-threefold","rawdagastan/pulumi-provider-grid","threefoldtech/grid_pulumi"],"tags_count":58,"template":false,"template_full_name":null,"purl":"pkg:github/threefoldtech/grid_pulumi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fgrid_pulumi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fgrid_pulumi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fgrid_pulumi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fgrid_pulumi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threefoldtech","download_url":"https://codeload.github.com/threefoldtech/grid_pulumi/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fgrid_pulumi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33763660,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-01T07:03:22.306Z","updated_at":"2026-06-01T07:03:23.687Z","avatar_url":"https://github.com/threefoldtech.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Grid Pulumi\n\n[![Integration tests](https://github.com/threefoldtech/pulumi-threefold/actions/workflows/integration.yaml/badge.svg?branch=development)](https://github.com/threefoldtech/pulumi-threefold/actions/workflows/integration.yaml) [![Lint](https://github.com/threefoldtech/pulumi-threefold/actions/workflows/lint.yaml/badge.svg?branch=development)](https://github.com/threefoldtech/pulumi-threefold/actions/workflows/lint.yaml) [![Dependabot](https://badgen.net/badge/Dependabot/enabled/green?icon=dependabot)](https://dependabot.com/) \u003ca href='https://github.com/jpoles1/gopherbadger' target='_blank'\u003e![gopherbadger-tag-do-not-edit](https://img.shields.io/badge/Go%20Coverage-54%25-brightgreen.svg?longCache=true\u0026style=flat)\u003c/a\u003e\n\nA Pulumi provider that enables infrastructure-as-code deployment of compute, network, and storage resources. It allows developers to provision virtual machines, networks, Kubernetes clusters, and storage using familiar Pulumi workflows in TypeScript, Python, Go, and .NET. The provider is available at the [Pulumi Registry](https://www.pulumi.com/registry/packages/threefold/).\n\n## What this is\n\nThis provider maps grid resources into native Pulumi constructs, enabling declarative management of infrastructure through Pulumi's standard tooling. It supports resource lifecycle operations including create, update, and destroy, and integrates with the grid's identity and networking model.\n\n## What this repository contains\n\n- **Go-based Pulumi provider** implementing the resource bridge to grid APIs\n- **Multi-language SDK generation** for TypeScript, Python, Go, and .NET\n- **Example projects** demonstrating VM, network, Kubernetes, and storage deployments\n- **Integration tests** validating provider functionality against live grid environments\n\n## Role in the stack\n\nThe provider acts as the infrastructure-as-code entry point for the broader stack. It sits above the grid's deployment layer and allows users to define workloads declaratively rather than imperatively. It integrates with the grid's identity system (mnemonic-based keys) and network abstractions.\n\n## Relation to ThreeFold\n\nThis technology is used within the ThreeFold ecosystem and was first deployed on the ThreeFold Grid. The component itself is designed as reusable infrastructure technology and should be understood by its technical function first, independent of any specific deployment.\n\n## Ownership\n\nThis repository is owned and maintained by TF-Tech NV, a Belgian company responsible for the development and maintenance of this technology.\n\n## Requirements\n\n- [`Pulumi`](https://www.pulumi.com/docs/install/) \u003e= 3.128.0\n- [`pulumictl`](https://github.com/pulumi/pulumictl#installation)\n- [`Go`](https://golang.org/doc/install) \u003e= 1.22\n\n## Using the provider\n\n- Install the provider\n\n```bash\nmake install_latest\n```\n\n### Running the examples\n\nTo run examples, make sure you have a mnemonic and a network set.\n\n```bash\nexport MNEMONIC=\"mnemonic words\"\nexport NETWORK=\"network\" # dev, qa, test, main -\u003e default is dev\n```\n\n- Go to the examples directory `cd examples/go/virtual_machine`\n- Run the example `make run`\n- To cleanup the resources that you created `make destroy`\n\n## Building The Provider (for development only)\n\n```bash\nmake build\n```\n\n## Run tests\n\n```bash\nexport MNEMONIC=\"mnemonic words\"\nexport NETWORK=\"network\" # dev, qa, test, main -\u003e default is dev\n```\n\n### Integration tests\n\n```bash\nmake integration\n```\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\nCopyright (c) TFTech NV.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreefoldtech%2Fgrid_pulumi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreefoldtech%2Fgrid_pulumi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreefoldtech%2Fgrid_pulumi/lists"}