Weekly DevOps Roundup: Foundry Releases and Pipeline Security
Microsoft Foundry's Azure Developer CLI extension is generally available at version 1.0, letting teams reuse azure.yaml deployment definitions locally and in continuous integration and delivery pipelines, with remote builds that need no local container build. GitHub postponed default blocking of public-repository pull_request_target events to December 2, with November 9 and 16 brownouts giving maintainers an immediate reason to review workflows that can expose secrets to untrusted code. Azure SQL database watcher will block resource creation and configuration edits on November 9 ahead of retirement, while Database Hub adds public-preview alerts against managed telemetry without adding database query load. Azure Pipelines security guidance requires separate patch checks for selected Node.js tools, embedded agent runners, containers, and deployed applications, while Microsoft observed an agent-assisted attack reach Azure Key Vault data within five minutes of searching for exposed credentials. Across agent deployment and operations guidance, evaluation-based release gates, pinned versions, bounded permissions, and human approvals keep verification and release responsibility with application teams.
This Week's Overview
- Microsoft Foundry connects deployment, evaluation, and release operations
- Runtime security requires patching every execution layer
- Azure SQL monitoring moves to Database Hub
- GitHub updates repository storage and review surfaces
- GitHub Actions tightens event controls and runner isolation
- CodeQL expands language coverage and adjusts custom-query behavior
- GitHub brings coding sessions into Slack and Teams
- Dependabot extends agent-package and Python coverage
- Credential exposure demands revocation and narrower identity scope
- Agent-assisted engineering puts verification at the center
- Development-loop guidance distinguishes assistance from enforcement
- Enterprise agents retain human approval gates
- Product delivery examples keep tests and rollback limits visible
- Copilot Cowork pairs high change volume with isolation and replay tests
- Successful scripts can conceal costly or unsafe agent paths
- Operational agents need bounded tools and usable evidence
- PostgreSQL scaling separates connection pressure from read distribution
- Governance automation needs identity and resource context
- Other DevOps News
- Also relevant this week
- Dates to know
Microsoft Foundry connects deployment, evaluation, and release operations
Microsoft Foundry's Azure Developer CLI extension is now generally available, giving teams a shared deployment definition for local work and continuous integration and delivery (CI/CD). The accompanying operational guidance makes an important distinction: managed hosting supplies infrastructure controls, but applications still own authorization, external actions, and release correctness.
A generally available deployment bundle
The Microsoft Foundry extension bundle for Azure Developer CLI reaches version 1.0. Agent and deployment configuration lives in azure.yaml, so local workflows and CI/CD can reuse the same definition. Deployment uploads source to Foundry for a remote build without requiring a local container build.
The walkthrough requires Azure Developer CLI 1.37.0 or later, a current uv release, and Python 3.13 or later. The Evaluations extension generates datasets and grading rubrics, runs evaluations, and lets teams reuse those checks in pipelines.
Hosted-agent releases need explicit version control
The enterprise architecture guides describe hosted agents with dedicated identities, immutable versions, private networking, session sandboxes, and default OpenTelemetry tracing through hosting protocol libraries. Applications remain responsible for authorization, business effects, data handling, and evidence of correct end-to-end behavior. Several covered features remain in preview, lack a service-level agreement, and are not recommended for production workloads.
Release routing needs particular care: the default follows the latest version, so teams must pin the serving version before creating a release candidate. The endpoint selector sends all traffic to one version, while existing sessions remain bound to their original version. Concurrent session quotas are shared across accounts and projects within a subscription and region, and configuring both Application Insights and an OTLP telemetry destination sends data to both independently.
- Global enterprise multi-agent systems in production: Design and security (Part 1)
- Global enterprise multi-agent systems in production: Release and operations (Part 2)
Evaluation failures should block promotion
Agent Optimizer is in preview and searches instructions, skills, tool descriptions, and approved model deployments. The closed-loop evaluation workflow turns production traces into versioned datasets, with MinHash sampling and private-content redaction enabled by default. Training and validation data stay separate from a held-out regression suite used for release gating.
Missing evaluation records and failed evaluator jobs block release alongside quality regressions and critical tool failures. Hosted-agent optimization requires the Responses protocol and subscription allow-list access, and evaluations invoke hosted tools for real. Rollback needs session handling too: candidate sessions stay on that version until explicitly stopped or allowed to drain.
The broader reliability checklist recommends evaluating accuracy, groundedness, task completion, tool selection, safety, and consistency before deployment. It pairs Application Insights monitoring with restricted tool access, input validation, prompt injection protection, human approval for sensitive operations, timeout handling, and a rollback strategy.
- Improve production agents with closed-loop evaluations in Microsoft Foundry
- Build Reliable AI Agents with Monitoring, Tool Integration, and Responsible AI in Microsoft Foundry
Resilience still requires application checkpoints
Foundry's October update records the Microsoft Copilot harness entering public preview on October 28 and hosted-agent long-running resilience reaching general availability that day. Existing agents cannot switch to the harness after creation, and applications still need checkpoints and idempotent handling of external actions. Browser Automation reached general availability on October 19 through a Toolbox remote Model Context Protocol (MCP) endpoint connected to a separately provisioned Playwright Workspace.
A newsroom implementation illustrates that division of work: Copilot Harness handles research and editing, while Hosted code calls external APIs, validates results, synthesizes audio, and publishes outputs. Completed evidence, scripts, audio files, and status are checkpointed in private Blob storage so interrupted tasks can reuse completed work. Permission failures when creating editorial conversations were resolved by assigning Foundry User at project scope to the Hosted service's calling instance identity.
- What’s new in Microsoft Foundry | October 2026
- From Writing Scripts to Running a Newsroom: A 24-Hour News Station with Microsoft Copilot Harness
Memory and gateway controls have distinct boundaries
The governed-memory design derives scope from authenticated, tenant-qualified identity and separates retrieval authorization from permission to write memories. Foundry Agent Service supports profile, chat-summary, and procedural memory, item-level management, default time-to-live settings, and direct remember-or-forget operations. Current preview documentation states that memory stores do not support virtual network integration, and the guide recommends keeping production writes disabled until staging tests demonstrate isolation, deletion, redaction, prohibited-data rejection, and rollback.
A Claude Code gateway needs quota and accounting checks
CCOF is the author's implementation, not a Microsoft product, and routes Claude Code requests through Azure API Management to Foundry. The gateway validates tenant, audience, client application, and delegated scope, while managed identities authenticate backend calls. Its deployment stages end with authentication, model-permission, and accounting tests.
The design does not remove platform constraints: same-subscription Foundry accounts share model quota pools, and the API Management and Function Apps stack remains single-region. Displayed spend is a lower bound rather than a strict invoice cap because reconciliation is delayed and some token categories remain unknown.
Runtime security requires patching every execution layer
The runtime advisories distinguish patching a pipeline's selected tools from servicing embedded runners, containers, and deployed applications. The PHP incident adds a separate operational concern: exploit disclosure can precede an official patch.
Azure Pipelines guidance separates Node.js selection from agent servicing
Node.js released fixes for 10 vulnerabilities on October 21, 2026, in versions 22.23.4, 24.22.1, and 26.12.1. Azure Pipelines agent v5.281.1 includes Node24 version 24.22.1, but not every platform package contains that runner. Teams need to verify the package they actually deploy rather than treating the agent version alone as proof of coverage.
UseNode@1 and NodeTool@0 default checkLatest to false, so broad version ranges can select older cached patches. Pipeline Node.js selection changes PATH, not embedded agent task runners, and containers and deployed applications require separate servicing. For the Brotli advisory, the fixed .NET runtime baselines are 8.0.33, 9.0.22, and 10.0.14, while .NET Framework is unaffected.
PHP exploit disclosure creates an emergency response window
AI-assisted security researchers demonstrated that two unconfirmed PHP bugs could lead to arbitrary remote code execution. The FBI issued an urgent advisory warning organizations to patch or take affected servers offline, and exploit details leaked before an official patch was deployed. Maintainers opened an emergency pull request on the official PHP Docker image, drawing more than 500 GitHub comments.
The account does not identify a fixed PHP version or a verified replacement image. Operators should not infer a remediation baseline from the emergency pull request alone.
Azure SQL monitoring moves to Database Hub
Azure SQL's monitoring retirement comes with an immediate configuration deadline, while Database Hub gains preview alerting. Separate troubleshooting guides focus on distinguishing service events, application recovery, database waits, and cleanup backlogs.
Database watcher changes stop before retirement
Database watcher for Azure SQL Database and Azure SQL Managed Instance will retire on April 30, 2027, without reaching general availability. Creating new watcher resources and editing existing ones will be blocked starting November 9, 2026. Teams still relying on watcher configuration changes need to account for that earlier deadline.
Database Hub monitors databases in their existing environments without requiring a separate monitoring data store, and access does not require Fabric capacity. Custom dashboards and Activator alerts can have separate capacity or licensing requirements. Retirement will not deprovision Azure Data Explorer or Fabric Eventhouse resources, delete historical data, or automatically stop associated charges, so migration also requires an explicit resource and billing review.
Preview alerts query managed telemetry, not databases
Database Hub alerts for Azure SQL Database are in public preview, powered by Fabric Activator. Users can create alerts from templates or Performance charts, with chart alerts also covering SQL Server on Azure VMs and Azure Arc. Activator queries a Microsoft-managed telemetry store, requiring no additional database credentials and adding no database query load.
Database Hub is free, but alert rules consume their Fabric workspace's capacity. CPU telemetry is collected every 10 to 15 seconds, while alert queries can run as often as every minute.
Application recovery can outlast a disconnect
Many Azure SQL reconfiguration events complete in less than 60 seconds, but applications can take longer to recover. The sys.database_connection_stats view aggregates connectivity results in five-minute intervals, and complete information can take up to 24 hours to appear, limiting its usefulness for immediate diagnosis.
Microsoft.Data.SqlClient supports configurable connection and command retries in version 3.0 and later. The example allows one initial attempt and four retries with randomized jitter and a 20-second maximum individual delay. If a transient failure invalidates an active transaction, the guidance is to retry the entire transaction rather than only the failed statement.
Pipeline regressions may be database waits
High elapsed time with little CPU consumption can indicate waiting rather than expensive SQL execution. Azure SQL dynamic management views expose active requests, blocking, SQL text, and memory grants, with a NULL grant_time in sys.dm_exec_query_memory_grants identifying a request still waiting for its grant. Query Store helps compare historical plans and runtime intervals, while the guide cautions that changing pipeline concurrency changes database demand even when procedures and database configuration stay unchanged.
Change Tracking cleanup needs supported diagnostics
Change Tracking consumers must validate saved synchronization versions against CHANGE_TRACKING_MIN_VALID_VERSION before requesting changes with CHANGETABLE. Repeated version and storage measurements help distinguish cleanup that is progressing from a persistent backlog. The playbook warns against deleting internal-table rows, changing internal schemas, or adding unsupported indexes, and recommends collecting configuration, version progression, storage trends, workload history, and consumer status before escalation.
GitHub updates repository storage and review surfaces
GitHub's repository changes span the storage architecture behind concurrent writes and the pages maintainers use to review and document work. The storage redesign remains in limited private preview, while the pull request Overview is an opt-in public preview.
Git storage separates durable data from serving and compaction
GitHub's new Git architecture sustained 5,000 concurrent agents and 7,200 pushes per second to one repository in internal testing while maintaining consistently low read latency. Azure Blob Storage holds Git objects, while Ref-CAS stores references and the repository's pack manifest. Ref-CAS locks only references touched by a transaction and supports tens of thousands of reference-state operations per second.
Dedicated compaction nodes maintain packs independently of the virtual replicas serving reads and writes. That separation lets maintenance work operate independently of request-serving nodes, but the reported throughput remains an internal test result rather than a general availability guarantee. A broader rollout is planned for early next year.
Pull request readiness moves to the top
The new pull request Overview places merge status and next available actions in a compact readiness summary at the top of the page. Its redesigned merge box presents the same information in less than half the space, while comment controls filter unresolved conversations or the user's own comments and support newest-first sorting. Users can opt in through “Try the Overview page” and return to the classic overview through the same menu.
Accessibility statements become repository metadata
GitHub now recognizes ACCESSIBILITY.md in repository roots, .github, or docs directories and displays statements on repository overview pages. Repositories can inherit an organization's statement, and public maintainers can use a starter document through Insights > Community Standards. New repositories include an accessibility issue label, but a stated accessibility target is not verified conformance without an evaluation identifying scope, date, method, and evaluator.
GitHub Actions tightens event controls and runner isolation
GitHub Actions has a revised enforcement date for a sensitive pull request trigger. Implementation guides complement that policy change with one-job runners and more selective scheduled builds.
Public repositories face trigger brownouts before December enforcement
GitHub Actions will block pull_request_target events by default in public repositories starting December 2, 2026, unless an applicable Actions event policy explicitly allows them. Permanent enforcement was previously scheduled for November 2. Brownouts occur on November 9 and November 16 from 16:00-18:00 UTC, when blocked workflows create failed runs without executing.
The change affects public repositories on GitHub Free, Team, and Enterprise Cloud, but not private or internal repositories or GitHub Enterprise Server. Because pull_request_target can access base repository secrets, executing untrusted fork code through that trigger risks pipeline compromise and secret theft. Maintainers should review both the event policy and the code their workflow executes rather than treating an explicit allowance as a security fix.
Ephemeral runners separate registration from deployment identity
The Azure Container Apps design uses KEDA to start event-job executions for matching queued workflows, with minimum executions set to zero. Each repository-scoped ephemeral runner processes one workflow, deregisters, and exits. A user-assigned managed identity retrieves GitHub App credentials through a Key Vault private endpoint with public network access disabled.
Deployment uses GitHub OpenID Connect (OIDC) and a separate Microsoft Entra identity with Azure role-based access control restricting deployment scope. Installing tools at runtime avoids a dedicated Azure Container Registry, but increases cold-start latency and dependence on external download endpoints.
Scheduled publishing trades duplicate builds for missed-run tolerance
A static-site workflow checks publication dates, skips drafts, and calls a Netlify build hook only when needed. Its two-day window tolerates one missed daily run but triggers two builds per published post, while manual workflow_dispatch runs always build. The guide notes that scheduled workflows can be delayed or dropped and that public repository schedules are disabled after 60 days without repository activity.
CodeQL expands language coverage and adjusts custom-query behavior
CodeQL 2.27.3 adds language and modeling capabilities, followed by accuracy and packaging changes in 2.27.4. Updates deploy automatically to github.com code scanning, and both releases' functionality will be included in GitHub Enterprise Server 3.24.
Version 2.27.3 adds syntax support and an opt-in AI threat model
CodeQL 2.27.3 supports Python 3.15 syntax and builtins, JSON data extensions, and C23 bit-precise integers. Its opt-in ai threat model covers data generated by large language models but includes no built-in source models, so users must define sources through data extensions. Enabling the model alone does not supply those definitions.
GitHub Actions analysis now uses the shared control-flow graph library and removes legacy Completion classes, which may require custom query updates. C# analysis adds positional-pattern data flow support and passes proxy and certificate environment variables to NuGet for private registries.
Version 2.27.4 reduces false positives and protects structured output
CodeQL 2.27.4 expands Java/Kotlin sanitizer recognition, reduces false positives in Rust and C/C++ queries, and removes CWE-730 metadata from specified queries across several languages. The CLI sends JVM warnings and initialization errors to standard error to preserve machine-readable output. Pack bundling and publishing now warn about and omit files whose resolved symbolic links point outside the pack root.
GitHub brings coding sessions into Slack and Teams
@GitHub in Slack and Teams is generally available, allowing developers to investigate bugs, create issues, implement changes, and open pull requests from conversations. It can identify the repository from a message without repeated selection, and generated issues and pull requests record the originating conversation and username. Teams Canvas keeps implementation plans, file changes, associated pull requests, previews, and Copilot progress alongside the discussion.
The GitHub Teams app combines repository notifications and Copilot, with multi-repository support and MCP connections to development tools and services. Guided web onboarding connects accounts and grants organization and repository access, but administrators still need to enable resource-specific consent, allow the app, configure required GitHub capabilities and billing, and assign Copilot licenses.
A companion session demonstrates carrying context between tasks across the Copilot app, CLI, Visual Studio Code, JetBrains, mobile, web, and Slack. Its focus is choosing tools, models, and workflows while retaining control over speed and cost.
- @GitHub in Slack and Teams is generally available and more
- GitHub App in Microsoft Teams Is Now Generally Available: Features, Benefits, and How to Get Started
- Work together, your way, with GitHub Copilot
Dependabot extends agent-package and Python coverage
Dependabot adds support for Agent Package Manager dependencies and Python 3.15 projects. Both updates are available on github.com and will be included in GitHub Enterprise Server 3.24.
Agent Package Manager support covers version updates
Dependabot can open pull requests for supported Git dependencies declared in apm.yml and regenerate apm.lock.yaml when present. Configuration requires an apm entry in .github/dependabot.yml, the directory containing apm.yml, and an update schedule. The generally available feature covers version updates, not security updates, so teams should not treat it as vulnerability remediation coverage.
Python 3.15 projects retain dependency updates
Projects can upgrade to Python 3.15 while continuing to receive Dependabot updates. Support is available to all github.com users, with GitHub Enterprise Server support arriving in 3.24.
Credential exposure demands revocation and narrower identity scope
Microsoft's observations show attackers using agents to move from public secrets to cloud data access within minutes. Related identity updates reduce reliance on shared registry secrets and shorten the lifetime of eligible desktop authentication tokens.
Agent-assisted attacks move quickly from discovery to exfiltration
Microsoft observed an AI agent progress from searching GitHub for client secrets to exfiltrating Azure Key Vault data in five minutes. Since August 2026, threat actors have used an agentic AI framework to submit large volumes of GitHub queries for secrets. As early as October 28, compromised application credentials enabled service principal sign-ins across multiple tenants, including downstream tenants of vendor-owned applications.
The cloud requests showed adaptive troubleshooting, with failed calls followed by API version or HTTP method changes and successful responses. Microsoft recommends immediately revoking or rotating exposed credentials because deleting the public disclosure does not invalidate them. The vendor-application observations also make downstream tenant exposure part of the incident review, not just the tenant where the credential originated.
Connected Registry previews managed identity synchronization
A private preview enables user-assigned managed identity authentication for Connected Registry synchronization on Azure Arc-enabled Kubernetes distributions supporting Azure Workload Identity. It requires subscription approval and a Premium parent registry with attribute-based access control (ABAC) repository permissions and a dedicated data endpoint. Repository scope comes from role assignments with ABAC conditions, and permissions across assignments are additive.
Scope changes require az acr connected-registry resync, while narrowing permissions does not remove previously synchronized artifacts. Migration from eligible sync-token deployments is one-way, requires an offline maintenance window, and leaves the managed identity binding unchangeable.
GitHub Desktop introduces automatically refreshing tokens
Eligible accounts signing in to GitHub Desktop 3.6.10 or later can receive short-lived tokens that refresh automatically for API requests and Git operations. The gradual rollout covers github.com, including GitHub Enterprise Cloud, but excludes GitHub Enterprise Server. Existing sessions remain signed in after upgrading, and existing tokens are not automatically migrated, so an upgrade alone does not establish use of the shorter-lived credentials.
Agent-assisted engineering puts verification at the center
The development guides and case studies describe agents working beyond code generation, including planning, testing, review, and deployment. Their practical common ground is explicit verification, with people retaining responsibility for what ships.
Development-loop guidance distinguishes assistance from enforcement
GitHub's engineering guide organizes agent-assisted work into Plan, Build, Verify, and Observe. Sessions can continue across clients, cloud sandboxes can run tasks independently of a developer's machine, and Copilot Dreaming reviews eligible sessions and pull request feedback to update memories and propose instruction or skill changes. Agent Merge can address failed checks, review comments, and conflicts, and merge when configured verification steps pass.
The Universe session with Mario Rodriguez and Evan Boyle similarly frames developers as defining outcomes and standards while agents plan, review, secure, and deploy. The accompanying recaps add operational limits: Copilot Projects is in public preview, cloud Automations require an eligible paid plan and a private or internal repository, and they consume AI credits and GitHub Actions usage.
Security features need separate configuration and expectation checks. GitHub package firewall is in public preview for npm, AI push protection for unstructured secrets requires security entitlement and enabled settings and consumes AI credits, and AI Scan pull request findings are advisory rather than enforceable merge requirements through a ruleset. Copilot Fusion's Single, Cascade, and Critique patterns bill for the models used while respecting administrator model policies.
- Beyond code generation: A developer’s guide to agentic engineering
- Humans set direction. Agents close the loop.
- GitHub Universe 2026: Announcements, Sessions, and My Technical Takeaways
- GitHub Universe 2026: My recap from San Francisco
Enterprise agents retain human approval gates
Levi Strauss & Co. built a software development lifecycle around 17 specialized agents on GitHub Copilot's custom agents platform. They handle requirements, specifications, testing, security scanning, accessibility validation, and deployment, with MCP connections to Jira, Confluence, and New Relic. Each pull request receives review from 5 to 11 independent agents that can fix issues and commit changes, while strict human approval gates remain in place.
Product delivery examples keep tests and rollback limits visible
Bartolesi's workflow stores product requirements in the repository, uses Copilot CLI for implementation, and retains a final human pull request review after Claude Code review. His examples include Playwright CI against a real SQL Server database with failure traces and screenshots, same-repository pull request previews on Azure Static Web Apps, and versioned package deployment to Azure App Service using OIDC. The release guidance explicitly notes that rolling back application code does not reverse database migrations.
Copilot Cowork pairs high change volume with isolation and replay tests
Nine engineers merged 1,211 pull requests into the Copilot Cowork backend main branch on October 21. The agent container holds no user credentials, while a trusted host controls identity, policy, approvals, tool execution, and audit. Critical changes require at least one human check in addition to agentic review.
About 430 generated fixtures record Python behavior for exact replay in Rust tests. First-turn median time to first token fell from 7.9 to 2.7 seconds, though moving the agent loop also contributed, so the improvement should not be attributed solely to the language migration.
Successful scripts can conceal costly or unsafe agent paths
Five GitHub Copilot Chat runs using Claude Sonnet 5.5 without extensions produced working CI scripts, but their trajectories exposed 15 problems. Each run took 29 to 39 requests and consumed up to 1.2 million tokens, and all five read Dev Proxy's plugin DLL as raw bytes to discover class names. Three scripts would reroute all Windows CI runner traffic through Dev Proxy and skip cleanup in their kill fallback.
The recommendation is to fix product interfaces and documentation before packaging agent skills. Teams should then compare both task quality and cost with and without those fixes, rather than judging the final script alone.
Operational agents need bounded tools and usable evidence
The operational examples give agents access to pipeline evidence, server telemetry, and reusable skills without making them the final authority over infrastructure changes. Read-only investigation and explicit approval boundaries recur across the implementations.
Pipeline tools preserve Azure DevOps approval authority
A Python MCP server exposes four tools for listing runs, inspecting status, checking release evidence, and optionally queueing an Azure DevOps pipeline. Queueing is disabled by default and requires explicit confirmation and allow-listed parameters when enabled. The evidence tool checks for build-summary, image-validation, security-scan, and promotion-record artifacts.
Visual Studio Code starts the local server through workspace MCP configuration and exposes the tools in Copilot Chat. Azure DevOps approvals and permissions remain authoritative, with production guidance recommending least privilege and separate read and queue permissions.
Reader-only IIS triage depends on collected telemetry
The Azure SRE Agent guide investigates Azure control-plane signals and collected Log Analytics data without running guest commands or changing the server. Its starter collection rule includes IIS logs, selected Windows and configuration audit events, file-audit Event 4663, and eight performance counters. The guide recommends 60-second counter sampling and narrowly scoped file auditing, while its triage skill requires timestamped evidence and checks that the necessary telemetry is actually available.
Azure plugins separate specialized operations
The Azure plugin catalog now includes six specialized plugins alongside the core Azure plugin. Cost analysis has moved from the core plugin to Azure Cost, which users must install to retain that capability. AKS Skills begins troubleshooting with evidence collection and requires explicit approval for resource changes and packet captures, while Foundry IQ Skills creates, connects, queries, and troubleshoots Azure AI Search knowledge bases.
NuGet packages can carry agent instructions
NuGet-delivered skills use SKILL.md, with Markdown content and a YAML header, and dotnet restore downloads them alongside package binaries. project.assets.json lists available skill files, dotnet-inspect discovers them, and dotnet-package-skills copies them into repositories for persistent availability. NuGet MCP does not yet support skills, and the team warns that agent consumption of package Markdown introduces a new threat vector that needs evaluation.
PostgreSQL scaling separates connection pressure from read distribution
Azure PostgreSQL guidance distinguishes pooling, read replication, and middleware routing rather than treating them as interchangeable fixes. A production migration provides concrete results from connection pooling and tuning.
Pooling and replicas solve different bottlenecks
PgBouncer is built into Azure Database for PostgreSQL Flexible Server and reduces connection churn through pooling. Read replicas scale reads rather than writes, and asynchronous replication requires applications to tolerate lag. Virtual endpoints provide stable connection points, but the read-only endpoint targets one server rather than distributing traffic across replicas.
The routing walkthrough uses Pgpool-II 4.7.2 on Ubuntu 24.04.4 to send writes to the primary and eligible reads to replicas. A single Pgpool-II VM remains a single point of failure, and customers own middleware patching, monitoring, security, and recovery.
Migration preparation supports a growing production estate
Wolters Kluwer's PostgreSQL data grew from about 6 TB in early 2026 to nearly 10 TB by September. After about three months of design, cleanup, and testing, the team used pgcopydb to migrate roughly 6.4 TB over a weekend. Adding PgBouncer reduced physical connections to close to one-sixth of their previous level.
After migration and tuning, average statement execution time stabilized below 20 milliseconds and peak memory stayed below 80%. Production runs across six nodes, with Terraform provisioning smaller environments and a Citus Docker container supporting local work.
Governance automation needs identity and resource context
Azure Policy and GitHub administration guidance address different parts of governance: who can act, who still belongs, and where usage is assigned. Each exposes constraints that automation needs to preserve.
Azure Policy can evaluate the caller
Azure Policy's requestContext().identity exposes caller claims including identity type, client application ID, authentication context, and object ID. The denyAction effect currently supports only DELETE, allowing policies to block manual deletion while permitting applications. Assignment-level resource selectors, overrides, and enforcement mode support progressive rollout and rollback without changing definitions.
Identity-based exemptions recently became generally available with userPrincipalId and groupPrincipalId selectors. Creating one requires both write permission and exempt/Action permission on the target assignment.
Enterprise membership cleanup sits outside organization provisioning
Organization-level SCIM provisioning does not manage enterprise membership, so unaffiliated GitHub Enterprise Cloud members need separate cleanup. The PowerShell 7 script uses GitHub CLI authenticated as an enterprise owner with admin:enterprise and read:user scopes, and its removal mutation requires the underlying User ID rather than the EnterpriseUserAccount ID. It supports dry runs and preserves enterprise team members, Copilot seat holders, and explicitly protected accounts.
The mutation is unsupported for Enterprise Managed Users and ghe.com enterprises. Those users must be managed through the identity provider instead.
Cost-center lookup becomes available through the API
A new GitHub REST API endpoint retrieves cost-center membership for users, organizations, repositories, and enterprise teams, returning an empty memberships array when none exists. Enterprise owners, billing managers, and appropriately authorized GitHub Apps can query any enterprise resource, while organization owners and custom-role users remain limited to resources and cost centers they can already see.
Other DevOps News
A self-updating retrieval-augmented generation (RAG) design uses Azure Cosmos DB as authoritative lifecycle metadata and Azure AI Search as the retrieval index, with conditional version updates preventing delayed jobs from activating stale documents. Logical deletion must stop retrieval before physical cleanup, while a transactional outbox coordinates lifecycle changes with reliable background-job publication and conventional workers handle deterministic operations.
Azure Databricks environment variables remain in Beta for serverless Lakeflow Jobs: entries are defined at job level, selected explicitly per task, and do not inherit from one another. Inline values override files, user-defined functions cannot read these variables, and secret references resolve through the job's Run as identity with only best-effort log redaction.
Azure Failure Prediction and Detection has operated automatically across the fleet since 2024, with reported reductions in hardware reboots of more than 36% and an 80% increase in monthly node repair rate. Findings surface through Resource Health, Resource Graph, Event Grid, and Scheduled Events, and automation should handle NotBefore times up to seven days ahead rather than assuming every event is imminent.
The free, public, read-only pghacker-mcp server exposes 17 tools connecting PostgreSQL source history and mailing-list discussions. Its temporal index stores 105,000 commits as 24 million line versions in 6.5 GB with indexes, and the author reports matching GNU grep output for 7,254 replayed commands.
An Azure Kubernetes Service walkthrough connects Azure Front Door Premium to Traefik through Private Link and an internal load balancer, using Traefik Helm chart 41.6.0 with two replicas on a user node pool. Front Door and Traefik terminate separate HTTPS connections, so validation covers certificates, Private Link approval, pod placement, service endpoints, routing, and end-to-end connectivity.
Azure Local planning guidance highlights decisions that cannot be revised in place: subscription or resource-group placement changes require redeployment, and infrastructure DNS settings cannot change after deployment. Each release is supported for six months, individual out-of-band component updates are unsupported, and Azure Arc extension deployment permissions deserve close control because they permit Local System or root code execution.
An Azure Container Registry cleanup proposal combines a 90-day soft-delete window with 30-day retention for untagged manifests and a dry-run purge targeting images older than 60 days while keeping five tags. It recommends checking Microsoft Defender for Containers findings before scheduling a validated purge, and notes that soft-deleted data continues to count toward storage until its retention window expires.
The Logic Apps newsletter covers a public preview CLI extension for local Standard projects and automation of Foundry Prompt Agents and Hosted Agents with branching, retries, timeouts, parallel execution, and run history. A community example exposes workflows through OpenAPI tools using managed identity and Microsoft Entra authorization.
Arnis, which converts OpenStreetMap data into Minecraft worlds, has reached close to 900,000 GitHub downloads and about 70 contributors. Its maintainer uses Copilot for issue investigation, performance reviews, and regression-test suggestions, providing a concrete example of agent assistance in an established open-source project.
Martin Woodward's side-project examples include a microcontroller-powered, 3D-printed pumpkin that changes color as GitHub Actions credits drain and animates when they renew. His accompanying learning advice is to timebox experiments, get something working, and ship before perfectionism takes over.
- A 3D printed pumpkin that tracks your GitHub Actions credits
- Give yourself permission to play: how to learn with side projects
Visual Studio Code's 1.146 Insiders notes remain a developing record, and the November 3 entry contains a placeholder rather than a specific feature announcement. A separate demonstration shows preserving context when switching between the editor and Agents Window.
- Visual Studio Code 1.146 (Insiders)
- 💻 Move Between the Editor and Agents Window Without Losing Context! #vscode
A Windows workstation guide recommends keeping WSL 2 projects in the Linux filesystem rather than mounted Windows directories and using Visual Studio Code's WSL extension to run terminals and dependencies in Linux. It combines winget-based tool maintenance with workstation controls including Microsoft Defender, Windows Hello, BitLocker, protected SSH keys, and limited administrator privileges.
Also relevant this week
- Give your coding agent a head start with Microsoft Agent Framework skills for .NET and Python: Microsoft added installable Agent Framework builder skills for .NET and Python that provide development-time guidance rather than application runtime capabilities. Full story in the Artificial Intelligence roundup.
- Announcing flex nodes for AKS (preview) in Azure portal: Azure portal now supports creating AKS flex node pools and guided onboarding for supported Azure virtual machines and Azure Arc-enabled servers. Full story in the Azure roundup.
- Azure SQL Scaling Stuck? Investigating CDC and Transaction Log Pressure: CDC capture latency can delay log truncation, but a REPLICATION reuse wait does not prove CDC is blocking scaling. Full story in the Azure roundup.
- Lessons Learned #562: Measuring the Work Behind Statistics Updates in Azure SQL Database: Query Store can expose historical duration, CPU, and reads for StatMan statements when the relevant statements and runtime data were captured. Full story in the Azure roundup.
- When More vCores Aren’t the Fix: Diagnosing Azure SQL CPU and Compilation Storms: The workflow distinguishes execution CPU, compilation pressure, worker saturation, blocking, and I/O bottlenecks before recommending scaling or configuration changes. Full story in the Azure roundup.
- Why Did Our Azure Bill Change? Investigating Cloud Spend with Azure SRE Agent: The prototype combines Azure Cost Management billing data, Azure Resource Graph inventory, and Azure Advisor optimization recommendations. Full story in the Azure roundup.
- Understand the Copilot Studio app-building harness: The GitHub Copilot harness in Copilot Studio is an orchestration runtime, not the GitHub Copilot service. Full story in the Artificial Intelligence roundup.
- Designing Least-Privilege Tool Access for AI Agents with Microsoft Foundry: The guide enforces least privilege outside the model through identity, connection configuration, Azure RBAC, narrow tool contracts, and runtime policy. Full story in the Security roundup.
- Implementing Next Best Action (NBA) in Foundry with Microsoft-Decision-1: Microsoft Agent Framework coordinates three approaches against isolated copies of the same synthetic evidence retrieved from Azure AI Search. Full story in the Artificial Intelligence roundup.
- Security risk assessments include repository protection status: GitHub code security and secret risk assessments now show whether findings are in protected or unprotected repositories. Full story in the Security roundup.
- What can the GitHub Universe 2026 badge actually do?: The GitHub Universe 2026 badge doubles as a handheld gaming console loaded with retro games. Full story in the GitHub Copilot roundup.
- 🔎 Inherited a database you’ve never seen before? #vscode #postgresql: The video uses the PostgreSQL extension and GitHub Copilot Chat in Visual Studio Code to explore unfamiliar databases. Full story in the GitHub Copilot roundup.
- Security in 60 Seconds: Vulnerability Prioritization with Dependabot: Severity alone does not always identify which vulnerabilities matter most when teams face hundreds of alerts. Full story in the Security roundup.
- Secret scanning upgrades detectors, adds SpaceX as partner: SpaceX joined GitHub’s secret scanning partnership program, and GitHub now detects starlink_public_api_v2_secret. Full story in the Security roundup.
Dates to know
Deadlines
- 9 November 2026: Azure SQL Database Database watcher: Creating new watcher resources and editing existing watcher resources will be blocked. (Database watcher for Azure SQL is retiring: simplify your monitoring with Database Hub)
- 2 December 2026: GitHub Actions Workflow execution protections: Default blocking of pull_request_target events becomes permanent in public repositories unless explicitly allowed by an applicable Actions event policy. (pull_request_target blocked by default December 2)
- 30 April 2027: Azure SQL Database Database watcher: Database watcher stops collecting performance data, and stopped watcher resources cannot be restarted. (Database watcher for Azure SQL is retiring: simplify your monitoring with Database Hub)