Table of Contents
Pulumi - Golang
Pulumi quick commands
Start new stack
# Clone the repository git clone https://github.com/rajeshkio/pulumiInfraProxmox.git cd pulumiInfraProxmox # Install dependencies go mod download # Configure Pulumi stack pulumi stack init dev # Set environment variables export PROXMOX_VE_ENDPOINT="https://your-proxmox:8006/api2/json" export PROXMOX_VE_USERNAME="user@pam" export PROXMOX_VE_PASSWORD="your-password" export PROXMOX_VE_SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)" export SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)" # Deploy infrastructure with feature flags pulumi up
Delete resources
Remove out of sync resources from state (manually deleted, not using “pulumi state delete”).
pulumi state delete --target-dependents
Select resource to be deleted. This will remove dependents as well.
Notes
- Pulumi works like ansible: update code, rerun to fix where it stucks.
- Resume from task like ansible is nice.
- Should be a way to write config file (haproxy, nginx) other than bash and tee.
- Pulumi must run on Bastion host having access to the resources. Use platform API as much as possible. Vscode remote workspace helps.
Troubleshooting
Authentication error
Secret config must be added with:
pulumi config set --secret key value
The secret must be encryted and stored in config file. Otherwise the error.