Skip to content

Commit f1200ba

Browse files
authored
Merge pull request #3 from Mythetech/thatplatypus-patch-1
Create README.md
2 parents 0cc1a88 + ce87dc8 commit f1200ba

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

README.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# ModularPipelines.Pulumi
2+
3+
A lightweight library for integrating Pulumi CLI commands into Modular Pipelines. Easily manage Pulumi stacks, previews, deployments, and configurations in your .NET pipelines.
4+
5+
[![nuget](https://img.shields.io/nuget/v/ModularPipelines.Pulumi.svg)](https://www.nuget.org/packages/ModularPipelines.Pulumi/)
6+
![Nuget](https://img.shields.io/nuget/dt/ModularPipelines.Pulumi)
7+
8+
---
9+
10+
## **About**
11+
12+
ModularPipelines.Pulumi extends the ModularPipelines framework with typed, easy-to-use wrappers for Pulumi CLI commands. It enables seamless integration of Pulumi's modern infrastructure as code capabilities directly into your .NET-based pipelines.
13+
14+
> **Note**: This package builds upon the incredible work of [ModularPipelines](https://github.com/thomhurst/ModularPipelines) by [thomhurst](https://github.com/thomhurst). Full credit goes to the original library for its powerful pipeline abstraction.
15+
16+
---
17+
18+
## **Features**
19+
20+
- Strongly typed Pulumi CLI command wrappers
21+
- Supports critical commands such as:
22+
- `pulumi login` for authentication
23+
- `pulumi stack` for retrieving stack details and secrets
24+
- `pulumi preview` for change visualization
25+
- `pulumi up` for deployments
26+
- Built-in support for commonly used CLI options
27+
- Easily extendable for future Pulumi commands
28+
- Compatible with the ModularPipelines framework for a unified experience
29+
30+
---
31+
32+
## **Installation**
33+
34+
Install the NuGet package:
35+
36+
```bash
37+
dotnet add package ModularPipelines.Pulumi
38+
```
39+
40+
## **Getting Started**
41+
42+
**Example: Using Pulumi in a Modular Pipeline**
43+
44+
```csharp
45+
using ModularPipelines.Pulumi;
46+
using ModularPipelines.Pulumi.Options;
47+
48+
var pulumi = new Pulumi(command);
49+
50+
// Authenticate with Pulumi
51+
await pulumi.Login(new PulumiLoginOptions
52+
{
53+
CloudUrl = "https://app.pulumi.com",
54+
Local = false
55+
});
56+
57+
// Preview changes
58+
await pulumi.Preview(new PulumiPreviewOptions
59+
{
60+
Stack = "dev",
61+
Json = true
62+
});
63+
64+
// Deploy changes
65+
await pulumi.Up(new PulumiUpOptions
66+
{
67+
Stack = "dev",
68+
Yes = true
69+
});
70+
```
71+
72+
## **Supported Commands**
73+
• pulumi login: Authenticate with Pulumi Cloud or local backend.
74+
• pulumi stack: Manage and inspect stacks.
75+
• pulumi preview: Preview changes to resources.
76+
• pulumi up: Apply changes and deploy resources.
77+
78+
## **Credits**
79+
80+
This package is an extension of the ModularPipelines framework, originally developed by [thomhurst](https://github.com/thomhurst).
81+
For more information about ModularPipelines, visit [ModularPipelines](https://github.com/thomhurst/ModularPipelines) on GitHub.
82+
83+
Pulumi is a powerful infrastructure-as-code platform that enables seamless cloud resource management. Learn more about Pulumi at [pulumi.com](https://www.pulumi.com/) or on [GitHub](https://github.com/pulumi).
84+
85+
## **Contributing**
86+
87+
Contributions are welcome! If you have ideas for additional features or commands, feel free to submit an issue or a pull request.
88+
89+
## **License**
90+
91+
This project is licensed under the MIT License.

0 commit comments

Comments
 (0)