- Home
- Skills
- Dirien
- Claude Skills
- Pulumi Go
pulumi-go_skill
- Python
0
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill dirien/claude-skills --skill pulumi-go- SKILL.md12.8 KB
Overview
This skill helps you create, structure, and deploy Pulumi projects using Go. It focuses on idiomatic Go patterns, component resources, ESC-based configuration and secrets, OIDC authentication flows, and multi-language component packaging. Use it to set up new projects, integrate Pulumi ESC, and follow production-ready best practices for Go-based infrastructure as code.
How this skill works
The skill guides project initialization (pulumi new go), module setup, and common resource patterns in Go (resources, component resources, outputs, and stack references). It explains how to link and run Pulumi ESC environments to inject secrets and dynamic OIDC credentials at runtime. It also covers building and packaging multi-language Go components and safe deployment workflows.
When to use it
- Starting a new Pulumi project in Go (pulumi new go or cloud-specific templates)
- Migrating stack config and secrets to Pulumi ESC
- Writing reusable component resources or multi-language components in Go
- Implementing OIDC-based authentication and short-lived credentials for cloud providers
- Automating pulumi commands with ESC: pulumi env run, pulumi env open
Best practices
- Use Pulumi ESC for all secrets; never commit secrets to stack config files
- Prefer OIDC/dynamic credentials and least-privilege IAM policies
- Encapsulate reusable patterns as Component Resources with well-typed Args and Output fields
- Use stack references for cross-stack dependencies to avoid tight coupling
- Always run pulumi preview before pulumi up and handle errors explicitly in Go
Example use cases
- Create an AWS S3 bucket with server-side encryption and tags, exporting bucketName and bucketArn
- Build a reusable WebService component that provisions a load balancer and exposes a URL output
- Link an ESC environment to a stack to inject OIDC-based AWS credentials and Secrets Manager secrets at runtime
- Publish a Go component as a multi-language package consumable from TypeScript/Python/C#
- Run tests or CI builds with secrets injected via pulumi env run
FAQ
Link the ESC environment to the stack and use pulumi config in Go (config.New(ctx, "")). Treat ESC-managed keys like normal Pulumi config values and require or get them via the config API.
What must multi-language component Args look like?
Use pulumi.*Input types for all properties, include pulumi struct tags (pulumi:"fieldName"), add ,optional for optional fields, and avoid interface{} or unsupported types.