Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Deploying with GitHub Actions 1: Azure App Service with OIDC and Secretless Cloud Access
With OIDC, every job gets a signed, short-lived token from GitHub, and Azure verifies it against a federated credential and grants access without a client secret. id-token: write, sub claim formats, the July 2026 subject change with IDs, custom property claims, deploying to a staging slot, smoke testing and swapping; AWS and Google Cloud equivalents.
Azure Service Bus .NET SDK: Queues, Topics/Subscriptions, Sessions and ServiceBusProcessor
Register ServiceBusClient as a singleton with AddAzureClients, use managed identity instead of a connection string in Azure, run ServiceBusProcessor with AutoCompleteMessages=false and lock renewal, and use sessions for ordered work. Real emulator output: lock loss, three attempts hitting the DLQ in one second, filters, sessions, scheduled messages and duplicate detection.
Deployment Diagrams: Nodes, Artifacts, Execution Environments and a Docker/Azure Topology
A deployment diagram shows which nodes and execution environments the software runs on, which artifact is placed where, and over which protocol and port the nodes talk. In this post we draw the HR Portal's docker compose development environment and its Azure production topology, and build the «manifest» bridge between artifacts and components.