<!DOCTYPE html><html lang="en"><head><meta http-equiv="Content-Type" content="text/html charset=UTF-8"><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><meta name="x-apple-disable-message-reformatting"><title>TLDR DevOps</title><meta name="color-scheme" content="light dark"><meta name="supported-color-schemes" content="light dark"><style type="text/css">
:root {
color-scheme: light dark; supported-color-schemes: light dark;
}
*,
*:after,
*:before {
-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
}
* {
-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
}
html,
body,
.document {
width: 100% !important; height: 100% !important; margin: 0; padding: 0;
}
body {
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
}
div[style*="margin: 16px 0"] {
margin: 0 !important;
}
table,
td {
mso-table-lspace: 0pt; mso-table-rspace: 0pt;
}
table {
border-spacing: 0; border-collapse: collapse; table-layout: fixed; margin: 0 auto;
}
img {
-ms-interpolation-mode: bicubic; max-width: 100%; border: 0;
}
*[x-apple-data-detectors] {
color: inherit !important; text-decoration: none !important;
}
.x-gmail-data-detectors,
.x-gmail-data-detectors *,
.aBn {
border-bottom: 0 !important; cursor: default !important;
}
.btn {
-webkit-transition: all 200ms ease; transition: all 200ms ease;
}
.btn:hover {
background-color: #f67575; border-color: #f67575;
}
* {
font-family: Arial, Helvetica, sans-serif; font-size: 18px;
}
@media screen and (max-width: 600px) {
.container {
width: 100%; margin: auto;
}
.stack {
display: block!important; width: 100%!important; max-width: 100%!important;
}
.btn {
display: block; width: 100%; text-align: center;
}
}
body,
p,
td,
tr,
.body,
table,
h1,
h2,
h3,
h4,
h5,
h6,
div,
span {
background-color: #FEFEFE !important; color: #010101 !important;
}
@media (prefers-color-scheme: dark) {
body,
p,
td,
tr,
.body,
table,
h1,
h2,
h3,
h4,
h5,
h6,
div,
span {
background-color: #27292D !important; color: #FEFEFE !important;
}
}
a {
color: inherit !important; text-decoration: underline !important;
}
</style><!--[if mso | ie]>
<style type="text/css">
a {
background-color: #FEFEFE !important; color: #010101 !important;
}
@media (prefers-color-scheme: dark) {
a {
background-color: #27292D !important; color: #FEFEFE !important;
}
}
</style>
<![endif]--></head><body class="">
<div style="display: none; max-height: 0px; overflow: hidden;">Apache Spark 4.1 introduces Spark Declarative Pipelines (SDP) for declarative data engineering and enables Real-Time Mode in Structured Streaming โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ </div>
<div style="display: none; max-height: 0px; overflow: hidden;">
<br>
</div>
<table align="center" class="document"><tbody><tr><td valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" class="container" width="600"><tbody><tr class="inner-body"><td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr class="header"><td bgcolor="" class="container">
<table width="100%"><tbody><tr><td class="container">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" style="margin-top: 0px;" width="100%"><tbody><tr><td style="padding: 0px;">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div style="text-align: center;">
<span style="margin-right: 0px;"><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Ftldr.tech%2Fdevops%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/FJ-wNAmjlYhEprKnV-tpdy61GM2fXHP7ey3_vlTemNc=439" rel="noopener noreferrer" target="_blank"><span>Sign Up</span></a>
|<span style="margin-right: 2px; margin-left: 2px;"><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fadvertise.tldr.tech%2F%3Futm_source=tldrdevops%26utm_medium=newsletter%26utm_campaign=advertisetopnav/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/qJtFxAtJ3WGZagl4mxFE-YAj9Hzm1ETQ1U1edeCk5UI=439" rel="noopener noreferrer" target="_blank"><span>Advertise</span></a></span>|<span style="margin-left: 2px;"><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fa.tldrnewsletter.com%2Fweb-version%3Fep=1%26lc=156bb4b0-84b7-11f0-bc2e-b90f05b5bd4b%26p=13b401a4-ed49-11f0-91e0-b93572017b6a%26pt=campaign%26t=1767961506%26s=5f357e3c04b89248ab96ebbb5a54322eee79c3188cad528876332e7f931b617d/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/SP4__CojWCJx5QbLsaTme_EDGOSwrHniuYtOBQAfpi8=439"><span>View Online</span></a></span>
<br>
</span></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="text-align: center;"><span data-darkreader-inline-color="" style="--darkreader-inline-color:#3db3ff; color: rgb(51, 175, 255) !important; font-size: 30px;">T</span><span style="font-size: 30px;"><span data-darkreader-inline-color="" style="color: rgb(232, 192, 96) !important; --darkreader-inline-color:#e8c163; font-size:30px;">L</span><span data-darkreader-inline-color="" style="color: rgb(101, 195, 173) !important; --darkreader-inline-color:#6ec7b2; font-size:30px;">D</span></span><span data-darkreader-inline-color="" style="--darkreader-inline-color:#dd6e6e; color: rgb(220, 107, 107) !important; font-size: 30px;">R</span>
<br>
</td></tr></tbody></table>
<br>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr id="together-with"><td align="center" height="20" style="vertical-align:middle !important;" valign="middle" width="100%"><strong style="vertical-align:middle !important; height: 100%;">Together With </strong>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.getunleash.io%2Flloyds-jan-2026-webinar%23Register%3Futm_source=newsletter%26utm_medium=referral%26utm_campaign=tldr/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/O2iG1oj5-DNbjnf6NugOYc-0riVYWYtZP2HNkBsx7v0=439"><img src="https://images.tldr.tech/unleash.png" valign="middle" style="vertical-align: middle !important; height: 100%;" alt="Unleash"></a></td></tr></tbody></table>
<table style="table-layout: fixed; width:100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;">
<div style="text-align: center;">
<h1><strong>TLDR DevOps <span id="date">2026-01-09</span></strong></h1>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width:100%;" width="100%"><tbody><tr id="sponsy-copy"><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.getunleash.io%2Flloyds-jan-2026-webinar%23Register%3Futm_source=newsletter%26utm_medium=referral%26utm_campaign=tldr/2/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/fcp-JigO_daJrIK2MBhLKOVR-KIoTxGM5djpVX69Dfk=439">
<span>
<strong>What happens when a 300-year-old bank goes all-in on feature flags? (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Lloyds Banking Group has been around since 1765. Now they're running one of the most ambitious digital transformations in UK banking โ with feature flags at the center of it.<p></p><p><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.getunleash.io%2Flloyds-jan-2026-webinar%23Register%3Futm_source=newsletter%26utm_medium=referral%26utm_campaign=tldr/3/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/gVp8wwYtPfz84WenN6y_SkMbPfrpmUsDVLDEdidDE3w=439" rel="noopener noreferrer nofollow" target="_blank"><span>In this live webinar</span></a>, Daniel Woollery (Head of Digital Services, Lloyds) shares how the bank scaled <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.getunleash.io%2Flloyds-jan-2026-webinar%23Register%3Futm_source=newsletter%26utm_medium=referral%26utm_campaign=tldr/4/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/QSOC92RWAhqxhJQMGRKv98oZerkVKYBSwZqV6rNw-_U=439" rel="noopener noreferrer nofollow" target="_blank"><span>FeatureOps</span></a> from scattered team experiments to an enterprise-wide platform. </p>
<p>๐ On the agenda: migrating hundreds of flags off legacy systems, building governance that <em>accelerates</em> delivery, and rolling out GenAI with feature-level risk controls.</p>
<p>๐ฐ๏ธ Webinar starts January 19 @ 10AM ET. <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.getunleash.io%2Flloyds-jan-2026-webinar%23Register%3Futm_source=newsletter%26utm_medium=referral%26utm_campaign=tldr/5/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/GQvm08gND6xI0XRxaN4b3uKWzzVtkUybHKsKGifG4Rg=439" rel="noopener noreferrer nofollow" target="_blank"><span>Save your spot</span></a>
</p>
</span></span></div>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr>
<tr bgcolor=""><td class="container">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td style="padding: 0px;">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">๐ฑ</span></div></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>News & Trends</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.devopsdigest.com%2Fred-hat-expands-collaboration-with-nvidia%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/IWwx0I81iL118Hicq4qhpGjmUSGYVV2h2dJWoF5x4YE=439">
<span>
<strong>Red Hat Expands Collaboration with NVIDIA (4 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Red Hat expanded its collaboration with NVIDIA to deliver Day 0 support for the NVIDIA Rubin platform across Red Hat Enterprise Linux, OpenShift, and Red Hat AI. The partnership targets rack-scale enterprise AI with optimized performance, security, and hybrid cloud consistency.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.databricks.com%2Fblog%2Fintroducing-apache-sparkr-41%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/sx2ItI5ayDu9XdaKxltizGe4TjDiObhXZd_lphnac0E=439">
<span>
<strong>Introducing Apache Sparkยฎ 4.1 (6 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Apache Spark 4.1 introduces Spark Declarative Pipelines (SDP) for a declarative data engineering approach, and enables Real-Time Mode in Structured Streaming to achieve single-digit millisecond latencies for stateless workloads. The update also delivers GA support for SQL Scripting, expands PySpark capabilities with Arrow integration, and enhances Spark Connect for machine learning.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fkubernetes.io%2Fblog%2F2026%2F01%2F07%2Fkubernetes-v1-35-csi-sa-tokens-secrets-field-beta%2F%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/j3tZuYlu1TLzqZSrm1ErI4UaZkXVqPBp0jq94Ay4ccA=439">
<span>
<strong>Kubernetes v1.35: A Better Way to Pass Service Account Tokens to CSI Drivers (4 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Kubernetes v1.35 introduces a beta opt-in solution for CSI drivers, enabling them to securely receive service account tokens through the `secrets` field in `NodePublishVolumeRequest` instead of the less secure `volume_context`. This addresses past logging vulnerabilities, such as CVE-2023-2878, by providing a safer, more consistent method for handling sensitive data.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">๐</span></div>
</div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>Opinions & Tutorials</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.unkey.com%2Fblog%2Fserverless-exit%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/TtZO5RsV4vwsreC9dpzhLTeogL4XqpQkSWzUfvUb2qY=439">
<span>
<strong>Why we're leaving serverless (5 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Unkey migrated from Cloudflare Workers to stateful Go servers, achieving 6x lower latency by eliminating external cache network requests and simplifying architecture from complex distributed pipelines to straightforward in-memory batching. The move enabled self-hosting and platform independence, improved developer experience, and reduced operational complexity.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.pcloadletter.dev%2Fblog%2Fcraftsmanship-is-dead%2F%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/A0cIJhefSaQELGx4SRuwby7S_X0YQ34zDLRIpatbQhc=439">
<span>
<strong>Software craftsmanship is dead (3 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Modern software development prioritizes rapid feature delivery and short-term impact metrics over long-term code quality and maintainability. Incentive structures, Agile backlog pressure, low deployment risk, and a lack of emphasis on craftsmanship have collectively contributed to declining code quality across organizations.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">๐งโ๐ป</span></div>
</div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>Resources & Tools</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fresolve.ai%2Fblog%2Frole-of-multi-agent-systems-AI-native-engineering%3Futm_source=tldr-devops%26utm_medium=3p-newsletter-1-9%26utm_campaign=ai-for-production-systems%26utm_id=ai-for-prod/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/StHo9fY8AfvPaTHpavLeHDxTtXKGmj_HfDAGjvjKjLE=439">
<span>
<strong>Making software engineers AI-native (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
AI-native engineering = <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fresolve.ai%2Fblog%2Frole-of-multi-agent-systems-AI-native-engineering%3Futm_source=tldr-devops%26utm_medium=3p-newsletter-1-9%26utm_campaign=ai-for-production-systems%26utm_id=ai-for-prod/2/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/3tfE6-hmp-TlNHIiVCmbxUXrWWMIAvpgPs5Nu7t1HyM=439" rel="noopener noreferrer nofollow" target="_blank"><span>engineers set the goals and agents perform the work</span></a>. When agents handle log analysis, metric correlation, and timeline reconstruction during an incident, engineers can shift their focus to architectural decisions and system design rather than tactical investigation.
<p></p>
<p>Download the <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fresolve.ai%2Fresources%2Febook%2Fai-for-production-systems%3Futm_source=tldr-devops%26utm_medium=3p-newsletter-1-9%26utm_campaign=ai-for-production-systems%26utm_id=ai-for-prod/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/tI_1qw_Q4a7UoLk_bT3z5BnmQ_GoGO7Uc7WEMETA-4o=439" rel="noopener noreferrer nofollow" target="_blank"><span>free AI for Prod ebook</span></a> to learn more about how AI is changing core engineering workflows.
</p>
</span></span></div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fgithub.com%2FDayuanJiang%2Fnext-ai-draw-io%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/i_eyS-gyNtka5CdNVlREPkUEesPEdJ_uT8hsJN6YCkE=439">
<span>
<strong>Next AI Draw.io (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Next AI Draw.io is an AI-powered Next.js web application that enables users to create, modify, and enhance draw.io diagrams using natural language commands and AI-assisted visualization. This tool supports various diagram types and recommends powerful models like Claude Sonnet 4.5 for optimal performance.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fgithub.com%2FFission-AI%2FOpenSpec%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/KI2qSszPGGwsBE0OX2mNBuibf7l9sSZISR1U-BuStBc=439">
<span>
<strong>OpenSpec (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
OpenSpec is a spec-driven development (SDD) framework for AI coding assistants that aims to align humans and AI by locking intent with a lightweight specification workflow before any code is written. The system provides deterministic, reviewable outputs, addressing the unpredictability of AI when requirements are confined to chat history.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">๐</span></div></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><strong><h1>Miscellaneous</h1></strong></div>
</div>
</td></tr></tbody></table>
<table bgcolor="" style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fgrafana.com%2Fblog%2Fimprove-service-reliability-and-ops-culture-with-grafana-cloud-service-center%2F%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/q0Hc7_dSDzNO0aSrsCe_rGUSxvKzvEYkO7Uma8sCTtA=439">
<span>
<strong>Improve service reliability and ops culture with Grafana Cloud Service Center (7 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Grafana Cloud's Service Center provides a unified hub for monitoring service reliability, performance trends, incidents, SLOs, alerts, and on-call rotations to prevent engineer burnout and improve operational culture. The feature centralizes scattered data into service pages that help teams make data-driven decisions about reliability improvements and workload balancing.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.pgedge.com%2Fblog%2Fpostgresql-18-returning-enhancements-a-game-changer-for-modern-applications%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/p3A_-CtViHQjOF4qyyKDMi6TLnty3d44Y4WmXogOchQ=439">
<span>
<strong>PostgreSQL 18 RETURNING Enhancements: A Game Changer for Modern Applications (7 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
PostgreSQL 18 significantly enhances the RETURNING clause by introducing OLD and NEW aliases across INSERT, UPDATE, DELETE, and MERGE, enabling developers to access before-and-after row values in a single atomic statement. This removes the need for triggers or extra queries, simplifies change tracking and auditing, and makes MERGE-based upserts far more powerful and maintainable.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fblog.cloudflare.com%2Fbgp-route-leak-venezuela%2F%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/vZrQlnuuTUKYTPRFRmR2fRj9pHNfIrDCxOCOVOiTQd0=439">
<span>
<strong>A closer look at a BGP anomaly in Venezuela (9 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
A routing leak in Venezuela on January 2, involving AS8048 (CANTV), was noted by a cybersecurity newsletter amid news of Nicolรกs Maduro's capture, initially suggesting potential malfeasance. However, Cloudflare Radar data showed eleven similar, likely accidental, Type 1 hairpin route leaks by CANTV since early December, indicating the issue stemmed from insufficient routing export and import policies rather than malicious intent.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">โก</span></div></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>Quick Links</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table bgcolor="" style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fblogs.perficient.com%2F2025%2F12%2F17%2Fdeploy-microservices-on-aks-using-github-actions%2F%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/QFdhSI8pbPslFhj6AV-rSLN7ro0oDTJBXgnNcst8YdI=439">
<span>
<strong>Deploy Microservices On AKS using GitHub Actions (2 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
GitHub Actions automates CI/CD pipelines for deploying microservices to Azure Kubernetes Service by building Docker images, pushing them to Azure Container Registry, and deploying to AKS clusters using kubectl.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.cncf.io%2Fblog%2F2026%2F01%2F07%2Fholmesgpt-agentic-troubleshooting-built-for-the-cloud-native-era%2F%3Futm_source=tldrdevops/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/OXIj55isWWU1mYrWhvuwiTzQc-FVheJoUZpXlgJOrhQ=439">
<span>
<strong>HolmesGPT: Agentic troubleshooting built for the cloud native era (2 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
HolmesGPT, an open-source AI troubleshooting agent for Kubernetes and cloud-native environments, was accepted as a CNCF Sandbox project in October.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="left" style="word-break: break-word; vertical-align: top; padding: 5px 10px;">
<p style="padding: 0; margin: 0; font-size: 22px; color: #000000; line-height: 1.6; font-weight: bold;">
Love TLDR? Tell your friends and get rewards!
</p>
</td></tr>
<tr><td class="container" style="padding: 0px 10px 15px;">
<div class="text-block">
Share your referral link below with friends to get free TLDR swag!
</div>
</td></tr>
<tr><td align="left" style="padding: 10px;">
<div class="text-block">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Frefer.tldr.tech%2Fb957c121%2F10/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/6tw9kupLkCh4ttGFSrDmjYneqv9AN0LOt6vFigq_XLM=439" style="color: #464ba4; text-decoration: underline;">https://refer.tldr.tech/b957c121/10</a>
</div>
</td></tr>
<tr></tr>
<tr><td align="left" style="padding:5px 10px;">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fhub.sparklp.co%2Fsub_87a3a5d479ea%2F10/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/M4h_bOiKiupS416TAE0cj5Yv52w1kb-QXM_Uqc3zSsY=439" style="font-size: 16px; line-height: 1.6; padding: 10px 0; display: inline-block; text-decoration: underline;"><span style="mso-text-raise:13pt; text-decoration: underline;">Track your referrals here.</span></a>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="left" style="word-break: break-word; vertical-align: top; padding: 5px 10px;">
<p style="padding: 0; margin: 0; font-size: 22px; color: #000000; line-height: 1.6; font-weight: bold;">
Want to advertise in TLDR? ๐ฐ
</p>
<div class="text-block" style="margin-top: 10px;">
If your company is interested in reaching an audience of devops professionals and decision makers, you may want to <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fadvertise.tldr.tech%2F%3Futm_source=tldrdevops%26utm_medium=newsletter%26utm_campaign=advertisecta/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/rPFeCq91VOa8y-49YOFiVSKDunaljoG1RI3DG3xDDcs=439"><strong><span>advertise with us</span></strong></a>.
</div>
<br>
<!-- New "Want to work at TLDR?" section -->
<p style="padding: 0; margin: 0; font-size: 22px; color: #000000; line-height: 1.6; font-weight: bold;">
Want to work at TLDR? ๐ผ
</p>
<div class="text-block" style="margin-top: 10px;">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fjobs.ashbyhq.com%2Ftldr.tech/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/0lfiqdLlhr5en_irGDRSqC2WmLNlKK9vZYDJrsKzWLA=439" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>Apply here</strong></a>,
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fjobs.ashbyhq.com%2Ftldr.tech%2Fc227b917-a6a4-40ce-8950-d3e165357871/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/NojFTZ1dob5za4BKV8T5JmXtp7UFrneV8S-L_EEHE5k=439" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>create your own role</strong></a> or send a friend's resume to <a href="mailto:jobs@tldr.tech" style="color: #0000EE; text-decoration: underline;">jobs@tldr.tech</a> and get $1k if we hire them! TLDR is one of <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.linkedin.com%2Ffeed%2Fupdate%2Furn:li:activity:7401699691039830016%2F/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/k8WzxM9nUl5ImipKbuiwOMaIggEHENU3qWGQGmqG884=439" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>Inc.'s Best Bootstrapped businesses</strong></a> of 2025.
</div>
<br>
<div class="text-block">
If you have any comments or feedback, just respond to this email!
<br>
<br> Thanks for reading,
<br>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.linkedin.com%2Fin%2Fkunaljaydesai%2F/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/idoarIEeP57nUT8DrENGgF6sq8IEJoBzG9syP7xQP1c=439"><span>Kunal Desai</span></a> & <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.linkedin.com%2Fin%2Fmartin-hauskrecht%2F/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/PJlUvRnDnNMJKzWUMGds6J1fYy83hYiddo0RCabJmPI=439"><span>Martin Hauskrecht</span></a>
<br>
<br>
</div>
<br>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block" id="testing-id">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Ftldr.tech%2Fdevops%2Fmanage%3Femail=silk.theater.56%2540fwdnl.com/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/nqLVbY1rpkUhvGI9f7jwrXrlVrrLaKS-fwaXGgSUwPA=439">Manage your subscriptions</a> to our other newsletters on tech, startups, and programming. Or if TLDR DevOps isn't for you, please <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fa.tldrnewsletter.com%2Funsubscribe%3Fep=1%26l=1c5ddf10-b6dc-11ed-a12f-33c00cd07e37%26lc=156bb4b0-84b7-11f0-bc2e-b90f05b5bd4b%26p=13b401a4-ed49-11f0-91e0-b93572017b6a%26pt=campaign%26pv=4%26spa=1767960076%26t=1767961506%26s=041868a339b1509e79e2079ca8da12f7bf319dbad1ae206ef63bef82659cea93/1/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/UZ1frldlZlULzZqPkT5MUWeLpCZH2Y8gigw1FP0YnEc=439">unsubscribe</a>.
<br>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
<img alt="" src="http://tracking.tldrnewsletter.com/CI0/0100019ba2b7b482-f8d48be3-a2c3-4874-94cc-5e7f9f90feaa-000000/8yimgJnOmOWLUqIG9XCl21lkYk56exq5HV3izwhZg0c=439" style="display: none; width: 1px; height: 1px;">
</body></html>