<!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;">DevOps transformed software development by proving that speed and quality can coexist, driving widespread adoption of automation β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β </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/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/mC85Rq7M2GWJ-BkUvqBqj57k2mZlvgTHNa-dZDUfTSA=432" 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/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/MRp1WfdNJ3G6M9pCL1Nf7aia65_eIEvhm69nDCzeY48=432" 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=21fa8324-c6ab-11f0-a236-bd33f735e4d6%26pt=campaign%26t=1763726752%26s=6fb448ab13e8d32e6f9deb0f6047999183acb7dfb1b96c98f36018be981bbfe4/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/bHEIQ7Vc6Fe_30QRxSk2a10BnLc8aJfbwwdqz16b42Y=432"><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.wiz.io%2Flp%2Fsecrets-security-cheat-sheet%3Futm_source=tldr-devops%26utm_medium=paid-email%26utm_campaign=FY26Q3_INB_FORM_Secret-Security-Sprawl-to-Control%26sfcid=701Py00000T0tF9IAJ%26utm_term=FY26Q4-tldr-devops-nl%26utm_content=Secrets-Security/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/VpkDZJrrf2lqY37sM_T_sHMsoAAXVGSZZwKgJPWD2gg=432"><img src="https://images.tldr.tech/wiz50.png" valign="middle" style="vertical-align: middle !important; height: 100%;" alt="Wiz"></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">2025-11-21</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.wiz.io%2Flp%2Fsecrets-security-cheat-sheet%3Futm_source=tldr-devops%26utm_medium=paid-email%26utm_campaign=FY26Q3_INB_FORM_Secret-Security-Sprawl-to-Control%26sfcid=701Py00000T0tF9IAJ%26utm_term=FY26Q4-tldr-devops-nl%26utm_content=Secrets-Security/2/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/lY8txPPZxA7fGNncXCLXQTbx7n4x5lbSQcxsmm4Sys4=432">
<span>
<strong>Secrets Security Cheat Sheet: From Sprawl to Control (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Whether you're cleaning up old keys or setting guardrails for AI-generated code, <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.wiz.io%2Flp%2Fsecrets-security-cheat-sheet%3Futm_source=tldr-devops%26utm_medium=paid-email%26utm_campaign=FY26Q3_INB_FORM_Secret-Security-Sprawl-to-Control%26sfcid=701Py00000T0tF9IAJ%26utm_term=FY26Q4-tldr-devops-nl%26utm_content=Secrets-Security/3/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/5m8CK3U-oeP8I66ta3gulY5QSlGdNTtCW_PhowcBDcI=432" rel="noopener noreferrer nofollow" target="_blank"><span>this guide</span></a> helps your team build securely from the start.
<p></p>
<p>You'll learn:</p>
<ul>
<li>7 best practices to discover, validate, and protect secrets across your SDLC</li>
<li>Real-world examples and ready-to-use GitHub + Gitleaks snippets</li>
<li>Tips for assigning ownership and fixing issues directly in code</li>
<li>Guidance to secure vaults without slowing developers down</li>
</ul>
<p>Cut through the noise, identify what matters, and build guardrails that prevent future leaks.</p>
<p><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.wiz.io%2Flp%2Fsecrets-security-cheat-sheet%3Futm_source=tldr-devops%26utm_medium=paid-email%26utm_campaign=FY26Q3_INB_FORM_Secret-Security-Sprawl-to-Control%26sfcid=701Py00000T0tF9IAJ%26utm_term=FY26Q4-tldr-devops-nl%26utm_content=Secrets-Security/4/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/fk__5yAy-GJl-l75h_Aw6ydUq5FxeAgRj3GwkAAJokk=432" rel="noopener noreferrer nofollow" target="_blank"><span>Get the cheat sheet</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%2Faws.amazon.com%2Fblogs%2Fnetworking-and-content-delivery%2Fintroducing-flat-rate-pricing-plans-with-no-overages%2F%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/7vSAE0L8KMx5EXrG73Lo0-IDhlr9memQNSmblyO9xnw=432">
<span>
<strong>Introducing flat-rate pricing plans with no overages (5 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Flat-rate pricing plans for website delivery and security with no overages are now available on Amazon CloudFront, combining global content delivery (CDN) with AWS services into monthly tiers of Free, Pro, Business, and Premium ($0 to $1,000/month). Each plan includes a CloudFront distribution with one domain. Accounts can have up to 100 plans total.
</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%2Faws.amazon.com%2Fblogs%2Faws%2Fmonitor-network-performance-and-traffic-across-your-eks-clusters-with-container-network-observability%2F%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/KTs1zvTWIRWjz7MTP7WAP66Y7lsl9v0NmWkgmXd_kcQ=432">
<span>
<strong>Monitor network performance and traffic across your EKS clusters with Container Network Observability (4 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Amazon EKS has announced Container Network Observability, a feature that helps users monitor network performance and traffic patterns within their Kubernetes deployments. The new tool provides enhanced visibility of workload traffic, performance insights into network flows, and features like service maps and flow tables for troubleshooting. Users can enable Container Network Observability for new or existing EKS clusters, with performance metrics, service maps, and flow tables enabled by Amazon CloudWatch Network Flow Monitor.
</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.devopsdigest.com%2Fthe-ai-gold-rush-is-forcing-us-to-relearn-a-decade-of-devops-lessons%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/UKjHW92zSGpP1DYftw1D2e6nkd3X22-MB_P_gO93kmk=432">
<span>
<strong>The AI Gold Rush Is Forcing Us to Relearn a Decade of DevOps Lessons (4 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
DevOps transformed software development by proving that speed and quality can coexist, driving widespread adoption of automation, continuous testing, and shared responsibility. The rise of AI is eroding this balance as leadership pressure for rapid deployment outpaces quality assurance, leaving most companies struggling with failures, skill gaps, and a culture of blame instead of building the infrastructure needed to sustain safe, high-velocity innovation.
</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%2Fplatformengineering.org%2Fblog%2Fhow-to-set-up-an-internal-developer-platform%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/_GMVojzj4qGO2mcRXIkT6zV07tWguH2pJVgEF7ekwGU=432">
<span>
<strong>How to set up an Internal Developer Platform: An implementation guide (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
This post outlines a four-phase framework for successfully implementing an Internal Developer Platform (IDP) within eight weeks that emphasizes an MVP-first approach to prove value quickly. Teams are guided to strategically select a pioneering team, implement self-service patterns, and avoid common pitfalls, focusing on the backend infrastructure before considering a portal. The framework includes an 8-week MVP, an 8-week Production Readiness Program, and an Adoption Program, with technical, business, and security tracks running in parallel.
</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%2Fwww.dash0.com%2Flp%2Fopentelemetry-for-dummies%3Futm_campaign=237661403-TLDR%2520Newsletter%2520-%2520OpenTelemetry%2520for%2520Dummies%2520Secondary%26utm_source=tldr%26utm_medium=nesletter%26utm_content=Otel%2520ebook%2520secondary/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/G0M2Wt9OMIZJffK73C8nWa4ewYcbUT_r-K0VQtRg-_E=432">
<span>
<strong>OpenTelemetry For Dummies: Dash0 Special Edition (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Traditional monitoring makes you chase symptoms. <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.dash0.com%2Flp%2Fopentelemetry-for-dummies%3Futm_campaign=237661403-TLDR%2520Newsletter%2520-%2520OpenTelemetry%2520for%2520Dummies%2520Secondary%26utm_source=tldr%26utm_medium=nesletter%26utm_content=Otel%2520ebook%2520secondary/2/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/htS-4AgZVN-h1mM01GoLTIvo6MDs8tULBoTsryPNkhI=432" rel="noopener noreferrer nofollow" target="_blank"><span><em>OpenTelemetry for Dummies</em></span></a> reveals how OpenTelemetry-native observability helps you trace issues end-to-end and fix them faster.
<br>
<br>Stop scrambling for answersβ<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.dash0.com%2Flp%2Fopentelemetry-for-dummies%3Futm_campaign=237661403-TLDR%2520Newsletter%2520-%2520OpenTelemetry%2520for%2520Dummies%2520Secondary%26utm_source=tldr%26utm_medium=nesletter%26utm_content=Otel%2520ebook%2520secondary/3/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/_x3ZTl8vGfwsNvLQRCidHrD8QRATmC5K79sxfKyGWQ4=432" rel="noopener noreferrer nofollow" target="_blank"><span>download the free ebook</span></a>.
</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%2FGibsonAI%2FMemori%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/s3M5PQUvatI8sJUCyvwET4JJs7KuouxDe_77rI7cdbo=432">
<span>
<strong>Memori (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Memori, an open-source SQL-Native memory engine, allows LLMs to remember conversations and maintain context using standard SQL databases with the simple addition of "memori.enable()". The tool works with existing SQL databases and LLM frameworks through LiteLLM's callback system, using modes like Conscious, Auto, and Combined for context injection and recording.
</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/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/94LoAhtpjYOheAL_ydol5rTIZD6xW2C89dW8iSV659Q=432">
<span>
<strong>Openspec (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
OpenSpec aligns AI coding assistants and human developers with spec-driven development so teams can agree on what to build before writing code. The framework adds a specification workflow that locks intent before implementation, ensuring deterministic and reviewable outputs without needing API keys.
</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%2Fblog.cloudflare.com%2Fpython-workflows%2F%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/g8LDJKKy4jUDX17q2pR93KjF1ICc6j1EFJrJPQ9Ov2I=432">
<span>
<strong>A closer look at Python Workflows, now in beta (5 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Cloudflare has introduced Python Workflows, bringing full parity with JavaScript Workflows and enabling developers to build multi-step applications directly in Python on Cloudflare Workers. Workflows automate sequences of idempotent steps with built-in retries, durable state, and error handling, which now leverage Python's strength in data pipelines, AI/ML orchestration, and task automation.
</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.hashicorp.com%2Fen%2Fblog%2F3-strategies-that-reduce-security-friction-in-developer-workflows%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/QDPVzIYeFkP-oq1_XLcUcv9F4nvm1-HHRqcMwE1HjVk=432">
<span>
<strong>3 strategies that reduce security friction in developer workflows (6 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Security is evolving from control to collaboration by embedding safeguards directly into developer workflows through automation and real-time feedback. Teams can reduce friction by integrating early security scanning in developer tools, replacing enforcement with in-workflow enablement, and building continuous visibility through IDE guidance, ecosystem monitoring, and centralized secrets management.
</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.linkedin.com%2Fposts%2Fexternal-secrets-inc_external-secrets-inc-activity-7396684139216715776-KC5Q%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/zcG0yBmj1EJwL-JyyTd3pf5BdjxKG91Df-QEe_wv3v0=432">
<span>
<strong>External Secrets Inc. is winding down operations... but we have exciting news to share! (2 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
External Secrets Inc. is shutting down but has open-sourced its proprietary code under the MIT license, including tech for managing Non-Human Identity (#NHI) Credentials. The company hopes its work will benefit the community for years to come. Its open-source repositories can be found on GitHub.
</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%2Fwww.moderne.ai%2Fcontent-library%2Fhow-uber-migrated-1m-lines-junit-2-weeks-webinar%3Futm_source=tldr%26utm_medium=email%26utm_campaign=dec_uber_webinar_nov_21%26utm_content=lp%26utm_term=register/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/ti40Szu-TCgru9SUTt1_tWj0E2JhurP4BvDNtc9j6cY=432">
<span>
<strong>How Uber migrated 1M lines of JUnit 4 tests to JUnit 5 in just two weeks (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
4,000 pull requests in two weeks? Uber's platform engineering team pulled it off with OpenRewrite, Shepherd, and AI-driven static analysis. Hear how at this Moderne webinar. <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.moderne.ai%2Fcontent-library%2Fhow-uber-migrated-1m-lines-junit-2-weeks-webinar%3Futm_source=tldr%26utm_medium=email%26utm_campaign=dec_uber_webinar_nov_21%26utm_content=lp%26utm_term=register/2/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/awP0tDMxEyl8gwU2Q_Z93GOd6lckNUZr_Kg6r9ZecxQ=432" rel="noopener noreferrer nofollow" target="_blank"><span>Save your seat</span></a>
</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.sysdig.com%2Fblog%2Fhow-falco-and-stratoshark-close-the-gap-between-open-source-runtime-detection-and-deep-forensic-analysis%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/Zkgb3llkt0oLZFSc9K5hji-S5WHUemwbz1gAYWrSKGw=432">
<span>
<strong>How Falco and Stratoshark close the gap between open source runtime detection and deep forensic analysis (4 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Falco and Stratoshark now integrate to bridge the gap between real-time runtime threat detection and deep forensic analysis in open source environments.
</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.pagerduty.com%2Fblog%2Fai%2Fhow-to-choose-an-ai-sre-solution%2F%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/laxsCjxz6zbF99C7aUuzPGLKXjBlv_WVlh1V1Iqx5fw=432">
<span>
<strong>How to Choose an AI SRE Solution (6 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
The expanding AI SRE market demands careful evaluation of solutions that balance innovation with enterprise reliability, integration breadth, and continuous 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%2Fgrafana.com%2Fblog%2F2025%2F11%2F19%2Fgrafana-12-3-release-all-the-latest-features%2F%3Futm_source=tldrdevops/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/Ahw1K-brpvLDdLrVipauumlpf85Hqo9YHlCAETVDvKI=432">
<span>
<strong>Grafana 12.3 release: Interactive learning experiences, new and improved logs visualizations, and more (11 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Grafana 12.3 has new features focused on easier data exploration, including interactive learning resources within the platform, a rebuilt logs visualization, and the ability to export dashboards as PNG images.
</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/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/ORywzmNxJUmoKSDwu4Ib5L23h74MMNuby-8AWGNiY-M=432" 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/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/--vtK89c9ncHYDcxWw03-uUPsZruQ9iXPYDVAFATRyg=432" 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/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/chzj9my2gT7l-lJlq6_J2tSkrbyz5LhcpJCyLCNHkPA=432"><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/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/CsyE2qWdMJLwsB4S7yybdUujSKPN2pjAkhmTmWWHODI=432" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>Apply here</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!
</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/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/VwBZH04y0GsA03juBVdE0VeAbCCFovVqpefcLAQlB4k=432"><span>Kunal Desai</span></a> & <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.linkedin.com%2Fin%2Fmartin-hauskrecht%2F/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/2bgP3F4mGd_nZfI7vn-4ZOTz6_EVSljbyu1MPWjAODE=432"><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/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/fLemvuJr9joBaoazTLWDpB6BWnRs_Zi0nZek1xs-0f4=432">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=21fa8324-c6ab-11f0-a236-bd33f735e4d6%26pt=campaign%26pv=4%26spa=1763726481%26t=1763726752%26s=985e298b364287a3ade0b7c5371ff5e11214c92d3672162574d1157da4a5785c/1/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/MUaiXu94ZCX4Bv0xXwRAQp6_QUds9DF7ZBbpg6-kJek=432">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/0100019aa64e7c98-a00e1e70-5bcd-4b1e-9292-322583582483-000000/LHqkKuYArjBJ1YxVgoDzTpZz0QKMt5JqLrLqrrTCwjo=432" style="display: none; width: 1px; height: 1px;">
</body></html>