Hacktoberfest® is open to everyone in our global community. Whether you’re a developer, student learning to code, event host, or company of any size, you can help drive growth of open source and make positive contributions to an ever-growing community. All backgrounds and skill levels are encouraged to complete the challenge.
This year, Pulumi is participating in Hacktoberfest with three areas where the community at large can collaborate to build new open source capabilities.
Policy as Code
Pulumi CrossGuard allows you to create policies for logic that you may want to enforce on your cloud resources as code. Policies are written as validation functions that are evaluated against all resources in your Pulumi stack. An example of this in practice is AWSGuard, a library that codifies best practices for AWS.
Here are some helpful links to get you started with Policy as Code:
- Crossguard Core Concepts - An in-depth guide to the core concepts for Policy as Code.
- Example Policy Packs - Example policies for common cloud providers.
- Configurable Policy Packs - A guide to authoring flexible Policy Packs that can be configured and reused.
The recently unveiled Automation API provides a robust programmatic layer on top of Pulumi’s declarative Infrastructure as Software. By exposing Pulumi programs and stacks as strongly-typed composable building blocks, it means that Pulumi can now be fully embedded inside your software projects.
We’ve already seen the Automation API being used in incredibly creative ways, and we’d love to see what you dream up with it.
Here are some helpful links to get you started with the Automation API:
- Go Documentation - Go documentation for the Automation API.
- Automation API examples - Examples of different Automation API use cases.
Reusable Infrastructure Libraries
One of Pulumi’s superpowers is that it allows you to easily create new abstractions and infrastructure building blocks in the form of component resources. A component is a logical container for physical cloud resources and controls how resources are grouped in the CLI. In fact, some of our own libraries like awsx and kx do just that by creating higher-level components (i.e. component resources) on top of the pulumi-aws and pulumi-kubernetes providers respectively.
Here are some helpful links to get you started on authoring your own component resources:
- Creating and Reusing Cloud Components using Package Managers - A step-by-step guide to building and publishing a
- AWS Lambda Warmer as Pulumi Component - An abstraction of a common pattern to avoid cold starts in AWS Lambda.
- Docker Image Component in Typescript, Python, C# and Go - An example in each supported language, so you can use what works best for you.
- Pulumi Programming Model - Documentation to understand the underlying concepts in a Pulumi program.
How to get started
- Register on the Hacktoberfest site for access to get credit for your open source contributions.
- Join the Pulumi Community Slack and head over to the #Hacktoberfest channel.
- Recruit a team to work on your idea - we’ll pin a form on the #Hacktoberfest channel for you to register your team.
- Start hacking - The Pulumi team will share tutorials on this page to help you get started during the hackathon.
10/21/2020 - 9:00 AM PDT - Tutorial content shared on our #Hacktoberfest Slack channel
10/22/2020 - 9:00 AM PDT - Kickoff and team formation
10/23/2020 - 10:00 AM PDT - Team demos