π A repository to learn Pulumi, a modern Infrastructure-as-Code (IaC) tool, using OCI (Oracle Cloud Infrastructure) as the cloud provider and C# (.NET) as the programming language.
This repository demonstrates how to use Pulumi with OCI and .NET for building and managing cloud infrastructure. It includes examples for provisioning resources, configuring OCI services, and leveraging Pulumi's features for infrastructure management and automation.
-
Infrastructure-as-Code (IaC):
- Use C# to define and provision OCI resources programmatically.
- Leverage Pulumi's type-safe SDK for .NET.
-
Oracle Cloud Infrastructure:
- Provision and manage services like Compute, OKE (Kubernetes), VCN (Virtual Cloud Network), and more.
-
Continuous Delivery (CD):
- Integrate with GitHub Actions using the Pulumi GitHub App for automated deployment.
-
Hands-On Examples:
- Demonstrates key Pulumi features such as state management and multi-environment support.
- Pulumi CLI: Install from Pulumi's official site.
- .NET SDK: Download the latest version from Microsoft's .NET site.
- OCI CLI: Set up the OCI Command Line Interface and configure your credentials.
-
Clone the Repository:
git clone https://github.com/GuilhermeStracini/hello-world-pulumi-oci-dotnet.git cd hello-world-pulumi-oci-dotnet
-
Install Dependencies:
dotnet restore
-
Set Up Pulumi:
- Log in to Pulumi:
pulumi login
- Configure your Pulumi stack:
pulumi config set oci:region <your-oci-region>
- Log in to Pulumi:
-
Run the Project:
- Preview the changes:
pulumi preview
- Deploy the stack:
pulumi up
- Preview the changes:
-
Destroy the Stack (Optional):
- Remove all provisioned resources:
pulumi destroy
- Remove all provisioned resources:
Explore additional resources to deepen your understanding of Pulumi and OCI:
- Pulumi Official Website
- Pulumi OCI Provider Documentation
- Pulumi GitHub App
- Using GitHub Actions with Pulumi for Continuous Delivery
- Pulumi .NET Tools
- OCI OKE (Kubernetes) with Pulumi
- OCI Compute with Pulumi
Contributions are welcome!
Feel free to fork this repository, open issues, or submit pull requests to enhance examples or add new ones.
This project is licensed under the MIT License.