Pulumi Command Provider
Run external commands as part of your Pulumi deployment.
Overview
The Pulumi Command provider is a utility provider that allows you to run arbitrary shell commands as part of a Pulumi deployment. It can execute commands locally on the machine running Pulumi or remotely on a resource via SSH. This provider acts as a bridge to integrate non-declarative or external tools into a declarative Pulumi workflow, but should be used with caution as it can make deployments less predictable.
✨ Key Features
- Execute local shell commands
- Execute remote commands over SSH
- Control when commands are run (on create, update, delete)
- Pass inputs to commands and read their outputs
- Trigger re-execution when specific inputs change
🎯 Key Differentiators
- Integration into Pulumi's declarative resource model and dependency graph
- Ability to use outputs from other resources as command inputs
- Consistent experience across different programming languages
Unique Value: Provides a declarative way to manage the lifecycle of imperative commands, integrating them into the Pulumi resource graph to handle dependencies and triggers correctly.
🎯 Use Cases (4)
✅ Best For
- Using `kubectl` commands as part of a deployment to apply a manifest that is not easily representable in the Kubernetes provider.
- Running a `git clone` command to fetch application code onto a server.
💡 Check With Vendor
Verify these considerations match your specific requirements:
- Managing resources that have a dedicated, declarative Pulumi provider available.
- As a replacement for a proper configuration management tool like Ansible or Chef for complex server setup.
🏆 Alternatives
Offers a more integrated solution than running separate scripts in a CI/CD pipeline, as it respects the dependency order of infrastructure resources. It should be used as a last resort when a declarative provider is not available.
💻 Platforms
✅ Offline Mode Available
🔌 Integrations
💰 Pricing
Free tier: The provider is open-source and free to use.
🔄 Similar Tools in Pulumi Cloud
Kubernetes
Pulumi's Kubernetes provider allows you to manage Kubernetes resources using languages like TypeScri...
Datadog
The Pulumi Datadog provider allows you to provision and manage Datadog resources like monitors, dash...
Cloudflare
The Pulumi Cloudflare provider lets you manage DNS records, firewall rules, workers, and other Cloud...
DigitalOcean
The Pulumi DigitalOcean provider lets you manage Droplets, Kubernetes clusters, databases, and other...
Auth0
The Pulumi Auth0 provider allows you to configure your Auth0 tenant, including applications, APIs, u...
Okta
The Pulumi Okta provider allows you to manage Okta resources like applications, users, groups, and p...