<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Devops on Tech &amp; Code with Kris</title>
    <link>https://kristhecodingunicorn.com/tags/devops/</link>
    <description>Recent content in Devops on Tech &amp; Code with Kris</description>
    <generator>Hugo -- 0.147.9</generator>
    <language>en</language>
    <copyright>2025 - Kristina Devochko</copyright>
    <lastBuildDate>Tue, 15 Jul 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://kristhecodingunicorn.com/tags/devops/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Reusable ValidateSets in PowerShell</title>
      <link>https://kristhecodingunicorn.com/post/powershell-reusable-validatesets/</link>
      <pubDate>Tue, 15 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/powershell-reusable-validatesets/</guid>
      <description>&lt;p&gt;When you&amp;rsquo;re creating scripts, in some cases, you may want to limit what values a consumer is allowed to provide for a specific parameter. In PowerShell a regular way to do that is with &lt;a href=&#34;https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/validateset-attribute-declaration?view=powershell-7.5&#34;&gt;ValidateSet&lt;/a&gt;. ValidateSet is an attribute that you can define on a parameter together with a set of values that are allowed to be provided for the parameter. For example, let&amp;rsquo;s say you want to only allow to specify &lt;code&gt;Development&lt;/code&gt;, &lt;code&gt;Staging&lt;/code&gt; or &lt;code&gt;Production&lt;/code&gt; as a value for the &lt;code&gt;$DeploymentEnvironment&lt;/code&gt; parameter in your PowerShell script, with help of &lt;code&gt;ValidateSet&lt;/code&gt;. It can look something like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tech Bits and Bobs #1 - Reference GitHub Repository and Deployment Environment Secrets and Variables in Reusable Workflows</title>
      <link>https://kristhecodingunicorn.com/post/github-secrets-and-vars-in-reusable-workflow/</link>
      <pubDate>Mon, 07 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/github-secrets-and-vars-in-reusable-workflow/</guid>
      <description>&lt;p&gt;In this edition of Tech Bits and Bobs I would like to give a quick overview of how to reference variables and secrets, that are defined in the repository variables and secrets and in a &lt;a href=&#34;https://docs.github.com/en/actions/how-tos/managing-workflow-runs-and-deployments/managing-deployments/managing-environments-for-deployment&#34;&gt;GitHub Deployment Environment&lt;/a&gt;, in a reusable GitHub workflow. Disclaimer: there&amp;rsquo;s a tiny nuance to be aware of when it comes to referencing secrets 😼&lt;/p&gt;
&lt;p&gt;The good thing is that you can reference all the variables and secrets that are coming both from the &lt;a href=&#34;https://docs.github.com/en/actions/how-tos/security-for-github-actions/security-guides/using-secrets-in-github-actions&#34;&gt;repository secrets and variables&lt;/a&gt; and the deployment environments in a regular way, i.e. &lt;code&gt;${{ secrets.MY_SECRET_FROM_ANYWHERE }}&lt;/code&gt; or &lt;code&gt;${{ vars.MY_VAR_FROM_ANYWHERE }}&lt;/code&gt;. The only caveat here is that when you want to reference secrets in a reusable workflow, be it from the repo or a deployment environment, you need to provide &lt;code&gt;secrets: inherit&lt;/code&gt; parameter in the parent workflow job that is calling upon a reusable workflow. This parameter allows reusable workflow to access the secrets that the parent workflow has access to.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure DevOps Bits and Bobs: #1 - How to update PATH environment variable</title>
      <link>https://kristhecodingunicorn.com/post/azure-devops-prepend-path/</link>
      <pubDate>Sun, 16 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/azure-devops-prepend-path/</guid>
      <description>In this blog post we will explore the proper way of updating PATH environment variable on Azure Pipelines build agents and what other logging commands are available in Azure DevOps.</description>
    </item>
    <item>
      <title>Azure Private DNS zone fallback to internet - what, why and how</title>
      <link>https://kristhecodingunicorn.com/post/azure-private-dns-zone-fallback-to-public/</link>
      <pubDate>Wed, 15 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/azure-private-dns-zone-fallback-to-public/</guid>
      <description>In this blog post we will explore recently released functionality for Azure Private DNS zones that allows fallback to internet on domain name resolution.</description>
    </item>
    <item>
      <title>How to automate migration of classic Application Insights instances to workspace-based</title>
      <link>https://kristhecodingunicorn.com/post/migrate-application-insights-to-workspace-based/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/migrate-application-insights-to-workspace-based/</guid>
      <description>In this blog post we will explore how you can easily automate migration of classic Application Insights instances to workspace-based instances at scale</description>
    </item>
    <item>
      <title>Christmas the Whole Year Round...and Year&#43;&#43; with Kubernetes LTS</title>
      <link>https://kristhecodingunicorn.com/post/kubernetes-lts/</link>
      <pubDate>Fri, 29 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/kubernetes-lts/</guid>
      <description>In this blog post we&amp;#39;ll discuss in which use cases Kubernetes LTS makes sense, what this means for the core Kubernetes projects, and how the Kubernetes LTS works in context of AKS.</description>
    </item>
    <item>
      <title>A bird&#39;s-eye view of upcoming KubeCon&#43;CloudNativeCon North America 2023</title>
      <link>https://kristhecodingunicorn.com/post/kubecon-cloudnativecon-na-2023-expectations/</link>
      <pubDate>Fri, 03 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/kubecon-cloudnativecon-na-2023-expectations/</guid>
      <description>In this blog post I will share my perspective for the upcoming KubeCon&#43;CloudNativeCon North America 2023: trends, what to expect and share personal tips about getting the most out of the event.</description>
    </item>
    <item>
      <title>Resilience testing of Azure services with Azure Chaos Studio</title>
      <link>https://kristhecodingunicorn.com/post/azure-services-resilience-testing-with-azure-chaos-studio/</link>
      <pubDate>Thu, 21 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/azure-services-resilience-testing-with-azure-chaos-studio/</guid>
      <description>In this blog post we will explore how you can use Azure Chaos Studio to ensure resilience of non-Kubernetes services in Azure like App Service, Key Vault, Virtual Machine, etc.</description>
    </item>
    <item>
      <title>Kubernetes port forwarding: cleaning up orphaned ports</title>
      <link>https://kristhecodingunicorn.com/post/kubernetes-port-forwarding-cleanup-of-orphaned-ports/</link>
      <pubDate>Fri, 11 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/kubernetes-port-forwarding-cleanup-of-orphaned-ports/</guid>
      <description>In this blog post we&amp;#39;ll look into how we can clean up port reservations that got stuck after a completed port forwarding command in a Kubernetes cluster.</description>
    </item>
    <item>
      <title>How to get all Azure Policy assignments of a specific category?</title>
      <link>https://kristhecodingunicorn.com/post/get-azure-policy-assignment-of-category/</link>
      <pubDate>Mon, 26 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/get-azure-policy-assignment-of-category/</guid>
      <description>In this blog post we&amp;#39;ll look into how we can retrieve all Azure Policy assignments that represent policy definitions under specific category.</description>
    </item>
    <item>
      <title>Scanning Azure VMs, Azure Arc-enabled servers and ACR images for vulnerabilities with Microsoft Defender and Qualys</title>
      <link>https://kristhecodingunicorn.com/post/scan-azurevm-azurearc-acr-with-defender-and-qualys/</link>
      <pubDate>Tue, 06 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/scan-azurevm-azurearc-acr-with-defender-and-qualys/</guid>
      <description>In this blog post we&amp;#39;ll look into how we can use integrated Qualys scanner in MS Defender for vulnerability assessment of Azure Arc-enabled servers and other applicable resources.</description>
    </item>
    <item>
      <title>Takeaways from attending KubeCon&#43;CloudNativeCon Europe 2023, wearing many hats</title>
      <link>https://kristhecodingunicorn.com/post/kubecon-cloudnativecon-eu-2023-takeaways/</link>
      <pubDate>Sat, 06 May 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/kubecon-cloudnativecon-eu-2023-takeaways/</guid>
      <description>In this blog post I will share my reflections and takeaways from attending KubeCon&#43;CloudNativeCon Europe 2023 wearing multiple hats: speaker, CNCF ambassador, KCD organizer and attendee.</description>
    </item>
    <item>
      <title>Creating custom Azure Policy for Kubernetes to disallow non-compliant image registries</title>
      <link>https://kristhecodingunicorn.com/post/custom-azure-policy-for-k8s-image-registries-compliance/</link>
      <pubDate>Tue, 04 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/custom-azure-policy-for-k8s-image-registries-compliance/</guid>
      <description>In this blog post we&amp;#39;ll look into how we can create custom Azure Policy to disallow workloads referencing non-compliant image registries.</description>
    </item>
    <item>
      <title>Keeping AKS clusters continuously secure with Azure Policy</title>
      <link>https://kristhecodingunicorn.com/post/aks-azure-policy/</link>
      <pubDate>Thu, 16 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/aks-azure-policy/</guid>
      <description>In this blog post we&amp;#39;ll look into how we can enhance security and governance of AKS clusters with Azure Policy.</description>
    </item>
    <item>
      <title>How to trigger subsequent GitHub workflow in a different repository</title>
      <link>https://kristhecodingunicorn.com/post/trigger-github-workflow-in-different-repo/</link>
      <pubDate>Sun, 12 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/trigger-github-workflow-in-different-repo/</guid>
      <description>In this tech tip we take a look at how you can trigger a GitHub workflow residing in a different repository, based on a specific condition.</description>
    </item>
    <item>
      <title>AKS control plane tiers - what, when and how?</title>
      <link>https://kristhecodingunicorn.com/post/aks-control-plane-tiers/</link>
      <pubDate>Tue, 24 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/aks-control-plane-tiers/</guid>
      <description>In this tech tip we look at AKS control plane tiers, when to use which tier and how to define it in code.</description>
    </item>
    <item>
      <title>How to modify Azure Arc (or any) Service Principal scope after creation</title>
      <link>https://kristhecodingunicorn.com/post/modify-azure-arc-service-principal-scope/</link>
      <pubDate>Wed, 04 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/modify-azure-arc-service-principal-scope/</guid>
      <description>In this tech tip we take a look at how you can easily update the scope of an Azure Arc Service Principal or any other Service Principal after it has been created.</description>
    </item>
    <item>
      <title>How to fix ServiceAccount error in Azure DevOps Environments for Kubernetes clusters v.1.24 and newer</title>
      <link>https://kristhecodingunicorn.com/post/azure-devops-environments-service-account-error/</link>
      <pubDate>Wed, 28 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/azure-devops-environments-service-account-error/</guid>
      <description>In this tech tip we look at how you can fix Azure DevOps Environments error related to missing Service Account Secret that occurs when targeting Kubernetes clusters on version 1.24 or newer.</description>
    </item>
    <item>
      <title>[🎄Azure Advent Calendar🎄] Exploring upgrade strategies in Azure Kubernetes Service</title>
      <link>https://kristhecodingunicorn.com/post/aks-upgrade-strategies/</link>
      <pubDate>Thu, 15 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/aks-upgrade-strategies/</guid>
      <description>In this blog post we&amp;#39;ll look into importance of continuous upgrade of AKS clusters and nodes, and what are possible strategies to do it manually and automatically.</description>
    </item>
    <item>
      <title>Validating quality of Helm Charts with helm lint</title>
      <link>https://kristhecodingunicorn.com/post/helm-chart-validation-with-helm-lint/</link>
      <pubDate>Sat, 15 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/helm-chart-validation-with-helm-lint/</guid>
      <description>In this tech tip we take a look at how we can use helm lint to validate Helm Charts for errors and best practices prior to deployment to Kubernetes</description>
    </item>
    <item>
      <title>Monitoring Kubernetes API deprecations with Pluto</title>
      <link>https://kristhecodingunicorn.com/post/monitor-k8s-api-deprecations-with-pluto/</link>
      <pubDate>Sun, 14 Aug 2022 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/monitor-k8s-api-deprecations-with-pluto/</guid>
      <description>In this blog post we&amp;#39;ll look into how you can monitor Kubernetes API deprecations and automate it in CI/CD with Pluto.</description>
    </item>
    <item>
      <title>Re-using Azure DevOps Environment efficiently across multiple pipelines</title>
      <link>https://kristhecodingunicorn.com/post/reuse-azure-devops-environment/</link>
      <pubDate>Thu, 14 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/reuse-azure-devops-environment/</guid>
      <description>In this post we take a look at how we can avoid duplication and re-use Azure DevOps Environment across multiple pipelines with variable groups.</description>
    </item>
    <item>
      <title>Creating reusable build tasks in Azure DevOps pipelines with templates</title>
      <link>https://kristhecodingunicorn.com/post/azure-devops-pipeline-templates-for-reusable-tasks/</link>
      <pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/azure-devops-pipeline-templates-for-reusable-tasks/</guid>
      <description>In this post we take a look at how to implement reusable build tasks in Azure DevOps pipelines with templates.</description>
    </item>
    <item>
      <title>Handling failed Helm upgrade due to another operation in progress</title>
      <link>https://kristhecodingunicorn.com/post/helm-upgrade-failure-another-operation-in-progress/</link>
      <pubDate>Mon, 20 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/helm-upgrade-failure-another-operation-in-progress/</guid>
      <description>How to handle failed helm upgrade with helm rollback</description>
    </item>
    <item>
      <title>Improving Pull Request flow with PR templates and PR Completion Stats in Azure DevOps</title>
      <link>https://kristhecodingunicorn.com/post/pull-request-templates-and-completion-stats-azure-devops/</link>
      <pubDate>Fri, 06 May 2022 00:00:00 +0000</pubDate>
      <guid>https://kristhecodingunicorn.com/post/pull-request-templates-and-completion-stats-azure-devops/</guid>
      <description>Let&amp;#39;s take a look at how PR templates and PR Completion Stats extension can help us improve PR flow and quality in Azure DevOps.</description>
    </item>
  </channel>
</rss>
