<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>blog.eula.no</title>
    <link>https://blog.eula.no/</link>
    <description>Recent content on blog.eula.no</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 28 Dec 2025 18:22:19 +0100</lastBuildDate>
    <atom:link href="https://blog.eula.no/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>GitHub Safe-Settings</title>
      <link>https://blog.eula.no/posts/github-safe-settings/</link>
      <pubDate>Sun, 28 Dec 2025 18:22:19 +0100</pubDate>
      <guid>https://blog.eula.no/posts/github-safe-settings/</guid>
      <description>With a growing organization and a growing count of repositories it will also be a growing need to centrally enforce repository settings, branch protection, team access and more accross the entire GitHub organization.&#xA;What is Safe-Settings Safe-settings is an app to manage policy-as-code and apply repository settings across an organization. The official repository is found on GitHub.&#xA;Create GitHub App In order to create an app registration from a manifest flow, create a html file with a form and include the manifest.</description>
    </item>
    <item>
      <title>OpenTelemetry for VM insights</title>
      <link>https://blog.eula.no/posts/opentelemetry-for-vm-insights/</link>
      <pubDate>Sun, 26 Oct 2025 16:54:22 +0200</pubDate>
      <guid>https://blog.eula.no/posts/opentelemetry-for-vm-insights/</guid>
      <description>More and more Azure services are getting support for OpenTelemetry. Today I&amp;rsquo;ll have a look at how VM Insights can capture and display metrics in the opentelemetry format.&#xA;What is OpenTelemetry OpenTelemetry is an observability framework and toolkit designed to facilitate the generation, export and collection of telemetry data such as traces, metrics and logs.&#xA;The OpenTelemetry defines a semantic convention (semantic attributes) for system metrics that is OS independent.</description>
    </item>
    <item>
      <title>Eliminate Easy Auth client secrets</title>
      <link>https://blog.eula.no/posts/eliminate-easy-auth-client-secrets/</link>
      <pubDate>Mon, 25 Aug 2025 17:15:00 +0200</pubDate>
      <guid>https://blog.eula.no/posts/eliminate-easy-auth-client-secrets/</guid>
      <description>At work we use acmebot with a dashboard available through an azure web app. Access to the dashboard is configured to use authentication to Entra via an Enterprise application and Easy Auth. The app registration is configured to use a client secret and by the time I got back from summer vacation, the secret had expired&amp;hellip; So now I want to eliminate the need for these client secrets!&#xA;Easy Auth Easy Auth is the built-in authentication (signing in users) and authorization (providing access to secure data) capabilities in Azure App Service.</description>
    </item>
    <item>
      <title>Make your own PSGallery</title>
      <link>https://blog.eula.no/posts/acr-psgallery/</link>
      <pubDate>Fri, 25 Jul 2025 04:19:19 +0200</pubDate>
      <guid>https://blog.eula.no/posts/acr-psgallery/</guid>
      <description>The PowerShell Gallery is full of useful modules shared by community members, but the nature of this community content makes the gallery inherently untrusted. In this post I will have a look at how you can improve your Supply Chain Security and availability by utilizing Microsoft Artifact Registry and building your own private PSGallery.&#xA;$PSGallery = -not $secure Aqua published an article outlining some of the issues with the gallery and compared it to other package managers, you can read it in their blog.</description>
    </item>
    <item>
      <title>Manage Azure policies at scale with EPAC</title>
      <link>https://blog.eula.no/posts/epac/</link>
      <pubDate>Fri, 18 Jul 2025 09:12:22 +0200</pubDate>
      <guid>https://blog.eula.no/posts/epac/</guid>
      <description>As the number of policy resources grows, EPAC is designed to be an toolkit to handle policy resources at scale, with Infrastructure as Code (IaC) in mind.&#xA;What is EPAC Enterprise Azure Policy as Code (EPAC) is a declarative and idempotent desired state deployment technology for Azure Policy. It handles the creation, updating and deletion of policy resources.&#xA;EPAC comes as a collection of PowerShell scripts to manage Policies, PolicySets, Policy Assignments, Policy Exemptions and Role Assignments.</description>
    </item>
    <item>
      <title>Use ModuleFast to speed up workflows</title>
      <link>https://blog.eula.no/posts/modulefast-compare-speed/</link>
      <pubDate>Fri, 11 Jul 2025 16:22:47 +0200</pubDate>
      <guid>https://blog.eula.no/posts/modulefast-compare-speed/</guid>
      <description>Most of the management I do in Azure is automated with powershell and put into a GitHub Actions workflow or an automation runbook. Most of them use the same modules; Az.Accounts, Az.Resources, Microsoft.Graph.Authentication, etc.&#xA;Previously I&amp;rsquo;ve used the action psmodulecache. This has the benefit of generating a cache at the end of the workflow run, if no cache already exists. This way, any consecutive runs will use the cache instead of re-downloading the modules.</description>
    </item>
    <item>
      <title>GitHub-hosted runners with Azure private networking</title>
      <link>https://blog.eula.no/posts/github-hosted-runners-azure-vnet/</link>
      <pubDate>Fri, 11 Jul 2025 09:12:22 +0200</pubDate>
      <guid>https://blog.eula.no/posts/github-hosted-runners-azure-vnet/</guid>
      <description>After my previous fiddling with Azure Container Apps I decided to seeked out how to achive access a private azure network from a GitHub-hosted runner.&#xA;How it works When a workflow is triggered, GitHub creates a runner service and deploys a network interface card (NIC) in the customers private azure network. Once the nic is created an attached, the job is picked up by the runner and started. The runner logs are sent back to GitHub Actions while the runner has access to any resource in the vNet.</description>
    </item>
    <item>
      <title>AVD HostPool and listRegistrationTokens</title>
      <link>https://blog.eula.no/posts/avd-hostpool-registration-token/</link>
      <pubDate>Mon, 12 Aug 2024 10:41:12 +0200</pubDate>
      <guid>https://blog.eula.no/posts/avd-hostpool-registration-token/</guid>
      <description>The old ways Up until now I&amp;rsquo;ve been using the reference function fetch a registration token. It&amp;rsquo;s possible to specify an explicit api-version:&#xA;output token1 object = reference(hostPool.id, &amp;#39;2023-09-05&amp;#39;).registrationInfo.token output token2 string = reference(hostPool.id).registrationInfo.token The bicep compiles to this json:&#xA;&amp;#34;[reference(resourceId(&amp;#39;Microsoft.DesktopVirtualization/hostPools&amp;#39;, parameters(&amp;#39;hostpoolName&amp;#39;)), &amp;#39;2023-09-05&amp;#39;).registrationInfo.token]&amp;#34; &amp;#34;[reference(resourceId(&amp;#39;Microsoft.DesktopVirtualization/hostPools&amp;#39;, parameters(&amp;#39;hostpoolName&amp;#39;))).registrationInfo.token)]&amp;#34; Recent errors Recently these deployments has began to fail in some envornments, with the errors:&#xA;&amp;hellip;The language expression property &amp;rsquo;token&amp;rsquo; can&amp;rsquo;t be evaluated.&#xA;&amp;hellip;Expected a value of type &amp;lsquo;String, Uri&amp;rsquo; but received a value of type &amp;lsquo;Null&amp;rsquo;.</description>
    </item>
    <item>
      <title>Build self-hosted runners in Azure - Part 2</title>
      <link>https://blog.eula.no/posts/github-runners-self-hosted-part-2/</link>
      <pubDate>Mon, 05 Aug 2024 09:43:22 +0200</pubDate>
      <guid>https://blog.eula.no/posts/github-runners-self-hosted-part-2/</guid>
      <description>This is part 2 about building container images for self-hosted runners in GitHub and deploying to Azure Container Apps. If you haven&amp;rsquo;t checked out part 1, do that first.&#xA;This post will be building upon the last setup, focusing on auto-scaling the Azure Container App and virtual network integration for the Azure Container Apps environment.&#xA;Why scale container apps Having container app replicas ready and warm makes workflow jobs start quickly since there isn&amp;rsquo;t any need for instances to initialize.</description>
    </item>
    <item>
      <title>Build self-hosted runners in Azure - Part 1</title>
      <link>https://blog.eula.no/posts/github-runners-self-hosted-part-1/</link>
      <pubDate>Fri, 02 Aug 2024 10:56:27 +0200</pubDate>
      <guid>https://blog.eula.no/posts/github-runners-self-hosted-part-1/</guid>
      <description>Why self-hosted runners GitHub-hosted runners are great! They come in a variety OS and release versions, and with a bunch of preinstalled software. However self-hosted runners allows for more flexibility when you require something different, such as:&#xA;beefier hardware longer workflow runs other OS private vnet access While GitHub-hosted runners are hosted on virtual machines, self-hosted runners can run from both on-prem and in a cloud, inside of a virtual machine or in a container.</description>
    </item>
    <item>
      <title>Batman</title>
      <link>https://blog.eula.no/posts/batman/</link>
      <pubDate>Thu, 01 Aug 2024 12:00:00 +0200</pubDate>
      <guid>https://blog.eula.no/posts/batman/</guid>
      <description>mkdir eula.blog.no cd eula.blog.no blog init . firefox eula.blog.no Hello world and welcome! My name is Eskil, I live in Norway and work as an cloud &amp;amp; devops engineer.&#xA;You migt be wondering &amp;ldquo;what is up with the post title?&amp;rdquo;. Well this will be the first post and it won&amp;rsquo;t have any parents&amp;hellip; and since Batman also is an orphan, I&amp;rsquo;ve decided to name the post after him!</description>
    </item>
  </channel>
</rss>
