{"version":"1.0","provider_name":"IT-REACT","provider_url":"https:\/\/www.it-react.com","title":"Secure and Centralized Ubuntu Patching with Ansible - IT-REACT","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"Gulb3yhJ0w\"><a href=\"https:\/\/www.it-react.com\/index.php\/2025\/04\/17\/secure-and-centralized-ubuntu-patching-with-ansible\/\">Secure and Centralized Ubuntu Patching with Ansible<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.it-react.com\/index.php\/2025\/04\/17\/secure-and-centralized-ubuntu-patching-with-ansible\/embed\/#?secret=Gulb3yhJ0w\" width=\"600\" height=\"338\" title=\"&#8220;Secure and Centralized Ubuntu Patching with Ansible&#8221; &#8212; IT-REACT\" data-secret=\"Gulb3yhJ0w\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","thumbnail_url":"https:\/\/www.it-react.com\/wp-content\/uploads\/2025\/04\/2025-04-17-13-19-33-e1744889067554.png","thumbnail_width":1024,"thumbnail_height":570,"description":"Let\u2019s be honest \u2014 keeping a fleet of Ubuntu servers updated isn\u2019t the most glamorous job, especially when they\u2019re tucked away behind firewalls with no internet access. But what if we could turn this dusty chore into a clean, elegant, and even satisfying little automation adventure? That\u2019s exactly what we did. This was actually my [&hellip;]"}