Creating GCP-compatible structured log messages in PythonThe Google Cloud Platform supports structured logging. All it takes is writing JSON objects to stdout or stderr. With structlog, it’s straightforward to set up a processor chain that produces compatible log messages. There are two special fields that...Jul 2, 2025
Linking a GKE Kubernetes service account to a GCP IAM service account with PulumiWorkload Identity Federation enables workloads running in Google Kubernetes Engine (GKE) to access Google Cloud APIs. It requires that the cluster is configured accordingly, and can be achieved in two ways: by directly using the Kubernetes service ac...May 10, 2024
Running pre-commit in a reusable GitHub Actions workflow with cachingThe pre-commit framework is an awesome utility to enforce coding standards and run sanity checks, such as preventing large files from being committed. It's not just convenient to run locally on the developers' machines. By using pre-commit to run che...May 5, 2024
Configuring an Amazon EKS Kubernetes service account to assume an IAM role with PulumiA core feature of Amazon EKS is the ability to assume an AWS IAM role with a Kubernetes service account. This requires that the service account is annotated with the IAM role's ARN and a trust policy attached to the IAM role that contains the service...May 1, 2024
Integrating AWS Step Functions ASL state machine definitions into CDK stacks in PythonAWS Step Functions state machines are defined in the JSON-based Amazon States Language (ASL). However, writing and maintaining ASL by hand is cumbersome. Therefore, most developers will prefer using the AWS Step Functions Workflow Studio in the AWS c...Apr 27, 2024
Instantiating a Pulumi Kubernetes provider inside a PodUsually, we call the Kubernetes API from within a Pod using kubectl or by exposing the API via kubectl proxy in a sidecar and making unauthenticated local HTTP requests to it. The Pulumi Kubernetes provider requires a kubeconfig file, which is either...Apr 24, 2024
Combining multiple test coverage reports for SonarCloud in GitHub Actions workflowsIn a typical multi-tier test setup, we run different test suites across several GitHub Actions jobs, each of which produces a coverage report. For example, we might start with unit tests running locally on the GitHub Actions runner and subsequently m...Apr 21, 2024