FEAT: Init Infra App
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# AWS S3 Bucket (Go) Pulumi Template
|
||||
|
||||
This Pulumi template bootstraps a minimal Go project that provisions an AWS S3 bucket.
|
||||
It uses the Pulumi AWS provider to create the bucket and exports its name as an output.
|
||||
|
||||
## When to Use This Template
|
||||
|
||||
Use this template when you want to:
|
||||
- Get started quickly with Pulumi and Go for AWS workloads
|
||||
- Provision a simple S3 bucket with minimal configuration
|
||||
- Learn how Pulumi programs are structured in Go
|
||||
|
||||
## Providers & Resources
|
||||
|
||||
- **AWS Provider** (`github.com/pulumi/pulumi-aws/sdk/v6`)
|
||||
- **Resource Created**: `aws:s3/bucket:Bucket` via `s3.NewBucketV2`
|
||||
|
||||
## Outputs
|
||||
|
||||
- `bucketName`: The unique name/ID of the created S3 bucket
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Go 1.20 or later
|
||||
- An AWS account with credentials configured in your environment (for example, via the AWS CLI)
|
||||
- Pulumi CLI installed and authenticated
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Create a new stack/project from this template:
|
||||
```bash
|
||||
pulumi new aws-go
|
||||
```
|
||||
|
||||
2. Follow the interactive prompts to set:
|
||||
- **Project name** (used in `Pulumi.yaml`)
|
||||
- **Project description**
|
||||
- **AWS region** (defaults to `us-east-1`)
|
||||
|
||||
3. Preview your changes:
|
||||
```bash
|
||||
pulumi preview
|
||||
```
|
||||
|
||||
4. Deploy your stack:
|
||||
```bash
|
||||
pulumi up
|
||||
```
|
||||
|
||||
5. Verify the output:
|
||||
```bash
|
||||
pulumi stack output bucketName
|
||||
```
|
||||
|
||||
## Project Layout
|
||||
|
||||
.
|
||||
├── Pulumi.yaml Pulumi project settings and metadata
|
||||
├── go.mod Go module definition (updated on `pulumi new`)
|
||||
└── main.go Pulumi program that creates the S3 bucket
|
||||
|
||||
## Configuration
|
||||
|
||||
The following configuration keys are available:
|
||||
|
||||
- `aws:region` (string): The AWS region where resources will be created. Default: `us-east-1`.
|
||||
|
||||
You can view or update configuration values with:
|
||||
```bash
|
||||
pulumi config get aws:region
|
||||
pulumi config set aws:region us-west-2
|
||||
```
|
||||
|
||||
## Next Steps
|
||||
|
||||
- Customize the bucket by passing options to `s3.NewBucketV2`, such as versioning, encryption, tags, etc.
|
||||
- Add additional AWS resources (e.g., IAM roles, DynamoDB tables) by importing and using other Pulumi AWS SDK packages.
|
||||
- Explore Pulumi’s Go SDK patterns, such as component resources and functions.
|
||||
- Integrate infrastructure as code into your CI/CD pipelines.
|
||||
|
||||
## Getting Help
|
||||
|
||||
If you run into issues or have questions:
|
||||
- Check the Pulumi documentation: https://www.pulumi.com/docs/
|
||||
- Browse AWS provider reference: https://www.pulumi.com/registry/packages/aws/api-docs/
|
||||
- Ask in the Pulumi Community Slack: https://slack.pulumi.com/
|
||||
- Open an issue on the template’s repository (if available)
|
||||
|
||||
Enjoy building cloud infrastructure with Go and Pulumi!
|
||||
Reference in New Issue
Block a user