1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>Search - Products and Guides | cloudimg</title> 7 8 <meta name="description" content="Search all cloudimg products and deployment guides across AWS and Azure."> 9 <meta name="robots" content="index, follow"> 10 <link rel="canonical" href="https://www.cloudimg.co.uk/search/"> 11 12 13 <meta property="og:title" content="Search - Products and Guides | cloudimg"> 14 <meta property="og:description" content="Search all cloudimg products and deployment guides across AWS and Azure."> 15 <meta property="og:image" content="https://www.cloudimg.co.uk/images/logo.png"> 16 <meta property="og:url" content="https://www.cloudimg.co.uk/search/"> 17 <meta property="og:type" content="website"> 18 <meta property="og:site_name" content="cloudimg"> 19 <meta property="og:locale" content="en_GB"> 20 21 22 <meta name="twitter:card" content="summary_large_image"> 23 <meta name="twitter:title" content="Search - Products and Guides | cloudimg"> 24 <meta name="twitter:description" content="Search all cloudimg products and deployment guides across AWS and Azure."> 25 <meta name="twitter:image" content="https://www.cloudimg.co.uk/images/logo.png"> 26 27 28 <link rel="icon" href="/favicon.ico" sizes="any"> 29 <link rel="apple-touch-icon" href="/apple-touch-icon.png"> 30 <link rel="manifest" href="/site.webmanifest"> 31 32 33 34 35 36
36<script type="application/ld+json"> 37 { 38 "@context": "https://schema.org", 39 "@type": "Organization", 40 "name": "cloudimg", 41 "url": "https://www.cloudimg.co.uk", 42 "logo": "/images/logo.png", 43 "description": "Preconfigured, hardened machine images for AWS and Azure with unique credentials on first boot and 24/7 support.", 44 "address": { 45 "@type": "PostalAddress", 46 "streetAddress": "3rd Floor 86-90 Paul Street", 47 "addressLocality": "London", 48 "postalCode": "EC2A 4NE", 49 "addressCountry": "GB" 50 }, 51 "contactPoint": { 52 "@type": "ContactPoint", 53 "telephone": "+442045382725", 54 "contactType": "customer support", 55 "email": "[email protected]", 56 "availableLanguage": "English" 57 } 58 } 59 </script>
59 60 61 62 63 64 <link rel="preload" href="/fonts/sora-var.woff2" as="font" type="font/woff2" crossorigin> 65 <link rel="preload" href="/fonts/hankengrotesk-var.woff2" as="font" type="font/woff2" crossorigin> 66 67 <link rel="stylesheet" href="/css/main.css"> 68 69</head> 70<body> 71 72 <nav> 73 <div class="nav-container"> 74 <div class="logo"> 75 <a href="/" aria-label="cloudimg home"> 76 <img src="/images/cloudimg-mark.png" alt="" width="30" height="30"> 77 <span>cloud<em class="logo-accent">img</em></span> 78 </a> 79 </div> 80 <button class="nav-toggle" aria-label="Toggle navigation" aria-expanded="false">☰</button> 81 <ul class="nav-links"> 82 <li><a href="/products/">Products</a></li> 83 <li><a href="/guides/">Guides</a></li> 84 <li><a href="/search/">Search</a></li> 85 <li><a href="/support/">Support</a></li> 86 <li><a href="/#about">About</a></li> 87 <li><a href="/products/" class="nav-cta">Browse catalogue</a></li> 88 </ul> 89 </div> 90 </nav> 91 92 93<div class="products-index-page"> 94 <button class="back-btn" onclick="if (history.length > 1 && document.referrer.indexOf(location.host) !== -1) { history.back(); } else { location.href='/'; }">Back</button> 95 <nav class="breadcrumb" aria-label="Breadcrumb"> 96 <ol> 97 <li><a href="/">Home</a></li> 98 <li aria-current="page">Search</li> 99 </ol> 100 </nav> 101 102 <h1 class="section-title">Search</h1> 103 <p class="section-subtitle">Every product and deployment guide, across AWS and Azure.</p> 104 105 <div class="filter-bar"> 106 <div class="search-group"> 107 <input type="search" id="site-search" class="search-input" 108 placeholder="Search products and guides..." autocomplete="off" autofocus 109 aria-label="Search products and guides"> 110 <span class="search-icon" aria-hidden="true"> 111 <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg> 112 </span> 113 </div> 114 <div class="filter-group" id="kind-filters"> 115 <button class="filter-btn active" data-kind="all">Everything</button> 116 <button class="filter-btn" data-kind="product">Products</button> 117 <button class="filter-btn" data-kind="guide">Guides</button> 118 </div> 119 </div> 120 121 <div id="search-results" class="products-grid" aria-live="polite"></div> 122 <p id="search-empty" class="search-no-results">Type to search 1603 products and 2237 guides.</p> 123</div> 124 125 126 127 <footer id="contact"> 128 <div class="footer-content"> 129 <div class="footer-section"> 130 <div class="footer-logo"> 131 <img src="/images/cloudimg-mark.png" alt="" width="26" height="26"> 132 <span>cloud<em>img</em></span> 133 </div> 134 <p>Preconfigured machine images for AWS and Azure. Built, hardened and verified in London.</p> 135 </div> 136 <div class="footer-section"> 137 <h4>Catalogue</h4> 138 <ul> 139 <li><a href="/products/operating-systems/">Operating Systems</a></li> 140 <li><a href="/products/databases/">Databases</a></li> 141 <li><a href="/products/streaming/">Streaming</a></li> 142 <li><a href="/products/applications/">Applications</a></li> 143 <li><a href="/products/">All products</a></li> 144 </ul> 145 </div> 146 <div class="footer-section"> 147 <h4>Resources</h4> 148 <ul> 149 <li><a href="/guides/">Deployment guides</a></li> 150 <li><a href="/blog/">Blog</a></li> 151 <li><a href="/support/">Support</a></li> 152 <li><a href="/privacy-policy/">Privacy policy</a></li> 153 </ul> 154 </div> 155 <div class="footer-section"> 156 <h4>Company</h4> 157 <p><strong>cloudimg</strong><br> 158 3rd Floor 86-90 Paul Street<br> 159 London EC2A 4NE</p> 160 <p><a href="tel:+442045382725">(+44) 02045382725</a><br> 161 <a href="mailto:[email protected]">[email protected]</a></p> 162 <p>
162Office: Monday to Friday, 9am to 6pm<br> 163 Support desk: 24/7, 365 days a year</p> 164 </div> 165 </div> 166 <div class="footer-bottom"> 167 <p>© 2026 cloudimg. All rights reserved. Preconfigured machine images for AWS and Azure. <a href="/privacy-policy/">Privacy Policy</a></p> 168 <p class="footer-trademarks">Amazon Web Services, AWS and related marks are trademarks of Amazon.com, Inc. or its affiliates. Microsoft and Azure are trademarks of the Microsoft group of companies. Alibaba Cloud is a trademark of Alibaba Group Holding Limited. All other product and company names and logos are trademarks of their respective holders and are used only to identify the software concerned. Use of them does not imply any affiliation with or endorsement by them.</p> 169 </div> 170 </footer> 171 172
172<script src="/js/main.js"></script>
172 173
174<script> 175(function() { 176 var input = document.getElementById('site-search'); 177 var results = document.getElementById('search-results'); 178 var empty = document.getElementById('search-empty'); 179 var kind = 'all'; 180 var index = null; 181 182 empty.style.display = 'block'; 183 184 fetch('/search-index.json').then(function(r) { return r.json(); }).then(function(d) { 185 index = d; 186 var q = new URLSearchParams(location.search).get('q'); 187 if (q) { input.value = q; run(); } 188 }); 189 190 document.querySelectorAll('#kind-filters .filter-btn').forEach(function(b) { 191 b.addEventListener('click', function() { 192 document.querySelectorAll('#kind-filters .filter-btn').forEach(function(x) { x.classList.remove('active'); }); 193 b.classList.add('active'); 194 kind = b.dataset.kind; 195 run(); 196 }); 197 }); 198 199 function esc(t) { 200 var d = document.createElement('div'); 201 d.textContent = t == null ? '' : String(t); 202 return d.innerHTML; 203 } 204 205 function run() { 206 if (!index) return; 207 var q = input.value.toLowerCase().trim(); 208 if (!q) { 209 results.innerHTML = ''; 210 empty.textContent = 'Type to search.'; 211 empty.style.display = 'block'; 212 return; 213 } 214 var terms = q.split(/\s+/); 215 var scored = []; 216 index.forEach(function(e) { 217 if (kind !== 'all' && e.k !== kind) return; 218 var hay = (e.t + ' ' + e.c + ' ' + e.p + ' ' + e.x + ' ' + e.kw).toLowerCase(); 219 var score = 0; 220 var ok = terms.every(function(t) { return hay.indexOf(t) !== -1; }); 221 if (!ok) return; 222 terms.forEach(function(t) { 223 if (e.t.toLowerCase().indexOf(t) === 0) score += 5; 224 else if (e.t.toLowerCase().indexOf(t) !== -1) score
224+= 3; 225 else score += 1; 226 }); 227 scored.push([score, e]); 228 }); 229 scored.sort(function(a, b) { return b[0] - a[0]; }); 230 var top = scored.slice(0, 60); 231 if (!top.length) { 232 results.innerHTML = ''; 233 empty.textContent = 'No results for "' + q + '".'; 234 empty.style.display = 'block'; 235 return; 236 } 237 empty.style.display = 'none'; 238 results.innerHTML = top.map(function(pair) { 239 var e = pair[1]; 240 var badge = e.p === 'azure' 241 ? '<span class="cloud-badge badge-azure">Azure</span>' 242 : '<span class="cloud-badge badge-aws">AWS</span>'; 243 var tag = e.k === 'guide' ? 'Guide' : 'Product'; 244 return '<a href="' + esc(e.u) + '" class="product-card-link"><div class="product-card">' + 245 '<div class="product-header"><div><h3>' + esc(e.t) + '</h3>' + 246 '<div class="version">' + esc(tag) + (e.c ? ' · ' + esc(e.c) : '') + '</div></div></div>' + 247 '<div class="product-body"><p class="product-description">' + esc(e.x) + '</p></div>' + 248 '<div class="product-footer">' + badge + '<span class="deploy-btn">Open →</span></div>' + 249 '</div></a>'; 250 }).join(''); 251 history.replaceState(null, '', '/search/?q=' + encodeURIComponent(input.value)); 252 } 253 254 var t = null; 255 input.addEventListener('input', function() { clearTimeout(t); t = setTimeout(run, 150); }); 256})(); 257</script>
257 258 259</body> 260</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.