Interactive flow diagram - click any email to jump to its content.
flowchart TD
1[Email #1: Introduction]
1 -->|Terraform click| 2a[Email #2a: Terraform]
1 -->|K8s click| 2b[Email #2b: Kubernetes]| from pulumi_policy import PolicyPack, ResourceValidationPolicy, EnforcementLevel, ResourceValidationArgs, ReportViolation | |
| # Policy 1: Discouraged Public Internet Access | |
| def no_public_ingress_validator(args: ResourceValidationArgs, report_violation: ReportViolation): | |
| if args.resource_type == "aws:ec2/securityGroup:SecurityGroup": | |
| ingress_rules = args.props.get("ingress", []) | |
| for rule in ingress_rules: | |
| cidr_blocks = rule.get("cidrBlocks", []) | |
| if "0.0.0.0/0" in cidr_blocks: | |
| report_violation("Ingress with 0.0.0.0/0 is discouraged.") |
learn pulumi learn pulumi Intro Ever tried learning a new DevOps tool or technology and ended up stuck in a loop of confusing tutorials? Or maybe you’ve worked through every guide but still don’t feel confident? Whether it’s Kubernetes, cloud platforms, or infrastructure as code, this is a common challenge in our field.
Today we’re going to solve this problem, using Pulumi as our example, but in a unique way that applies to learning any DevOps skill.
Alexander has built an incredible learning path for mastering Pulumi, and I’ve been deep in the research on how people actually learn complex technical skills. We’re going to combine these to give you both the ‘how’ and the ‘why’ of effective learning.
Alexander will walk us through parts of his learning path, and I’ll jump in between to share fascinating research that shows exactly why his approach is so effective. The principles we’ll cover apply whether you’re learning Pulumi, picking up a new cloud platform, or mastering any other DevOps tool.
| import scala.math.abs | |
| object HybridStyleCalculator { | |
| class Calculator { | |
| private var result: Double = 0; | |
| // Start Java Style | |
| // Returns, braces and semi-colons |
| todoStatus = done | notdone | in-progress | under review | blocked | |
| todoPriority = A | B | C | unset | |
| todoStickers = A | B | C | unset | |
| todoDueDate = Date date | unset | |
| todo { | |
| name string | |
| status todoStatus | |
| priority todoPriority |
an outline for talks to be submitted to PaperCall.io
This document is a collection of resources and helpful information for writing a good CFP. Many of the notes and tips are direct quotes from the resources listed below. They are mostly notes I took as I read. The outline itself is formatted for PaperCall.io, and the italicized notes are from their site as well.
| @media (prefers-color-scheme: dark){ | |
| /* Table of Contents | |
| /* ------------------------------------------------------------ | |
| This is a development CSS file which is built to a minified | |
| production stylesheet in assets/built/screen.css | |
| 1. Global Styles | |
| 2. Layout | |
| 3. Special Templates |