Authoring CrossGuard Policy with Open Policy Agent (OPA)

Luke Hoban Luke Hoban
Authoring CrossGuard Policy with Open Policy Agent (OPA)

We’re excited to announce the addition of Open Policy Agent (OPA) Rego language support to Pulumi’s CrossGuard policy-as-code framework. This enables Pulumi CrossGuard policy to be authored in either JavaScript/TypeScript/Python or in the popular Rego language using OPA.

Pulumi’s CrossGuard policy-as-code framework provides the ability to author, apply and enforce policy directly as part of your Pulumi deployments. With the new support for OPA Rego, CrossGuard supports a broad spectrum of policy authoring options, from expressive imperative languages to a popular industry-standard declarative policy language.

OPA-based rules for CrossGuard get all the core benefits of Pulumi’s policy-as-code framework - policies can be run on previews to get warnings about errors before you even deploy, policies can produce either advisory or mandatory recommendations allowing flexibility in flagging and enforcing policy violations, and policies can be applied and enforced across an entire organization through the Pulumi Service.

Read more →

Announcing New Pulumi Open Source Projects for Kubernetes

Luke Hoban Luke Hoban
Announcing New Pulumi Open Source Projects for Kubernetes

Today, we’re excited to announce several new open source projects that advance Pulumi’s Kubernetes support. These projects and features have been developed while helping leading cloud native engineering teams like Snowflake, Lemonade, and Mercedes-Benz go into production with Kubernetes, and include new deployment automation options, improved ecosystem integrations, and tools to make it easier than ever to adopt Pulumi for new and existing projects.

Read more →

Introducing crd2pulumi: Typed CustomResources for Kubernetes

Levi Blackstone Levi Blackstone Albert Zhong Albert Zhong
Introducing crd2pulumi: Typed CustomResources for Kubernetes

CustomResources in Kubernetes allow users to extend the API with their types. These types are defined using CustomResourceDefinitions (CRDs), which include an OpenAPI schema. This extensibility is quite useful but comes at the cost of complex YAML definitions. Our new crd2pulumi tool takes the pain out of managing CustomResources by generating types in the Pulumi-supported language of your choice!

Read more →

Introducing kube2pulumi: No More YAML

Levi Blackstone Levi Blackstone Sashu Shankar Sashu Shankar
Introducing kube2pulumi: No More YAML

Kubernetes users often joke about being “YAML engineers,” and the pile of YAML seems to get deeper every day. Today, we’re pleased to announce kube2pulumi, a tool to automatically convert Kubernetes manifests into modern code! Instead of manipulating YAML directly, you can take advantage of the rich ecosystem of programming language tools to supercharge your productivity.

Read more →

Introducing the Pulumi Kubernetes Operator

Mike Metral Mike Metral
Introducing the Pulumi Kubernetes Operator

Check out version 2.0 of the Pulumi Kubernetes Operator.

Kubernetes developers and operators work together to manage workloads and to continuously ship software through CI/CD. These users have an affinity for automation and pipelines, and richer integration with Kubernetes is a growing theme across the cloud native ecosystem.

We’re excited to introduce the Pulumi Kubernetes Operator: a Kubernetes controller that deploys cloud infrastructure in Pulumi Stacks for you and your team.

These program stacks include virtual machines, block storage, managed Kubernetes clusters, API resources, serverless functions and more!

Read more →

Getting Started With Kubernetes: Day 2

Sophia Parafina Sophia Parafina
Getting Started With Kubernetes: Day 2

Your application made it out of the dev stage, passed the testing stage, and arrived in production. As a developer, you might think that it’s an ops problem now. However, DevOps is a collaborative effort between developers and operators to build and maintain applications using shared techniques and processes, often called “Day 2” activities.

Read more →

Rotating Secret Providers

Paul Stack Paul Stack
Rotating Secret Providers

Customers and users have asked for the ability to change the secrets manager associated with their stacks. This would allow a user to rotate their secrets providers when people leave their organization or even to be able to migrate to another secret manager of their choice. The v2.8.0 release of Pulumi adds support for this specific feature.

Let’s have a look at how to change a secrets provider for an existing stack:

Read more →

Getting Started With Kubernetes: Networking

Sophia Parafina Sophia Parafina
Getting Started With Kubernetes: Networking

In previous installments, we examined how to deploy applications. However, we only touched on how applications talk to each other inside and outside the cluster. Whether you are building a modern application or modernizing a legacy application, understanding how resources and components talk to each other is essential. In this installment, we’ll examine networking in Kubernetes.

Read more →

Getting Started with Kubernetes: Stateful Applications

Sophia Parafina Sophia Parafina
Getting Started with Kubernetes: Stateful Applications

This article is the fourth in a series using infrastructure as code to deploy applications with Kubernetes. This series walks you through:

In the previous post, we examined different methods for deploying applications. We worked through examples of a boilerplate deployment, to one using ComponentResources to automate deployment further, and deploying with Helm charts. In this installment, we’ll look at how to deploy stateful applications, such as databases, in Kubernetes. Unlike stateless applications, stateful apps require persistent storage, which presents scaling and availability challenges.

Read more →