CINXE.COM
DigitalOcean Status
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- force IE browsers in compatibility mode to use their most aggressive rendering engine --> <meta charset="utf-8"> <title>DigitalOcean Status</title> <meta name="description" content="Welcome to DigitalOcean's home for real-time and historical data on system performance."> <!-- Mobile viewport optimization --> <meta name="HandheldFriendly" content="True"> <meta name="MobileOptimized" content="320"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"> <!-- Time this page was rendered - http://purl.org/dc/terms/issued --> <meta name="issued" content="1732364607"> <!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading --> <meta http-equiv="cleartype" content="on"> <!-- Le fonts --> <style> @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=status.digitalocean.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=status.digitalocean.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-e642ffe82005c6208632538a557e7f5dccb835c0303b06f17f55ccf567907241.woff?host=status.digitalocean.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-0f094da9b301d03292f97db5544142a16f9f2ddf50af91d44753d9310c194c5f.ttf?host=status.digitalocean.com') format('truetype'); font-weight:300; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=status.digitalocean.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=status.digitalocean.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-2ee4c449a9ed716f1d88207bd1094e21b69e2818b5cd36b28ad809dc1924ec54.woff?host=status.digitalocean.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-a40a469edbd27b65b845b8000d47445a17def8ba677f4eb836ad1808f7495173.ttf?host=status.digitalocean.com') format('truetype'); font-weight:400; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=status.digitalocean.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=status.digitalocean.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0c394ec7a111aa7928ea470ec0a67c44ebdaa0f93d1c3341abb69656cc26cbdd.woff?host=status.digitalocean.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-9e43859f8015a4d47d9eaf7bafe8d1e26e3298795ce1f4cdb0be0479b8a4605e.ttf?host=status.digitalocean.com') format('truetype'); font-weight:400; font-style:italic; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=status.digitalocean.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=status.digitalocean.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-86724fb2152613d735ba47c3f47a9ad2424b898bea4bece213dacee40344f966.woff?host=status.digitalocean.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-cf3e4eb7fbdf6fb83e526cc2a0141e55b01097e6e1abfd4cbdc3eda75d183f74.ttf?host=status.digitalocean.com') format('truetype'); font-weight:500; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=status.digitalocean.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=status.digitalocean.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-c8dc577ff7f76d2fc199843e38c04bb2e9fd15889421358d966a9f846c2ed1cd.woff?host=status.digitalocean.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-27177fe9242acbe089276ee587feef781446667ffe9b6fdc5b7fe21ad73e12f3.ttf?host=status.digitalocean.com') format('truetype'); font-weight:700; font-style:normal; } </style> <link rel="shortcut icon" type="image/x-icon" href="//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/362055/do_favicon.png" /> <link rel="shortcut icon" href='//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/362055/do_favicon.png'> <link rel="alternate" type="application/atom+xml" href="https://status.digitalocean.com/history.atom" title="DigitalOcean Status History - Atom Feed"> <link rel="alternate" type="application/rss+xml" href="https://status.digitalocean.com/history.rss" title="DigitalOcean Status History - RSS Feed"> <!-- Canonical Link to ensure that only the custom domain is indexed when present --> <link rel="canonical" href="http://status.digitalocean.com"> <meta name="_globalsign-domain-verification" content="y_VzfckMy4iePo5oDJNivyYIjh8LffYa4jzUndm_bZ"/> <link rel="alternate" type="application/atom+xml" title="ATOM" href="https://status.digitalocean.com/history.atom" /> <!-- Le styles --> <link rel="stylesheet" media="screen" href="https://dka575ofm4ao0.cloudfront.net/packs/0.8826066e0f95dc57bbe6.css" /> <link rel="stylesheet" media="all" href="https://dka575ofm4ao0.cloudfront.net/assets/status/status_manifest-260e48dd9b8c9b04e8d6c6286f76aecb8ac22f273beea6dba3eee902141bcbfe.css" /> <script src="https://dka575ofm4ao0.cloudfront.net/assets/jquery-3.5.1.min-729e416557a365062a8a20f0562f18aa171da57298005d392312670c706c68de.js"></script> <script> window.pageColorData = {"blue":"#127C43","border":"#BEC3C3","body_background":"#FFFFFF","font":"#000000","graph":"#3498DB","green":"#127C43","light_font":"#666666","link":"#0069FF","orange":"#F56109","red":"#CA0C0C","yellow":"#6355F8","no_data":"#F3F5F9"}; </script> <style> /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ body, .layout-content.status.status-api .section .example-container .example-opener .color-secondary, .grouped-items-selector, .layout-content.status.status-full-history .history-nav a.current, div[id^="subscribe-modal"] .modal-footer, div[id^="subscribe-modal"], div[id^="updates-dropdown"] .updates-dropdown-section, #uptime-tooltip .tooltip-box { background-color:#FFFFFF; } #uptime-tooltip .pointer-container .pointer-smaller { border-bottom-color:#FFFFFF; } /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ body.status, .color-primary, .color-primary:hover, .layout-content.status-index .status-day .update-title.impact-none a, .layout-content.status-index .status-day .update-title.impact-none a:hover, .layout-content.status-index .timeframes-container .timeframe.active, .layout-content.status-full-history .month .incident-container .impact-none, .layout-content.status.status-index .incidents-list .incident-title.impact-none a, .incident-history .impact-none, .layout-content.status .grouped-items-selector.inline .grouped-item.active, .layout-content.status.status-full-history .history-nav a.current, .layout-content.status.status-full-history .history-nav a:not(.current):hover, div[id^="subscribe-modal"] .modal-header .close, .grouped-item-label, #uptime-tooltip .tooltip-box .tooltip-content .related-events .related-event a.related-event-link { color:#000000; } .layout-content.status.status-index .components-statuses .component-container .name { color:#000000; color:rgba(0,0,0,.8); } /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ small, .layout-content.status .table-row .date, .color-secondary, .layout-content.status .grouped-items-selector.inline .grouped-item, .layout-content.status.status-full-history .history-footer .pagination a.disabled, .layout-content.status.status-full-history .history-nav a, #uptime-tooltip .tooltip-box .tooltip-content .related-events #related-event-header { color:#666666; } /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ body.status .layout-content.status .border-color, hr, .tooltip-base, .markdown-display table, div[id^="subscribe-modal"], #uptime-tooltip .tooltip-box { border-color:#BEC3C3; } div[id^="subscribe-modal"] .modal-footer, .markdown-display table td { border-top-color:#BEC3C3; } .markdown-display table td + td, .markdown-display table th + th { border-left-color:#BEC3C3; } div[id^="subscribe-modal"] .modal-header, #uptime-tooltip .pointer-container .pointer-larger { border-bottom-color:#BEC3C3; } #uptime-tooltip .tooltip-box .outage-field { /* Generate the background-color for the outage-field from the css_body_background_color and css_border_color. For the default background (#ffffff) and default css_border_color (#e0e0e0), use the luminosity of the default background with a magic number to arrive at the original outage-field background color (#f4f5f7). I used the formula Target Color = Color * alpha + Background * (1 - alpha) to find the magic number of ~0.08. For darker css_body_background_color, luminosity values are lower so alpha trends toward becoming transparent (thus outage-field background becomes same as css_body_background_color). */ background-color: rgba(190,195,195,0.31); /* outage-field border-color alpha is inverse to the luminosity of css_body_background_color. That is to say, with a default white background this border is transparent, but on a black background, it's opaque css_border_color. */ border-color: rgba(190,195,195,0.0); } /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ .layout-content.status.status-index .status-day .update-title.impact-critical a, .layout-content.status.status-index .status-day .update-title.impact-critical a:hover, .layout-content.status.status-index .page-status.status-critical, .layout-content.status.status-index .unresolved-incident.impact-critical .incident-title, .flat-button.background-red { background-color:#CA0C0C; } .layout-content.status-index .components-statuses .component-container.status-red:after, .layout-content.status-full-history .month .incident-container .impact-critical, .layout-content.status-incident .incident-name.impact-critical, .layout-content.status.status-index .incidents-list .incident-title.impact-critical a, .status-red .icon-indicator, .incident-history .impact-critical, .components-container .component-inner-container.status-red .component-status, .components-container .component-inner-container.status-red .icon-indicator { color:#CA0C0C; } .layout-content.status.status-index .unresolved-incident.impact-critical .updates { border-color:#CA0C0C; } /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ .layout-content.status.status-index .status-day .update-title.impact-major a, .layout-content.status.status-index .status-day .update-title.impact-major a:hover, .layout-content.status.status-index .page-status.status-major, .layout-content.status.status-index .unresolved-incident.impact-major .incident-title { background-color:#F56109; } .layout-content.status-index .components-statuses .component-container.status-orange:after, .layout-content.status-full-history .month .incident-container .impact-major, .layout-content.status-incident .incident-name.impact-major, .layout-content.status.status-index .incidents-list .incident-title.impact-major a, .status-orange .icon-indicator, .incident-history .impact-major, .components-container .component-inner-container.status-orange .component-status, .components-container .component-inner-container.status-orange .icon-indicator { color:#F56109; } .layout-content.status.status-index .unresolved-incident.impact-major .updates { border-color:#F56109; } /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ .layout-content.status.status-index .status-day .update-title.impact-minor a, .layout-content.status.status-index .status-day .update-title.impact-minor a:hover, .layout-content.status.status-index .page-status.status-minor, .layout-content.status.status-index .unresolved-incident.impact-minor .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#6355F8; } .layout-content.status-index .components-statuses .component-container.status-yellow:after, .layout-content.status-full-history .month .incident-container .impact-minor, .layout-content.status-incident .incident-name.impact-minor, .layout-content.status.status-index .incidents-list .incident-title.impact-minor a, .status-yellow .icon-indicator, .incident-history .impact-minor, .components-container .component-inner-container.status-yellow .component-status, .components-container .component-inner-container.status-yellow .icon-indicator, .layout-content.status.manage-subscriptions .confirmation-infobox .fa { color:#6355F8; } .layout-content.status.status-index .unresolved-incident.impact-minor .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#6355F8; } /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ .layout-content.status.status-index .status-day .update-title.impact-maintenance a, .layout-content.status.status-index .status-day .update-title.impact-maintenance a:hover, .layout-content.status.status-index .page-status.status-maintenance, .layout-content.status.status-index .unresolved-incident.impact-maintenance .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#127C43; } .layout-content.status-index .components-statuses .component-container.status-blue:after, .layout-content.status-full-history .month .incident-container .impact-maintenance, .layout-content.status-incident .incident-name.impact-maintenance, .layout-content.status.status-index .incidents-list .incident-title.impact-maintenance a, .status-blue .icon-indicator, .incident-history .impact-maintenance, .components-container .component-inner-container.status-blue .component-status, .components-container .component-inner-container.status-blue .icon-indicator { color:#127C43; } .layout-content.status.status-index .unresolved-incident.impact-maintenance .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#127C43; } /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ .layout-content.status.status-index .page-status.status-none { background-color:#127C43; } .layout-content.status-index .components-statuses .component-container.status-green:after, .status-green .icon-indicator, .components-container .component-inner-container.status-green .component-status, .components-container .component-inner-container.status-green .icon-indicator { color:#127C43; } /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ a, a:hover, .layout-content.status-index .page-footer span a:hover, .layout-content.status-index .timeframes-container .timeframe:not(.active):hover, .layout-content.status-incident .subheader a:hover { color:#0069FF; } .flat-button, .masthead .updates-dropdown-container .show-updates-dropdown, .layout-content.status-full-history .show-filter.open { background-color:#0069FF; } /* CUSTOM COLOR OVERRIDES FOR UPTIME SHOWCASE */ .components-section .components-uptime-link { color: #666666; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item { color: #666666; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light { color: #666666; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .spacer { background: #666666; opacity: 1; } </style> <!-- custom css --> <link rel="stylesheet" type="text/css" href="//dka575ofm4ao0.cloudfront.net/page_display_customizations-custom_css_externals/361292/external20230519-27-p2ld8f.css"> <!-- polyfills --> <script crossorigin="anonymous" src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js"></script> <!-- Le HTML5 shim --> <!--[if lt IE 9]> <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- injection for static --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-26573244-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-26573244-1', { 'anonymize_ip' : true}); </script> </head> <body class="status index status-minor"> <div class="layout-content status status-index starter"> <div class="custom-header-container"> <script> // remove incident list from main page $(function() { $('.incidents-list').remove(); }); // remove empty uptime wrapper $(function() { $('.shared-partial').remove(); }); // remove everything-is-ok-header $(function() { if($('.page-status').length > 0) { if ($('.page-status').html().indexOf('All Systems Operational') != -1) { $('.page-status').remove(); if($('.scheduled-maintenances-container').length == 0) { $('#header-incidents-inner-container').remove(); $('#header-incidents-outer-container').remove(); } } } }); </script> <div class="header"> <div class="container"> <a href="/" class="logo"> <img src="https://s3.amazonaws.com/statuspage-production/pages-transactional_logos/normal/29246/nt165cuvSgGdvTdII44b"> </a><br><br> <h1>DigitalOcean Services Status</h1> <div id="replace-with-subscribe"></div> <div class="clearfix"></div> </div> <div id="header-incidents-outer-container"> <div id="header-incidents-inner-container" class="container"> </div> </div> </div> <div class="updates-dropdown-container" data-js-hook="updates-dropdown-container"> <a href="#" data-js-hook="show-updates-dropdown" id="show-updates-dropdown" class="show-updates-dropdown" aria-label="Subscribe to updates" aria-expanded="false" aria-haspopup="dialog" role="button"> </a> <!-- Accessibility guidelines for tabs: https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html --> <div class="updates-dropdown" data-js-hook="updates-dropdown" id="updates-dropdown" style="display:none"> <div class="updates-dropdown-nav nav-items-7" role="tablist" aria-label="Subscribe to updates"> <a href="#updates-dropdown-email" aria-controls="updates-dropdown-email" aria-label="Subscribe via email" role="tab" aria-selected="true" id="updates-dropdown-email-btn"> <span class="icon-container email"> </a> <a href="#updates-dropdown-sms" aria-controls="updates-dropdown-sms" aria-label="Subscribe via SMS" role="tab" id="updates-dropdown-sms-btn"> <span class="icon-container sms"> </a> <a href="#updates-dropdown-slack" aria-controls="updates-dropdown-slack" aria-label="Subscribe via slack" role="tab" id="updates-dropdown-slack-btn"> <span class="icon-container slack"> </a> <a href="#updates-dropdown-twitter" aria-controls="updates-dropdown-twitter" aria-label="Subscribe via twitter" role="tab" id="updates-dropdown-twitter-btn"> <span class="icon-container twitter"> </a> <a href="#updates-dropdown-support" aria-controls="updates-dropdown-support" aria-label="Contact support" role="tab" id="updates-dropdown-support-btn"> <span class="icon-container support"> </a> <a href="#updates-dropdown-atom" aria-controls="updates-dropdown-atom" aria-label="Subscribe via RSS" role="tab" id="updates-dropdown-atom-btn"> <span class="icon-container rss"> </a> <button data-js-hook="updates-dropdown-close" aria-label="Close subscribe form" id="updates-dropdown-close-btn"> x </button> </div> <div class="updates-dropdown-sections-container"> <div class="updates-dropdown-section email" id="updates-dropdown-email" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-email-btn"> <div class="directions"> Get email notifications whenever DigitalOcean <strong>creates</strong>, <strong>updates</strong> or <strong>resolves</strong> an incident. </div> <form id="subscribe-form-email" action="/subscriptions/new-email" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="email_otp_verify_flow" id="email_otp_verify_flow" value="false" autocomplete="off" /> <!-- make sure not to put cookie values in here since this gets cached --> <label for="email">Email address:</label> <input name="email" id="email" type="text" class="full-width" data-js-hook="email-notification-field" autocomplete="email"> <input name="email_otp_auth_token" type='hidden' id="email-otp-token-field"> <div class="opt-container-section" id="email-otp-container", style="display:none" > <label for="email-otp">Enter OTP:</label> <input name="otp" id="email-otp" type="text" value="" class="prepend full-width"> <p id="email-otp-timer">Resend OTP in: <span id="email-otp-countdown"></span> seconds </p> <p id="resend-email-otp"> Didn't receive the OTP? <a href="#" id="resend-email-otp-btn" >Resend OTP </a> </p> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value="Subscribe via Email" class="flat-button full-width g-recaptcha" id="subscribe-btn-email" data-disabled-text="Subscribing..." data-sitekey=6LdTS8AUAAAAAOIbCKoCAP4LQku1olYGrywPTaZz data-callback="submitNewEmailSubscriber" data-error-callback="emailSubscriberCaptchaError" > <div class="terms_and_privacy_information bottom small"> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section phone" id="updates-dropdown-sms" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-sms-btn"> <div class="directions"> Get text message notifications whenever DigitalOcean <strong>creates</strong> or <strong>resolves</strong> an incident. </div> <form id="subscribe-form-sms" action="/subscriptions/new-sms" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="otp_verify_flow" id="otp_verify_flow" value="false" autocomplete="off" /> <input type="hidden" name="subscriber_code" id="subscriber_code" value="" autocomplete="off" /> <div class="control-group"> <div class="controls externalities-sms-container"> <!-- make sure not to put cookie values in here since this gets cached --> <label for="phone-country">Country code:</label> <div id="phone-number-country-code" class="phone-country-wrapper" data-otp-enabled="false"> <select name="phone_country" id="phone-country" data-js-hook="phone-country" class="phone-country"><option value="af" data-otp-enabled="false" >Afghanistan (+93)</option> <option value="al" data-otp-enabled="false" >Albania (+355)</option> <option value="dz" data-otp-enabled="false" >Algeria (+213)</option> <option value="as" data-otp-enabled="false" >American Samoa (+1)</option> <option value="ad" data-otp-enabled="false" >Andorra (+376)</option> <option value="ao" data-otp-enabled="false" >Angola (+244)</option> <option value="ai" data-otp-enabled="false" >Anguilla (+1)</option> <option value="ag" data-otp-enabled="false" >Antigua and Barbuda (+1)</option> <option value="ar" data-otp-enabled="false" >Argentina (+54)</option> <option value="am" data-otp-enabled="false" >Armenia (+374)</option> <option value="aw" data-otp-enabled="false" >Aruba (+297)</option> <option value="au" data-otp-enabled="false" >Australia/Cocos/Christmas Island (+61)</option> <option value="at" data-otp-enabled="false" >Austria (+43)</option> <option value="az" data-otp-enabled="false" >Azerbaijan (+994)</option> <option value="bs" data-otp-enabled="false" >Bahamas (+1)</option> <option value="bh" data-otp-enabled="false" >Bahrain (+973)</option> <option value="bd" data-otp-enabled="false" >Bangladesh (+880)</option> <option value="bb" data-otp-enabled="false" >Barbados (+1)</option> <option value="by" data-otp-enabled="false" >Belarus (+375)</option> <option value="be" data-otp-enabled="false" >Belgium (+32)</option> <option value="bz" data-otp-enabled="false" >Belize (+501)</option> <option value="bj" data-otp-enabled="false" >Benin (+229)</option> <option value="bm" data-otp-enabled="false" >Bermuda (+1)</option> <option value="bo" data-otp-enabled="false" >Bolivia (+591)</option> <option value="ba" data-otp-enabled="false" >Bosnia and Herzegovina (+387)</option> <option value="bw" data-otp-enabled="false" >Botswana (+267)</option> <option value="br" data-otp-enabled="false" >Brazil (+55)</option> <option value="bn" data-otp-enabled="false" >Brunei (+673)</option> <option value="bg" data-otp-enabled="false" >Bulgaria (+359)</option> <option value="bf" data-otp-enabled="false" >Burkina Faso (+226)</option> <option value="bi" data-otp-enabled="false" >Burundi (+257)</option> <option value="kh" data-otp-enabled="false" >Cambodia (+855)</option> <option value="cm" data-otp-enabled="false" >Cameroon (+237)</option> <option value="ca" data-otp-enabled="false" >Canada (+1)</option> <option value="cv" data-otp-enabled="false" >Cape Verde (+238)</option> <option value="ky" data-otp-enabled="false" >Cayman Islands (+1)</option> <option value="cf" data-otp-enabled="false" >Central Africa (+236)</option> <option value="td" data-otp-enabled="false" >Chad (+235)</option> <option value="cl" data-otp-enabled="false" >Chile (+56)</option> <option value="cn" data-otp-enabled="false" >China (+86)</option> <option value="co" data-otp-enabled="false" >Colombia (+57)</option> <option value="km" data-otp-enabled="false" >Comoros (+269)</option> <option value="cg" data-otp-enabled="false" >Congo (+242)</option> <option value="cd" data-otp-enabled="false" >Congo, Dem Rep (+243)</option> <option value="cr" data-otp-enabled="false" >Costa Rica (+506)</option> <option value="hr" data-otp-enabled="false" >Croatia (+385)</option> <option value="cy" data-otp-enabled="false" >Cyprus (+357)</option> <option value="cz" data-otp-enabled="false" >Czech Republic (+420)</option> <option value="dk" data-otp-enabled="false" >Denmark (+45)</option> <option value="dj" data-otp-enabled="false" >Djibouti (+253)</option> <option value="dm" data-otp-enabled="false" >Dominica (+1)</option> <option value="do" data-otp-enabled="false" >Dominican Republic (+1)</option> <option value="eg" data-otp-enabled="false" >Egypt (+20)</option> <option value="sv" data-otp-enabled="false" >El Salvador (+503)</option> <option value="gq" data-otp-enabled="false" >Equatorial Guinea (+240)</option> <option value="ee" data-otp-enabled="false" >Estonia (+372)</option> <option value="et" data-otp-enabled="false" >Ethiopia (+251)</option> <option value="fo" data-otp-enabled="false" >Faroe Islands (+298)</option> <option value="fj" data-otp-enabled="false" >Fiji (+679)</option> <option value="fi" data-otp-enabled="false" >Finland/Aland Islands (+358)</option> <option value="fr" data-otp-enabled="false" >France (+33)</option> <option value="gf" data-otp-enabled="false" >French Guiana (+594)</option> <option value="pf" data-otp-enabled="false" >French Polynesia (+689)</option> <option value="ga" data-otp-enabled="false" >Gabon (+241)</option> <option value="gm" data-otp-enabled="false" >Gambia (+220)</option> <option value="ge" data-otp-enabled="false" >Georgia (+995)</option> <option value="de" data-otp-enabled="false" >Germany (+49)</option> <option value="gh" data-otp-enabled="false" >Ghana (+233)</option> <option value="gi" data-otp-enabled="false" >Gibraltar (+350)</option> <option value="gr" data-otp-enabled="false" >Greece (+30)</option> <option value="gl" data-otp-enabled="false" >Greenland (+299)</option> <option value="gd" data-otp-enabled="false" >Grenada (+1)</option> <option value="gp" data-otp-enabled="false" >Guadeloupe (+590)</option> <option value="gu" data-otp-enabled="false" >Guam (+1)</option> <option value="gt" data-otp-enabled="false" >Guatemala (+502)</option> <option value="gn" data-otp-enabled="false" >Guinea (+224)</option> <option value="gy" data-otp-enabled="false" >Guyana (+592)</option> <option value="ht" data-otp-enabled="false" >Haiti (+509)</option> <option value="hn" data-otp-enabled="false" >Honduras (+504)</option> <option value="hk" data-otp-enabled="false" >Hong Kong (+852)</option> <option value="hu" data-otp-enabled="false" >Hungary (+36)</option> <option value="is" data-otp-enabled="false" >Iceland (+354)</option> <option value="in" data-otp-enabled="false" >India (+91)</option> <option value="id" data-otp-enabled="false" >Indonesia (+62)</option> <option value="iq" data-otp-enabled="false" >Iraq (+964)</option> <option value="ie" data-otp-enabled="false" >Ireland (+353)</option> <option value="il" data-otp-enabled="false" >Israel (+972)</option> <option value="it" data-otp-enabled="false" >Italy (+39)</option> <option value="jm" data-otp-enabled="false" >Jamaica (+1)</option> <option value="jp" data-otp-enabled="false" >Japan (+81)</option> <option value="jo" data-otp-enabled="false" >Jordan (+962)</option> <option value="ke" data-otp-enabled="false" >Kenya (+254)</option> <option value="kr" data-otp-enabled="false" >Korea, Republic of (+82)</option> <option value="xk" data-otp-enabled="false" >Kosovo (+383)</option> <option value="kw" data-otp-enabled="false" >Kuwait (+965)</option> <option value="kg" data-otp-enabled="false" >Kyrgyzstan (+996)</option> <option value="la" data-otp-enabled="false" >Laos (+856)</option> <option value="lv" data-otp-enabled="false" >Latvia (+371)</option> <option value="lb" data-otp-enabled="false" >Lebanon (+961)</option> <option value="ls" data-otp-enabled="false" >Lesotho (+266)</option> <option value="lr" data-otp-enabled="false" >Liberia (+231)</option> <option value="ly" data-otp-enabled="false" >Libya (+218)</option> <option value="li" data-otp-enabled="false" >Liechtenstein (+423)</option> <option value="lt" data-otp-enabled="false" >Lithuania (+370)</option> <option value="lu" data-otp-enabled="false" >Luxembourg (+352)</option> <option value="mo" data-otp-enabled="false" >Macao (+853)</option> <option value="mk" data-otp-enabled="false" >Macedonia (+389)</option> <option value="mg" data-otp-enabled="false" >Madagascar (+261)</option> <option value="mw" data-otp-enabled="false" >Malawi (+265)</option> <option value="my" data-otp-enabled="false" >Malaysia (+60)</option> <option value="mv" data-otp-enabled="false" >Maldives (+960)</option> <option value="ml" data-otp-enabled="false" >Mali (+223)</option> <option value="mt" data-otp-enabled="false" >Malta (+356)</option> <option value="mq" data-otp-enabled="false" >Martinique (+596)</option> <option value="mr" data-otp-enabled="false" >Mauritania (+222)</option> <option value="mu" data-otp-enabled="false" >Mauritius (+230)</option> <option value="mx" data-otp-enabled="false" >Mexico (+52)</option> <option value="mc" data-otp-enabled="false" >Monaco (+377)</option> <option value="mn" data-otp-enabled="false" >Mongolia (+976)</option> <option value="me" data-otp-enabled="false" >Montenegro (+382)</option> <option value="ms" data-otp-enabled="false" >Montserrat (+1)</option> <option value="ma" data-otp-enabled="false" >Morocco/Western Sahara (+212)</option> <option value="mz" data-otp-enabled="false" >Mozambique (+258)</option> <option value="na" data-otp-enabled="false" >Namibia (+264)</option> <option value="np" data-otp-enabled="false" >Nepal (+977)</option> <option value="nl" data-otp-enabled="false" >Netherlands (+31)</option> <option value="nz" data-otp-enabled="false" >New Zealand (+64)</option> <option value="ni" data-otp-enabled="false" >Nicaragua (+505)</option> <option value="ne" data-otp-enabled="false" >Niger (+227)</option> <option value="ng" data-otp-enabled="false" >Nigeria (+234)</option> <option value="no" data-otp-enabled="false" >Norway (+47)</option> <option value="om" data-otp-enabled="false" >Oman (+968)</option> <option value="pk" data-otp-enabled="false" >Pakistan (+92)</option> <option value="ps" data-otp-enabled="false" >Palestinian Territory (+970)</option> <option value="pa" data-otp-enabled="false" >Panama (+507)</option> <option value="py" data-otp-enabled="false" >Paraguay (+595)</option> <option value="pe" data-otp-enabled="false" >Peru (+51)</option> <option value="ph" data-otp-enabled="false" >Philippines (+63)</option> <option value="pl" data-otp-enabled="false" >Poland (+48)</option> <option value="pt" data-otp-enabled="false" >Portugal (+351)</option> <option value="pr" data-otp-enabled="false" >Puerto Rico (+1)</option> <option value="qa" data-otp-enabled="false" >Qatar (+974)</option> <option value="re" data-otp-enabled="false" >Reunion/Mayotte (+262)</option> <option value="ro" data-otp-enabled="false" >Romania (+40)</option> <option value="ru" data-otp-enabled="false" >Russia/Kazakhstan (+7)</option> <option value="rw" data-otp-enabled="false" >Rwanda (+250)</option> <option value="ws" data-otp-enabled="false" >Samoa (+685)</option> <option value="sm" data-otp-enabled="false" >San Marino (+378)</option> <option value="sa" data-otp-enabled="false" >Saudi Arabia (+966)</option> <option value="sn" data-otp-enabled="false" >Senegal (+221)</option> <option value="rs" data-otp-enabled="false" >Serbia (+381)</option> <option value="sc" data-otp-enabled="false" >Seychelles (+248)</option> <option value="sl" data-otp-enabled="false" >Sierra Leone (+232)</option> <option value="sg" data-otp-enabled="false" >Singapore (+65)</option> <option value="sk" data-otp-enabled="false" >Slovakia (+421)</option> <option value="si" data-otp-enabled="false" >Slovenia (+386)</option> <option value="za" data-otp-enabled="false" >South Africa (+27)</option> <option value="es" data-otp-enabled="false" >Spain (+34)</option> <option value="lk" data-otp-enabled="false" >Sri Lanka (+94)</option> <option value="kn" data-otp-enabled="false" >St Kitts and Nevis (+1)</option> <option value="lc" data-otp-enabled="false" >St Lucia (+1)</option> <option value="vc" data-otp-enabled="false" >St Vincent Grenadines (+1)</option> <option value="sd" data-otp-enabled="false" >Sudan (+249)</option> <option value="sr" data-otp-enabled="false" >Suriname (+597)</option> <option value="sz" data-otp-enabled="false" >Swaziland (+268)</option> <option value="se" data-otp-enabled="false" >Sweden (+46)</option> <option value="ch" data-otp-enabled="false" >Switzerland (+41)</option> <option value="tw" data-otp-enabled="false" >Taiwan (+886)</option> <option value="tj" data-otp-enabled="false" >Tajikistan (+992)</option> <option value="tz" data-otp-enabled="false" >Tanzania (+255)</option> <option value="th" data-otp-enabled="false" >Thailand (+66)</option> <option value="tg" data-otp-enabled="false" >Togo (+228)</option> <option value="to" data-otp-enabled="false" >Tonga (+676)</option> <option value="tt" data-otp-enabled="false" >Trinidad and Tobago (+1)</option> <option value="tn" data-otp-enabled="false" >Tunisia (+216)</option> <option value="tr" data-otp-enabled="false" >Turkey (+90)</option> <option value="tc" data-otp-enabled="false" >Turks and Caicos Islands (+1)</option> <option value="ug" data-otp-enabled="false" >Uganda (+256)</option> <option value="ua" data-otp-enabled="false" >Ukraine (+380)</option> <option value="ae" data-otp-enabled="false" >United Arab Emirates (+971)</option> <option value="gb" data-otp-enabled="false" >United Kingdom (+44)</option> <option value="us" data-otp-enabled="false" selected>United States (+1)</option> <option value="uy" data-otp-enabled="false" >Uruguay (+598)</option> <option value="uz" data-otp-enabled="false" >Uzbekistan (+998)</option> <option value="ve" data-otp-enabled="false" >Venezuela (+58)</option> <option value="vn" data-otp-enabled="false" >Vietnam (+84)</option> <option value="vg" data-otp-enabled="false" >Virgin Islands, British (+1)</option> <option value="vi" data-otp-enabled="false" >Virgin Islands, U.S. (+1)</option> <option value="ye" data-otp-enabled="false" >Yemen (+967)</option> <option value="zm" data-otp-enabled="false" >Zambia (+260)</option> <option value="zw" data-otp-enabled="false" >Zimbabwe (+263)</option></select> </div> <label for="phone-number">Phone number:</label> <input name="phone_number" id="phone-number" type="text" class="prepend full-width" data-js-hook="sms-notification-field"> <div class="sms-atl-error" id="sms-atl-error"></div> <div class="clearfix"></div> <div class="opt-container-section" id="otp-container" style="display:none"> <a href="#" id="btn-subcriber-change-number">Change number</a> <label for="otp">Enter OTP:</label> <input name="otp" id="otp" type="text" class="prepend full-width"> <p id="timer">Resend OTP in: <span id="countdown">30</span> seconds </p> <p id="resend"> Didn't receive the OTP? <a href="#" id="resend-otp-btn" >Resend OTP </a> </p> </div> </div> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value="Subscribe via Text Message" class="flat-button full-width g-recaptcha" id="subscribe-btn-sms" data-disabled-text="Subscribing..." data-sitekey=6LcH-b0UAAAAACVQtMb14LBhflMA9y0Nmu7l_W6d data-callback="submitNewSmsSubscriber" data-error-callback="smsSubscriberCaptchaError"> <div class="terms_and_privacy_information bottom small">Message and data rates may apply. By subscribing you agree to the Atlassian <a target="_blank" rel="noopener" href="https://www.atlassian.com/legal/product-specific-terms#statuspage-specific-terms">Terms of Service</a>, and the Atlassian <a target="_blank" rel="noopener" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>. This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section slack" id="updates-dropdown-slack" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-slack-btn"> <div class="directions"> Get incident updates and maintenance status messages in Slack. </div> <a value="Subscribe via Slack" class="flat-button full-width" id="subscribe-btn-slack" data-disabled-text="Subscribing..." data-revert-on-success="true" style="margin-top:.75rem" href="https://subscriptions.statuspage.io/slack_authentication/kickoff?page_code=w4cz49tckxhp">Subscribe via Slack</a> <div class="terms_and_privacy_information bottom small">By subscribing you agree to the Atlassian <a target="_blank" rel="noopener" href="https://www.atlassian.com/legal/cloud-terms-of-service">Cloud Terms of Service</a> and acknowledge Atlassian's <a target="_blank" rel="noopener" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>.</div> </div> <div class="updates-dropdown-section twitter" id="updates-dropdown-twitter" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-twitter-btn"> <a href="https://twitter.com/DOStatus" class="twitter-follow-button" data-show-count="false" data-show-screen-name="true" data-width="59px">Follow @DOStatus</a> or <a href="https://twitter.com/DOStatus" target="_blank">view our profile</a>. <style> .twitter-follow-button { margin-bottom: -6px; } </style> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> </div> <div class="updates-dropdown-section support" id="updates-dropdown-support" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-support-btn"> Visit our <a target="_blank" href="http://www.digitalocean.com/support">support site</a>. </div> <div class="updates-dropdown-section atom" id="updates-dropdown-atom" role="tabpanel" aria-labelledby="updates-dropdown-atom-btn"> Get the <a href="https://status.digitalocean.com/history.atom" target="_blank">Atom Feed</a> or <a href="https://status.digitalocean.com/history.rss" target="_blank">RSS Feed</a>. </div> </div> </div> </div> <script> $(function () { const phoneNumberInput = $('#phone-number'); const errorDiv = $('#sms-atl-error') if(errorDiv.length){ function checkSelectedCountry() { const selectedCountry = $('#phone-country').val(); const isOtpEnabled = $('#phone-number-country-code').attr('data-otp-enabled') === 'true'; const form = document.getElementById('subscribe-form-sms'); form.action = '/subscriptions/new-sms'; const isOtpFlow = document.getElementById('otp_verify_flow'); document.getElementById('otp-container').style.display = "none"; if(false && selectedCountry === 'sg') { // Replace 'SG' with the actual value representing Singapore in your select tag phoneNumberInput.prop('disabled', true); errorDiv.html(`Due to new Singapore government regulations, we're currently not supporting text subscriptions in Singapore.<a href="https://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398" target="_blank"> Learn more.</a> <br> Select another method to subscribe.`); } else { phoneNumberInput.prop('readonly', false); errorDiv.html(''); if(false){ if(isOtpEnabled){ document.getElementById('subscribe-btn-sms').value = "Send OTP"; } else { isOtpFlow.value = false; document.getElementById('subscribe-btn-sms').value = "Subscribe via Text Message"; } } } } $('#phone-country').on('change', checkSelectedCountry); checkSelectedCountry(); } }); document.addEventListener('DOMContentLoaded', function() { const dropdown = document.querySelector('#phone-number-country-code .phone-country'); if (dropdown){ const wrapperDiv = document.getElementById('phone-number-country-code'); const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.setAttribute('data-otp-enabled', otpEnabled); dropdown.addEventListener('change', function() { const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.setAttribute('data-otp-enabled', otpEnabled); }); } }); var countdownTimer; var resendBtn = document.getElementById('resend'); var timer = document.getElementById('timer'); var form = document.getElementById('subscribe-form-sms'); var RESEND_TIMER = 30; $(function() { $('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){ const form = this; const action = form.getAttribute('action'); if (data.type === 'success' && data.otp_flow === true) { document.getElementById('subscriber_code').value = data.subscriber_code document.getElementById('otp-container').style.display = "block"; $('#phone-number').prop('readonly', true); var display = document.getElementById('countdown'); disableResend(); startTimer(RESEND_TIMER, display) document.getElementById('subscribe-btn-sms').value = "Verify OTP and Subscribe"; document.getElementById('otp_verify_flow').value = true; form.action = '/subscriptions/verify-otp'; } else if (data.type === 'success' && action.includes('verify')){ document.getElementById('otp-container').style.display = "none"; $('#phone-number').val('').prop('readonly', false); $('#otp').val(''); document.getElementById('subscribe-btn-sms').value = "Send OTP"; document.getElementById('otp_verify_flow').value = false; form.action = '/subscriptions/new-sms'; SP.currentPage.updatesDropdown.hide(); } }); $("#btn-subcriber-change-number").on('click', () => { document.getElementById('otp-container').style.display = "none"; $('#phone-number').prop('readonly', false); document.getElementById('subscribe-btn-sms').value = "Send OTP"; form.action = '/subscriptions/new-sms'; return false }) $('#resend-otp-btn').on('click', function(e) { e.preventDefault(); let phoneNumber = $('#phone-number').val(); let countryCode = $('.phone-country').val(); $.ajax({ type: 'POST', url: "/subscriptions/new-sms", data: { phone_number: phoneNumber, phone_country: countryCode, type: 'resend' }, }).done(function(data) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); var display = document.getElementById('countdown'); disableResend(); timer.style.display = "none" if (data.type === 'success') { startTimer(RESEND_TIMER, display); } }) }); }) function startTimer(duration, display){ var timer = duration, seconds; clearInterval(countdownTimer); countdownTimer = setInterval(function () { seconds = parseInt(timer % 60, 10); display.textContent = seconds; if(--timer < 0){ enableResend(); clearInterval(countdownTimer); } }, 1000); disableResend(); } function enableResend(){ resendBtn.style.display = "block"; timer.style.display = "none" } function disableResend(){ resendBtn.style.display = "none"; timer.style.display = "block" } $(function() { $('#subscribe-form-email').on('submit', function() { var tokenField = document.getElementById('email-otp-token-field'); let page_code = "w4cz49tckxhp" let key = keyForEmailOtpToken($('#email').val(), page_code); tokenField.value = localStorage.getItem(key); }); }); var emailOtpCountdownTimer; var emailOtpResendBtn = document.getElementById('resend-email-otp'); var emailOtpTimer = document.getElementById('email-otp-timer'); var emailOtpForm = document.getElementById('subscribe-form-email'); var EMAIL_OTP_RESEND_TIMER = 600; $(function() { $('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){ const form = this; const action = form.getAttribute('action'); if (data.type === 'success' && data.email_otp_verify_flow === true) { document.getElementById('email-otp-container').style.display = "block"; var display = document.getElementById('email-otp-countdown'); display.textContent = EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display) document.getElementById('subscribe-btn-email').value = "Verify OTP and Subscribe"; document.getElementById('email_otp_verify_flow').value = true; form.action = '/subscriptions/verify-email-otp'; } else if (data.type === 'success' && action.includes('verify')){ let email = $('#email') let page_code = "w4cz49tckxhp" let key = keyForEmailOtpToken(email.val(), page_code); localStorage.setItem(key, data.email_otp_auth_token); document.getElementById('email-otp-container').style.display = "none"; email.val('').prop('readonly', false); $('#email-otp').val(''); document.getElementById('subscribe-btn-email').value = "Send OTP"; document.getElementById('email_otp_verify_flow').value = false; form.action = '/subscriptions/new-email'; SP.currentPage.updatesDropdown.hide(); } }); $('#resend-email-otp-btn').on('click', function(e) { e.preventDefault(); let email = $('#email').val(); $.ajax({ type: 'POST', url: "/subscriptions/new-email", data: { email: email }, }).done(function(data) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); if (data.type === 'success') { var display = document.getElementById('email-otp-countdown'); display.textContent = EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); emailOtpTimer.style.display = "none" startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display); } }) }); }) function startEmailOtpTimer(duration, display){ var timer = duration, seconds; clearInterval(emailOtpCountdownTimer); emailOtpCountdownTimer = setInterval(function () { seconds = parseInt(timer, 10); display.textContent = seconds; if(--timer < 0){ enableEmailOtpResend(); clearInterval(emailOtpCountdownTimer); } }, 1000); disableEmailOtpResend(); } function enableEmailOtpResend(){ emailOtpResendBtn.style.display = "block"; emailOtpTimer.style.display = "none" } function disableEmailOtpResend(){ emailOtpResendBtn.style.display = "none"; emailOtpTimer.style.display = "block" } function keyForEmailOtpToken(email, pageCode) { return email + '|' + pageCode+ '|SUBSCRIBE_VIA_EMAIL'; } </script> </div> <div class="container"> <div class="unresolved-incidents"> <div class="unresolved-incident impact-minor"> <div class="incident-title font-large"> <a class="whitespace-pre-wrap actual-title with-ellipsis" href="/incidents/q44dky12bcjm">Customer Support Ticket Portal</a> <a data-toggle="modal" role="button" class="subscribe" id="btn-subscribe-modal-q44dky12bcjm" href="#subscribe-modal-q44dky12bcjm">Subscribe</a> </div> <div class="updates font-regular"> <div class="update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Our Engineering team continues to work with our vendor in order to resolve the issue with users accessing the Support Portal. The issue has been escalated and we are awaiting feedback. <br /><br />As a reminder, if users need to reach out, they can utilize the form here as a workaround:<br /><br /><a target="_blank" href="https://www.digitalocean.com/company/contact/support">https://www.digitalocean.com/company/contact/support</a><br /><br />Thank you for your patience. We will post an update as soon as further information becomes available.</span> <br> <small><span class="ago" data-datetime-unix="1732247399000"></span>Nov <var data-var='date'>22</var>, <var data-var='year'>2024</var> - <var data-var='time'>03:49</var> UTC</small> </div> <div class="update"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">Our Engineering team has observed issues with our Support Portal. During brief, recurring outages, users are unable to access the Support Portal at <a target="_blank" href="https://cloudsupport.digitalocean.com/">https://cloudsupport.digitalocean.com/</a>. We are aware of these events and our engineers are working with our vendor to resolve this. <br /> <br />As this issue is intermittent, we expect users will be able to log support tickets normally. However, during any periods of unavailability, as a temporary workaround, users may still contact us via the form here: <a target="_blank" href="https://www.digitalocean.com/company/contact/support">https://www.digitalocean.com/company/contact/support</a><br /><br />Thank you for your patience. We will post an update as soon as further information becomes available.</span> <br> <small><span class="ago" data-datetime-unix="1732203643000"></span>Nov <var data-var='date'>21</var>, <var data-var='year'>2024</var> - <var data-var='time'>15:40</var> UTC</small> </div> </div> </div> <div class="modal hide fade modal-open-incident-subscribe" id="subscribe-modal-q44dky12bcjm" style="display: none" data-js-hook="incident-subscription-modal" role="dialog" aria-labelledby="incident-subscription-dialog-header" aria-describedby="incident-subscription-dialog-description" aria-modal="true"> <form class="modal-content" id="subscribe-form-q44dky12bcjm" action="/subscriptions/incident.json" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="incident_code" id="incident_code" value="q44dky12bcjm" autocomplete="off" /> <div class="modal-header"> <a href="#" data-dismiss="modal" class="close" data-js-hook="incident-modal-close" aria-label="close" role="button">×</a> <h4 id="incident-subscription-dialog-header"> Subscribe to Incident </h4> </div> <div class="modal-body"> <p style="margin-bottom:25px" id="incident-subscription-dialog-description"> Subscribe to updates for <strong>Customer Support Ticket Portal</strong> via email and/or text message. You'll receive email notifications when incidents are updated, and text message notifications whenever DigitalOcean <strong>creates</strong> or <strong>resolves</strong> an incident. </p> <div class="control-group"> <label for="email-q44dky12bcjm">VIA EMAIL:</label> <div class="controls"> <input type="text" name="email" id="email-q44dky12bcjm" data-js-hook="email" class="full-width" /> </div> </div> <div class="control-group"> <label class="phone-country-code" for=phone-country-q44dky12bcjm>VIA SMS:</label> <div class="controls phone-number"> <div class="row"> <div id='phone-number-code-q44dky12bcjm' class="phone-country-wrapper"> <select name="phone_country" id="phone-country-q44dky12bcjm" data-js-hook="phone-country" class="span6 phone-country-dropdown"><option value="af" data-otp-enabled="false" >Afghanistan (+93)</option> <option value="al" data-otp-enabled="false" >Albania (+355)</option> <option value="dz" data-otp-enabled="false" >Algeria (+213)</option> <option value="as" data-otp-enabled="false" >American Samoa (+1)</option> <option value="ad" data-otp-enabled="false" >Andorra (+376)</option> <option value="ao" data-otp-enabled="false" >Angola (+244)</option> <option value="ai" data-otp-enabled="false" >Anguilla (+1)</option> <option value="ag" data-otp-enabled="false" >Antigua and Barbuda (+1)</option> <option value="ar" data-otp-enabled="false" >Argentina (+54)</option> <option value="am" data-otp-enabled="false" >Armenia (+374)</option> <option value="aw" data-otp-enabled="false" >Aruba (+297)</option> <option value="au" data-otp-enabled="false" >Australia/Cocos/Christmas Island (+61)</option> <option value="at" data-otp-enabled="false" >Austria (+43)</option> <option value="az" data-otp-enabled="false" >Azerbaijan (+994)</option> <option value="bs" data-otp-enabled="false" >Bahamas (+1)</option> <option value="bh" data-otp-enabled="false" >Bahrain (+973)</option> <option value="bd" data-otp-enabled="false" >Bangladesh (+880)</option> <option value="bb" data-otp-enabled="false" >Barbados (+1)</option> <option value="by" data-otp-enabled="false" >Belarus (+375)</option> <option value="be" data-otp-enabled="false" >Belgium (+32)</option> <option value="bz" data-otp-enabled="false" >Belize (+501)</option> <option value="bj" data-otp-enabled="false" >Benin (+229)</option> <option value="bm" data-otp-enabled="false" >Bermuda (+1)</option> <option value="bo" data-otp-enabled="false" >Bolivia (+591)</option> <option value="ba" data-otp-enabled="false" >Bosnia and Herzegovina (+387)</option> <option value="bw" data-otp-enabled="false" >Botswana (+267)</option> <option value="br" data-otp-enabled="false" >Brazil (+55)</option> <option value="bn" data-otp-enabled="false" >Brunei (+673)</option> <option value="bg" data-otp-enabled="false" >Bulgaria (+359)</option> <option value="bf" data-otp-enabled="false" >Burkina Faso (+226)</option> <option value="bi" data-otp-enabled="false" >Burundi (+257)</option> <option value="kh" data-otp-enabled="false" >Cambodia (+855)</option> <option value="cm" data-otp-enabled="false" >Cameroon (+237)</option> <option value="ca" data-otp-enabled="false" >Canada (+1)</option> <option value="cv" data-otp-enabled="false" >Cape Verde (+238)</option> <option value="ky" data-otp-enabled="false" >Cayman Islands (+1)</option> <option value="cf" data-otp-enabled="false" >Central Africa (+236)</option> <option value="td" data-otp-enabled="false" >Chad (+235)</option> <option value="cl" data-otp-enabled="false" >Chile (+56)</option> <option value="cn" data-otp-enabled="false" >China (+86)</option> <option value="co" data-otp-enabled="false" >Colombia (+57)</option> <option value="km" data-otp-enabled="false" >Comoros (+269)</option> <option value="cg" data-otp-enabled="false" >Congo (+242)</option> <option value="cd" data-otp-enabled="false" >Congo, Dem Rep (+243)</option> <option value="cr" data-otp-enabled="false" >Costa Rica (+506)</option> <option value="hr" data-otp-enabled="false" >Croatia (+385)</option> <option value="cy" data-otp-enabled="false" >Cyprus (+357)</option> <option value="cz" data-otp-enabled="false" >Czech Republic (+420)</option> <option value="dk" data-otp-enabled="false" >Denmark (+45)</option> <option value="dj" data-otp-enabled="false" >Djibouti (+253)</option> <option value="dm" data-otp-enabled="false" >Dominica (+1)</option> <option value="do" data-otp-enabled="false" >Dominican Republic (+1)</option> <option value="eg" data-otp-enabled="false" >Egypt (+20)</option> <option value="sv" data-otp-enabled="false" >El Salvador (+503)</option> <option value="gq" data-otp-enabled="false" >Equatorial Guinea (+240)</option> <option value="ee" data-otp-enabled="false" >Estonia (+372)</option> <option value="et" data-otp-enabled="false" >Ethiopia (+251)</option> <option value="fo" data-otp-enabled="false" >Faroe Islands (+298)</option> <option value="fj" data-otp-enabled="false" >Fiji (+679)</option> <option value="fi" data-otp-enabled="false" >Finland/Aland Islands (+358)</option> <option value="fr" data-otp-enabled="false" >France (+33)</option> <option value="gf" data-otp-enabled="false" >French Guiana (+594)</option> <option value="pf" data-otp-enabled="false" >French Polynesia (+689)</option> <option value="ga" data-otp-enabled="false" >Gabon (+241)</option> <option value="gm" data-otp-enabled="false" >Gambia (+220)</option> <option value="ge" data-otp-enabled="false" >Georgia (+995)</option> <option value="de" data-otp-enabled="false" >Germany (+49)</option> <option value="gh" data-otp-enabled="false" >Ghana (+233)</option> <option value="gi" data-otp-enabled="false" >Gibraltar (+350)</option> <option value="gr" data-otp-enabled="false" >Greece (+30)</option> <option value="gl" data-otp-enabled="false" >Greenland (+299)</option> <option value="gd" data-otp-enabled="false" >Grenada (+1)</option> <option value="gp" data-otp-enabled="false" >Guadeloupe (+590)</option> <option value="gu" data-otp-enabled="false" >Guam (+1)</option> <option value="gt" data-otp-enabled="false" >Guatemala (+502)</option> <option value="gn" data-otp-enabled="false" >Guinea (+224)</option> <option value="gy" data-otp-enabled="false" >Guyana (+592)</option> <option value="ht" data-otp-enabled="false" >Haiti (+509)</option> <option value="hn" data-otp-enabled="false" >Honduras (+504)</option> <option value="hk" data-otp-enabled="false" >Hong Kong (+852)</option> <option value="hu" data-otp-enabled="false" >Hungary (+36)</option> <option value="is" data-otp-enabled="false" >Iceland (+354)</option> <option value="in" data-otp-enabled="false" >India (+91)</option> <option value="id" data-otp-enabled="false" >Indonesia (+62)</option> <option value="iq" data-otp-enabled="false" >Iraq (+964)</option> <option value="ie" data-otp-enabled="false" >Ireland (+353)</option> <option value="il" data-otp-enabled="false" >Israel (+972)</option> <option value="it" data-otp-enabled="false" >Italy (+39)</option> <option value="jm" data-otp-enabled="false" >Jamaica (+1)</option> <option value="jp" data-otp-enabled="false" >Japan (+81)</option> <option value="jo" data-otp-enabled="false" >Jordan (+962)</option> <option value="ke" data-otp-enabled="false" >Kenya (+254)</option> <option value="kr" data-otp-enabled="false" >Korea, Republic of (+82)</option> <option value="xk" data-otp-enabled="false" >Kosovo (+383)</option> <option value="kw" data-otp-enabled="false" >Kuwait (+965)</option> <option value="kg" data-otp-enabled="false" >Kyrgyzstan (+996)</option> <option value="la" data-otp-enabled="false" >Laos (+856)</option> <option value="lv" data-otp-enabled="false" >Latvia (+371)</option> <option value="lb" data-otp-enabled="false" >Lebanon (+961)</option> <option value="ls" data-otp-enabled="false" >Lesotho (+266)</option> <option value="lr" data-otp-enabled="false" >Liberia (+231)</option> <option value="ly" data-otp-enabled="false" >Libya (+218)</option> <option value="li" data-otp-enabled="false" >Liechtenstein (+423)</option> <option value="lt" data-otp-enabled="false" >Lithuania (+370)</option> <option value="lu" data-otp-enabled="false" >Luxembourg (+352)</option> <option value="mo" data-otp-enabled="false" >Macao (+853)</option> <option value="mk" data-otp-enabled="false" >Macedonia (+389)</option> <option value="mg" data-otp-enabled="false" >Madagascar (+261)</option> <option value="mw" data-otp-enabled="false" >Malawi (+265)</option> <option value="my" data-otp-enabled="false" >Malaysia (+60)</option> <option value="mv" data-otp-enabled="false" >Maldives (+960)</option> <option value="ml" data-otp-enabled="false" >Mali (+223)</option> <option value="mt" data-otp-enabled="false" >Malta (+356)</option> <option value="mq" data-otp-enabled="false" >Martinique (+596)</option> <option value="mr" data-otp-enabled="false" >Mauritania (+222)</option> <option value="mu" data-otp-enabled="false" >Mauritius (+230)</option> <option value="mx" data-otp-enabled="false" >Mexico (+52)</option> <option value="mc" data-otp-enabled="false" >Monaco (+377)</option> <option value="mn" data-otp-enabled="false" >Mongolia (+976)</option> <option value="me" data-otp-enabled="false" >Montenegro (+382)</option> <option value="ms" data-otp-enabled="false" >Montserrat (+1)</option> <option value="ma" data-otp-enabled="false" >Morocco/Western Sahara (+212)</option> <option value="mz" data-otp-enabled="false" >Mozambique (+258)</option> <option value="na" data-otp-enabled="false" >Namibia (+264)</option> <option value="np" data-otp-enabled="false" >Nepal (+977)</option> <option value="nl" data-otp-enabled="false" >Netherlands (+31)</option> <option value="nz" data-otp-enabled="false" >New Zealand (+64)</option> <option value="ni" data-otp-enabled="false" >Nicaragua (+505)</option> <option value="ne" data-otp-enabled="false" >Niger (+227)</option> <option value="ng" data-otp-enabled="false" >Nigeria (+234)</option> <option value="no" data-otp-enabled="false" >Norway (+47)</option> <option value="om" data-otp-enabled="false" >Oman (+968)</option> <option value="pk" data-otp-enabled="false" >Pakistan (+92)</option> <option value="ps" data-otp-enabled="false" >Palestinian Territory (+970)</option> <option value="pa" data-otp-enabled="false" >Panama (+507)</option> <option value="py" data-otp-enabled="false" >Paraguay (+595)</option> <option value="pe" data-otp-enabled="false" >Peru (+51)</option> <option value="ph" data-otp-enabled="false" >Philippines (+63)</option> <option value="pl" data-otp-enabled="false" >Poland (+48)</option> <option value="pt" data-otp-enabled="false" >Portugal (+351)</option> <option value="pr" data-otp-enabled="false" >Puerto Rico (+1)</option> <option value="qa" data-otp-enabled="false" >Qatar (+974)</option> <option value="re" data-otp-enabled="false" >Reunion/Mayotte (+262)</option> <option value="ro" data-otp-enabled="false" >Romania (+40)</option> <option value="ru" data-otp-enabled="false" >Russia/Kazakhstan (+7)</option> <option value="rw" data-otp-enabled="false" >Rwanda (+250)</option> <option value="ws" data-otp-enabled="false" >Samoa (+685)</option> <option value="sm" data-otp-enabled="false" >San Marino (+378)</option> <option value="sa" data-otp-enabled="false" >Saudi Arabia (+966)</option> <option value="sn" data-otp-enabled="false" >Senegal (+221)</option> <option value="rs" data-otp-enabled="false" >Serbia (+381)</option> <option value="sc" data-otp-enabled="false" >Seychelles (+248)</option> <option value="sl" data-otp-enabled="false" >Sierra Leone (+232)</option> <option value="sg" data-otp-enabled="false" >Singapore (+65)</option> <option value="sk" data-otp-enabled="false" >Slovakia (+421)</option> <option value="si" data-otp-enabled="false" >Slovenia (+386)</option> <option value="za" data-otp-enabled="false" >South Africa (+27)</option> <option value="es" data-otp-enabled="false" >Spain (+34)</option> <option value="lk" data-otp-enabled="false" >Sri Lanka (+94)</option> <option value="kn" data-otp-enabled="false" >St Kitts and Nevis (+1)</option> <option value="lc" data-otp-enabled="false" >St Lucia (+1)</option> <option value="vc" data-otp-enabled="false" >St Vincent Grenadines (+1)</option> <option value="sd" data-otp-enabled="false" >Sudan (+249)</option> <option value="sr" data-otp-enabled="false" >Suriname (+597)</option> <option value="sz" data-otp-enabled="false" >Swaziland (+268)</option> <option value="se" data-otp-enabled="false" >Sweden (+46)</option> <option value="ch" data-otp-enabled="false" >Switzerland (+41)</option> <option value="tw" data-otp-enabled="false" >Taiwan (+886)</option> <option value="tj" data-otp-enabled="false" >Tajikistan (+992)</option> <option value="tz" data-otp-enabled="false" >Tanzania (+255)</option> <option value="th" data-otp-enabled="false" >Thailand (+66)</option> <option value="tg" data-otp-enabled="false" >Togo (+228)</option> <option value="to" data-otp-enabled="false" >Tonga (+676)</option> <option value="tt" data-otp-enabled="false" >Trinidad and Tobago (+1)</option> <option value="tn" data-otp-enabled="false" >Tunisia (+216)</option> <option value="tr" data-otp-enabled="false" >Turkey (+90)</option> <option value="tc" data-otp-enabled="false" >Turks and Caicos Islands (+1)</option> <option value="ug" data-otp-enabled="false" >Uganda (+256)</option> <option value="ua" data-otp-enabled="false" >Ukraine (+380)</option> <option value="ae" data-otp-enabled="false" >United Arab Emirates (+971)</option> <option value="gb" data-otp-enabled="false" >United Kingdom (+44)</option> <option value="us" data-otp-enabled="false" selected>United States (+1)</option> <option value="uy" data-otp-enabled="false" >Uruguay (+598)</option> <option value="uz" data-otp-enabled="false" >Uzbekistan (+998)</option> <option value="ve" data-otp-enabled="false" >Venezuela (+58)</option> <option value="vn" data-otp-enabled="false" >Vietnam (+84)</option> <option value="vg" data-otp-enabled="false" >Virgin Islands, British (+1)</option> <option value="vi" data-otp-enabled="false" >Virgin Islands, U.S. (+1)</option> <option value="ye" data-otp-enabled="false" >Yemen (+967)</option> <option value="zm" data-otp-enabled="false" >Zambia (+260)</option> <option value="zw" data-otp-enabled="false" >Zimbabwe (+263)</option></select> </div> </div> </div> <label class="sub-label" for="phone-number-q44dky12bcjm">Enter mobile number</label> <div class="controls phone-number" data-js-hook="modal-open-incident-subscribe-phone-number"> <div class="flex-container"> <input type="text" name="phone_number" id="phone-number-q44dky12bcjm" data-js-hook="phone-number" /> <input type="hidden" name="incident-code-q44dky12bcjm" id="incident-code-q44dky12bcjm" value="q44dky12bcjm" autocomplete="off" /> <a class="btn-change-number-incident" id="btn-change-number-incident-q44dky12bcjm" style="display: none;" data-incident-code="q44dky12bcjm" href="#"> Edit number </a> <a class="btn-subcriber-send-otp" id="btn-subcriber-send-otp-q44dky12bcjm" style="display: none;" data-incident-code="q44dky12bcjm" href="#"> Send OTP </a> </div> </div> <div class="sms-atl-error" id='sms-atl-error-q44dky12bcjm'></div> <div class="opt-container-section" id='otp-container-incident-q44dky12bcjm' style="display:none"> <label class="sub-label" for="otp">Enter the OTP sent</label> <div class="flex-container"> <input name="otp" id='otp-field-q44dky12bcjm' type="text" class="prepend" disabled> <a class="resend-otp" id="resend-otp-q44dky12bcjm" style="display: none;" data-incident-code="q44dky12bcjm" href="#"> Resend OTP </a> <span class="timer-incident" id='timer-incident-q44dky12bcjm' style="display:none"> in <span id='countdown-incident-q44dky12bcjm'>30</span> seconds</span> </div> <div class="info-row flex-container"> <div class="info-icon"><svg width="2vh" height="2vh" viewBox="0 0 21 21" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="status-embed-svg-info-icon"> <defs> <path d="M2,12 C2,6.47666667 6.47666667,2 12,2 C17.5233333,2 22,6.47666667 22,12 C22,17.5233333 17.5233333,22 12,22 C6.47666667,22 2,17.5233333 2,12 Z M4,12 C4,16.4187638 7.58123617,20 12,20 C16.4187638,20 20,16.4187638 20,12 C20,7.58123617 16.4187638,4 12,4 C7.58123617,4 4,7.58123617 4,12 Z M11,11.0029293 C11,10.4490268 11.4438648,10 12,10 C12.5522847,10 13,10.4378814 13,11.0029293 L13,15.9970707 C13,16.5509732 12.5561352,17 12,17 C11.4477153,17 11,16.5621186 11,15.9970707 L11,11.0029293 Z M12,9 C11.4477153,9 11,8.55228475 11,8 C11,7.44771525 11.4477153,7 12,7 C12.5522847,7 13,7.44771525 13,8 C13,8.55228475 12.5522847,9 12,9 Z" id="path-info"></path> </defs> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(-702.000000, -945.000000)"> <g id="global/info" transform="translate(700.500000, 943.500000)"> <mask id="mask-info" fill="white"> <use xlink:href="#path-info"></use> </mask> <use id="Combined-Shape" fill="#42526E" fill-rule="nonzero" xlink:href="#path-info"></use> <g id="Neutral-/-N000" mask="url(#mask-info)" fill-rule="evenodd"> <polygon points="0 24 24 24 24 0 0 0"></polygon> </g> </g> </g> </g> </svg> </div> <div>To receive SMS updates, please verify your number. To proceed with just email click ‘Subscribe’ </div> </div> </div> </div> </div> <div class="modal-footer incident-subscribe"> <!-- tests fail if static width isn't present ¯\_(ツ)_/¯ --> <button name="button" type="submit" class="flat-button cpt-button incident-subscribe-btn-captcha" id="subscribe-btn-q44dky12bcjm" onclick="submitCaptchaIncidentSubscribe(event)">Subscribe to Incident</button> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response" value="false" autocomplete="off" /> <div class="terms_and_privacy_information left small">Message and data rates may apply. By subscribing you agree to the Atlassian <a target="_blank" rel="noopener" href="https://www.atlassian.com/legal/product-specific-terms#statuspage-specific-terms">Terms of Service</a>, and the Atlassian <a target="_blank" rel="noopener" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>. This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </div> </form> </div> <script> $(function () { const phoneNumberInputIncident = $('#phone-number-q44dky12bcjm'); const phoneCountrySelect = $('#phone-country-q44dky12bcjm'); const errorDiv = $('#sms-atl-error-q44dky12bcjm'); const phoneCountryDiv = $('#phone-number-code-q44dky12bcjm'); if(errorDiv.length){ function checkSelectedCountry() { const selectedCountry = phoneCountrySelect.val(); const isOtpEnabled = phoneCountryDiv.attr('data-otp-enabled') === 'true'; if(false && selectedCountry === 'sg') { // Replace 'SG' with the actual value representing Singapore in your select tag phoneNumberInputIncident.prop('disabled', true); errorDiv.html(`Due to new Singapore government regulations, we're currently not supporting text subscriptions in Singapore.<a href="https://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398" target="_blank"> Learn more.</a> <br> Select another method to subscribe.`); } else { phoneNumberInputIncident.prop('readOnly', false); errorDiv.html(''); if(false){ $('#btn-change-number-incident-q44dky12bcjm').css('display', 'none'); $('#resend-otp-q44dky12bcjm').css('display', 'none'); $('#timer-incident-q44dky12bcjm').css('display', 'none'); if(isOtpEnabled){ $('#otp-container-incident-q44dky12bcjm').css('display', 'block'); $('#btn-subcriber-send-otp-q44dky12bcjm').css('display', 'block'); } else { $('#otp-container-incident-q44dky12bcjm').css('display', 'none'); $('#btn-subcriber-send-otp-q44dky12bcjm').css('display', 'none'); } } } } phoneCountrySelect.on('change', checkSelectedCountry); checkSelectedCountry(); } }); document.addEventListener('DOMContentLoaded', function() { const dropdowns = document.querySelectorAll('.phone-country-dropdown'); if (dropdowns.length > 0) { dropdowns.forEach(function(dropdown) { const dropdownId = dropdown.id; const incidentCode = dropdownId.split('-').pop(); const wrapperDiv = $('#phone-number-code-' + incidentCode); function updateOtpEnabledAttribute() { const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.attr('data-otp-enabled', otpEnabled); } dropdown.addEventListener('change', updateOtpEnabledAttribute); updateOtpEnabledAttribute(); }); } }); var countdownTimers = {}; var phoneNumberInputIncident = $('#phone-number-q44dky12bcjm'); var RESEND_TIMER = 30; $(function() { $('#subscribe-form-q44dky12bcjm').on('ajax:success', function(e, data, status, xhr){ var $form = $(this); var formId = $form.attr('id'); var incidentCode = formId.split('-').pop(); $('#btn-change-number-incident-' + incidentCode).css('display', 'block'); if ( $('#btn-change-number-incident-'+ incidentCode).css('display') !== 'none') { $('#btn-change-number-incident-'+ incidentCode).css('display', 'none'); $('#btn-subcriber-send-otp-'+ incidentCode).css('display', 'block'); $('#otp-container-incident-'+ incidentCode).css('display', 'block'); $('#resend-otp-'+ incidentCode).css('display', 'none'); $('#timer-incident-'+ incidentCode).css('display', 'none'); $('#phone-number-' + incidentCode).prop('readOnly', false); $('#otp-field-' + incidentCode).val('').prop('disabled', true); } if(countdownTimers){ clearInterval(countdownTimers[incidentCode]); } }); $('#btn-change-number-incident-q44dky12bcjm').on('click', function (e) { var incidentCode = $(this).data('incident-code'); showSendOTP(incidentCode); return false; }); $('#btn-subcriber-send-otp-q44dky12bcjm').on('click', function (e) { let incidentCode = $(this).data('incident-code'); let phoneNumber = $('#phone-number-' + incidentCode).val(); let countryCode = $('#phone-country-' + incidentCode).val(); let incidentCodeField = $('#incident-code-' + incidentCode).val(); sendOtpRequest(phoneNumber, countryCode, incidentCodeField, function (data, status) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); e.preventDefault(); if (data.type === 'success') { showChangeNumber(incidentCode); } }); }); $('#resend-otp-q44dky12bcjm').on('click', function(e) { let incidentCode = $(this).data('incident-code'); let phoneNumber = $('#phone-number-' + incidentCode).val(); let countryCode = $('#phone-country-' + incidentCode).val(); let incidentCodeField = $('#incident-code-' + incidentCode).val(); sendOtpRequest(phoneNumber, countryCode, incidentCodeField, function (data, status) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); e.preventDefault(); disableResendIncident(incidentCode); if (data.type === 'success') { var display = $('#countdown-incident-' + incidentCode); startTimerIncident(RESEND_TIMER, display, incidentCode ); } }); }); }) function sendOtpRequest(phoneNumber, countryCode, incidentCode, onSuccess) { $.ajax({ type: 'POST', url: "/subscriptions/new-sms", data: { phone_number: phoneNumber, phone_country: countryCode, incident_code: incidentCode, type: 'resend' }, }).done(onSuccess); } function showChangeNumber(incidentCode) { $('#btn-change-number-incident-' + incidentCode).css('display', 'block'); $('#btn-subcriber-send-otp-' + incidentCode).css('display', 'none'); $('#otp-field-' + incidentCode).val('').prop('disabled', false); $('#phone-number-' + incidentCode).prop('readOnly', true); $('#resend-otp-'+ incidentCode).css('display', 'block'); var display = $('#countdown-incident-' + incidentCode); startTimerIncident(RESEND_TIMER, display, incidentCode) } function showSendOTP(incidentCode) { $('#btn-change-number-incident-' + incidentCode).css('display', 'none'); $('#btn-subcriber-send-otp-' + incidentCode).css('display', 'block'); $('#otp-field-' + incidentCode).val('').prop('disabled', true); $('#phone-number-' + incidentCode).prop('readOnly', false); $('#resend-otp-'+ incidentCode).css('display', 'none'); $('#timer-incident-'+ incidentCode).css('display', 'none'); clearInterval(countdownTimers[incidentCode]); } function startTimerIncident(duration, display, incidentCode){ var timerIncident = duration, seconds; clearInterval(countdownTimers[incidentCode]); countdownTimers[incidentCode] = setInterval(function () { seconds = parseInt(timerIncident % 60, 10); display.text(seconds); $('#timer-incident-'+ incidentCode).css('display', 'block'); if(--timerIncident < 0){ enableResendIncident(incidentCode); clearInterval(countdownTimers[incidentCode]); } }, 1000); disableResendIncident(incidentCode); } function enableResendIncident(incidentCode){ $('#resend-otp-' + incidentCode).css('color', ''); $('#resend-otp-' + incidentCode).css('pointer-events', ''); $('#timer-incident-'+ incidentCode).css('display', 'none'); } function disableResendIncident(incidentCode){ $('#resend-otp-' + incidentCode).css('color', 'grey'); $('#resend-otp-' + incidentCode).css('pointer-events', 'none'); } </script> </div> <div class="components-section font-regular"> <div class="components-container one-column"> <div class="component-container border-color"> <div data-component-id="p1x9rv4137gx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> API </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="xbsdwfbb4xx0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Billing </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="czck17wcspr5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Cloud Control Panel </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="pg9zc33244c7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Cloud Firewall </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="2p17zg8kmsyc" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Community </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="qdnryq0lymfk" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> DNS </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="hklgsphcrjq4" class="component-inner-container status-yellow " data-component-status="degraded_performance" data-js-hook=""> <span class="name"> Support Center </span> <span class="component-status " title="" > Degraded Performance </span> <span class="tool icon-indicator fa fa-minus-square" title="Degraded Performance"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="yvh4g97h7mk7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Reserved IP </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="30fq20d840t8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> WWW </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="jjs48vwjlqjr" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle App Platform" tabindex="0"></span> <span> App Platform </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="txysr8r0gn1n" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="65brl8m428rn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Amsterdam </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="1c2vrfy9qbvv" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Bangalore </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ttzvwy2wf0k3" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Frankfurt </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="56cjsvgf3vk4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> London </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="fkf61qj12vby" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> New York </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dn73yck15rk9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> San Francisco </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="m9ky4d5d3q4g" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Singapore </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sz7nt917qrd8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Sydney </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="wzgnsrflzlr5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Toronto </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="nmb3bbtqfgsj" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Container Registry" tabindex="0"></span> <span> Container Registry </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="3xz669qnng8n" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="glhj9rkw3mp8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ggjq7y0mqt4y" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sk01cyydqy7b" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="hnqx47tg75cw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="8pntc51v5prb" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="zfnbgvbvc6bd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="k3xwyjfy34vw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="7z4k9k6wgbsq" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="4rgs7bbljl8d" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Droplets" tabindex="0"></span> <span> Droplets </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="dkbfnt2ghbw4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="y8xkcw7m31k5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="9q2dq7jc5bk9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5wjrpc0lf1qc" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kkg2cfkqkwj1" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="btv040v4xbdn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="fb63qt9f69m0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="9czvz44l7dp3" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="mrdxgk8b9l9m" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="86hpqb7crkzg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="d28g0q5tjlnf" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2zv8zdysz98p" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kvrtqsmcph72" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="fp3yv6vdqkxt" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="h4ktbyxsxssg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="b3tklvcyzvh0" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Event Processing" tabindex="0"></span> <span> Event Processing </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="558h1l1q0c2w" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vdkgf4mssd93" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="nz589c69ymyy" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ytggjm2hdb5y" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dzbtk2fkytv5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="062037558j7d" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="t2sr3808q4ry" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="f61lqt7r9fg5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ty601myjf6cj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="txy6938s4dhq" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sczx6qbs36ps" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pp8pv57fs5f4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="crftxywml4sx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sf15v29bzqg2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="myqfd21mmbh9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="q6r6dg0ss2js" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Functions" tabindex="0"></span> <span> Functions </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="k96xfyczckzw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ld7120hh6877" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="8lq3tm0cbjbs" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pxjg9r3mkxn7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="t5yvzbwj9snn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="py0tr7dkb36t" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="d1cvx1qj7f1n" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="snksf5q3gbx9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="rm6mtm25jj2d" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="d3j48w1r55sx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="hz17hg2dwjj5" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle GPU Droplets" tabindex="0"></span> <span> GPU Droplets </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="q2c5475x69cz" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2m55tfz8n656" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="r5sr0pyxn1kb" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="kl8qv98c9brp" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Managed Databases" tabindex="0"></span> <span> Managed Databases </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="mzkgffp35tq4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="msbt8b9p1p0q" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ttltt91ldz3g" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="l8lxzfpgpc39" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="79j9sw2l27cv" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="d2m7jh32j7z1" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vzxxv27h45m4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="gt78t0v1dx9k" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="qkrqphz8r8d0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2cvhn89gxfk8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="29xvj6jck5fm" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="y24751gr0df8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5v01jvb2gwjz" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="2d23wwyqgq6m" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Monitoring" tabindex="0"></span> <span> Monitoring </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="yht2qc1zfp6x" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dv1m7pg1ckqb" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="m0tnfvx7md2x" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="bkv5k5hnlg3q" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="tf7m45473hzd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="chy7qdrqy3tn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kgt6s4ckl9fh" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sdv7rfbf2w42" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="grxx637rqt5r" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sr3cry87tnkr" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="6492wj01735w" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vb0g5n4m2d59" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="w2pchvqc4918" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pg1cc9tbfdlg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kjmh0ndx26zf" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="sjlhrm4vf4pr" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Networking" tabindex="0"></span> <span> Networking </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="5rzxjrq10gb2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="6qd0crrqlstj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="4q7lkrddxdnn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="lmgn764lq04q" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="7f592f0nhxhs" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="rwfv6j4jpn2y" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dhcf7lpc5q3z" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="r2cw20w0r9zx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="4lc0zwg56npx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="btbzvrcdfjb3" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="r59jnkcnpy5w" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pkldx6th5q38" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="4yq3sg5wrzx2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pvrxw08f1wxj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="3hwkzd3pqd0p" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="gb3gs5vj7js2" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Kubernetes" tabindex="0"></span> <span> Kubernetes </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="ljktrzzffk6j" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="xmrt3s9p9lw7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="tzjfd82zn341" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="566bp0vk7mwx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ymz9qzqj9rxv" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="jzv4wms5qc33" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dzkmyxfh1rf0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="83tzdysp693h" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="s9txl6g88v1z" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2d91fg0js59k" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="q9wrfk6yn5m8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="xr6mrvgw7q9c" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="jg6pzd84p7bn" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Load Balancers" tabindex="0"></span> <span> Load Balancers </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="ctwhml01vvw1" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="q332gmv27njg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="k3lz9cdfxr5h" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="76vqxw3xnwh9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2tfqdy27151t" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dthxlw365zmm" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2vpzq3ytx996" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="12w0d51pyjvh" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="x94k17yvyvj7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="40f2th6p044g" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="qpfd9tcp5dp7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="9mrvzmdgkksr" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="k0svklf2hmb4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="xmjmwjbpgls5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="3k1h85kh76zy" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="fdg768pfw7v3" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Spaces" tabindex="0"></span> <span> Spaces </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="nkx0nmdx9vrs" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="z2cshz8pdgwj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="66wjtpd8ngvx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="tz43j53blsmy" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="w4m98sdz3szn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="lf2rrgctn54t" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="rf1h8gfz4ts6" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="bpchszdrvvc5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="b44h3yhj3jy5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="0fycrqvyvqf3" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Spaces CDN" tabindex="0"></span> <span> Spaces CDN </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="8cp93lvtlh32" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vpsyj9648bv2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="gpcbys3n2v21" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ydgcz5twlr1m" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5108wr792q5m" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="23yr3tv35ld7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="mv6lb3084t43" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="0m9zj5r96xhd" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle VPC" tabindex="0"></span> <span> VPC </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="kwqnp70p9wjy" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ky2s2vlsjl0y" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="v5b8dj1kl3rh" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="x111j8zrmwrd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="jd3kx416ss80" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vsnnjcmt3dhg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="tvs6bwzfdc2j" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="rpk174pnyr42" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="4945q9my8ycl" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="lwvmstkg3yv6" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dchd0yhfsf7p" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ldccrdgw9kp7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2ldq149jd2pd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="gsc07xtmzx06" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="0hdtqm5v59fk" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="hjz5ry9b7nl6" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Volumes" tabindex="0"></span> <span> Volumes </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="g8rttgsgxr37" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="spjc09zjy5ms" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="p2nsvdxf7vjp" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="6xz356g340vj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="8zd85sg0nhnc" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ffghd7w93zbw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="p4l05gv4bg18" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="hlr2gdtmpmxs" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="fkzl92xwpwc9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="b9n6frtjqnzm" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="j92cs7vmnhnc" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kzjfhwmlkw4b" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="q7b6ftmzs9m9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="4q7xqwryx8rd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="1ftd3qnspsx6" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> </div> <div class="component-statuses-legend font-small"> <div class="legend-item status-green"> <span class="icon-indicator fa fa-check"></span> Operational </div> <div class="legend-item status-yellow"> <span class="icon-indicator fa fa-minus-square"></span> Degraded Performance </div> <div class="legend-item status-orange"> <span class="icon-indicator fa fa-exclamation-triangle"></span> Partial Outage </div> <div class="breaker"></div> <div class="legend-item status-red"> <span class="icon-indicator fa fa-times"></span> Major Outage </div> <div class="legend-item status-blue"> <span class="icon-indicator fa fa-wrench"></span> Maintenance </div> </div> </div> <div class="incidents-list format-expanded"> <a class="font-largest no-link" id="past-incidents" href="#past-incidents">Past Incidents</a> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Nov <var data-var="date">23</var>, <var data-var="year">2024</var></div> <p class="color-secondary">No incidents reported today.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Nov <var data-var="date">22</var>, <var data-var="year">2024</var></div> <div class="incident-container"> <div class="incident-title impact-none font-large"> <a class="whitespace-pre-wrap" href="/incidents/r2mnb81dwxqb">Droplet creates in NYC3</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">From 09:05 to 09:50 UTC (November 21), our Engineering team observed an issue with Droplet creation.<br /> <br />During this time, users may have experienced intermittent errors while creating the Droplets via the Cloud Panel and API. Users should no longer be experiencing these issues.<br /><br />We apologize for the inconvenience. If you have any questions or continue to experience issues, please reach out via a Support ticket on your account.</span> <br> <small> Nov <var data-var='date'>22</var>, <var data-var='time'>17:44</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular"> <div class="date border-color font-large">Nov <var data-var="date">21</var>, <var data-var="year">2024</var></div> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Nov <var data-var="date">20</var>, <var data-var="year">2024</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/487mpb51xpk0">User Creation for PostgreSQL Managed Databases via Cloud Control Panel</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Our Engineering team has confirmed that the issue with displaying users for PostgreSQL Managed Databases across all regions has been fully resolved.<br /><br />If you continue to experience problems, please open a ticket with our support team. We apologize for any inconvenience.</span> <br> <small> Nov <var data-var='date'>20</var>, <var data-var='time'>01:54</var> UTC </small> </div> <div class="update font-regular monitoring"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">Our Engineering team has rolled out a fix to resolve the issue with displaying users for PostgreSQL Managed Databases across all regions.<br /><br />Users should no longer see errors while creating new users for PostgreSQL Managed Databases using Cloud Control Panel. <br /> <br />We will continue to monitor this at our end and will share an update once the problem is resolved completely.</span> <br> <small> Nov <var data-var='date'>20</var>, <var data-var='time'>01:34</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">Our Engineering team is investigating an issue with displaying users for PostgreSQL Managed Databases across all regions.<br /><br />During this time, users are unable to see existing users in the Cloud Control Panel. Additionally, when creating users in the Cloud Control Panel, an error will be displayed, despite the user being created successfully. <br /><br />Creating and listing users for PostgreSQL clusters via the API remains functional. <br /><br />We apologize for the inconvenience and will share an update once we have more information.</span> <br> <small> Nov <var data-var='date'>20</var>, <var data-var='time'>00:50</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Nov <var data-var="date">19</var>, <var data-var="year">2024</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Nov <var data-var="date">18</var>, <var data-var="year">2024</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/6q1fgrkqp4r0">DNS Resolution in Multiple Regions</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Our Engineering team has confirmed that the issues with Authoritative DNS resolution across multiple regions has been fully resolved. DNS queries should now be resolving normally. <br /><br />If you continue to experience problems, please open a ticket with our support team. We apologize for any inconvenience.</span> <br> <small> Nov <var data-var='date'>18</var>, <var data-var='time'>21:42</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are continuing to monitor our Authoritative DNS Service and have seen improvements since implementing the fix. The engineering team is waiting for full confirmation that the issue is corrected before we resolve this incident completely. <br /><br />If you are facing any issues with our Authoritative DNS Service, please reach out to our support team.</span> <br> <small> Nov <var data-var='date'>16</var>, <var data-var='time'>22:52</var> UTC </small> </div> <div class="update font-regular monitoring"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">Our Engineering team has implemented a fix to resolve the issues with Authoritative DNS Resolution across multiple regions and is currently monitoring the situation. <br /><br />We will continue to monitor this at our end and will share an update once the problem is resolved completely.</span> <br> <small> Nov <var data-var='date'>15</var>, <var data-var='time'>22:05</var> UTC </small> </div> <div class="update font-regular identified"> <strong>Identified</strong> - <span class="whitespace-pre-wrap">Our Engineering team has identified the cause of the issue impacting Authoritative DNS Resolution across multiple regions and is actively working on a fix. We will post an update as soon as we have more information.</span> <br> <small> Nov <var data-var='date'>15</var>, <var data-var='time'>11:12</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are actively investigating the ongoing issues with Authoritative DNS Resolution across multiple regions.<br /><br />We have engaged multiple teams to investigate the issue, and we apologize for the continued inconvenience. We will provide additional updates as soon as more information becomes available.</span> <br> <small> Nov <var data-var='date'>15</var>, <var data-var='time'>08:33</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">Our Engineering team is investigating an issue with intermittent failures and increased latency in DNS resolution across multiple regions. <br /><br />During this time, users may experience issues with DNS resolution, or see errors returned when querying DNS records which are hosted on the DigitalOcean authoritative DNS infrastructure. <br /><br />We apologize for the inconvenience and will share an update once we have more information.</span> <br> <small> Nov <var data-var='date'>15</var>, <var data-var='time'>04:03</var> UTC </small> </div> </div> </div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/q8kk6ly4tr0g">Spaces Object Storage, DigitalOcean Container Registry & App Platform</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Our Engineering team has confirmed complete resolution of the issue that was impacting Spaces Object Storage, DigitalOcean Container Registry, and App Platform, across all regions.<br /><br />From 16:52 UTC - 18:41 UTC, users may have experienced increased error rates when accessing Spaces objects, interacting with the DigitalOcean Container Registry and while creating/deploying Apps with App Platform. Functionality is completely restored and all operations are succeeding normally. <br /><br />If you continue to experience any issues with these services please submit a ticket to our customer support team for assistance. Thank you for your patience.</span> <br> <small> Nov <var data-var='date'>18</var>, <var data-var='time'>19:33</var> UTC </small> </div> <div class="update font-regular monitoring"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">Our Engineering team has completed the mitigation efforts and a fix is now deployed in all regions. <br /><br />As of 18:41 UTC, error rates have returned to normal and users should no longer experience issues accessing, creating, or performing updates on their existing services with the impacted products. <br /><br />We are monitoring the situation and will provide an update shortly.</span> <br> <small> Nov <var data-var='date'>18</var>, <var data-var='time'>19:07</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">Our Engineering team is investigating an issue impacting Spaces Object Storage, DigitalOcean Container Registry, and App Platform, across all regions. <br /><br />Beginning at 16:52 UTC, users may have started experiencing 500 errors when trying to access and perform operations with their Spaces bucket, as well as increased failure rates when pushing to Container Registries and creating/deploying Apps. <br /><br />Our team has started to apply mitigations to correct the issue, which are rolling out across all regions. <br /><br />We'll provide another update once that process has completed.</span> <br> <small> Nov <var data-var='date'>18</var>, <var data-var='time'>18:32</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Nov <var data-var="date">17</var>, <var data-var="year">2024</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular"> <div class="date border-color font-large">Nov <var data-var="date">16</var>, <var data-var="year">2024</var></div> </div> <div class="status-day font-regular"> <div class="date border-color font-large">Nov <var data-var="date">15</var>, <var data-var="year">2024</var></div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Nov <var data-var="date">14</var>, <var data-var="year">2024</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Nov <var data-var="date">13</var>, <var data-var="year">2024</var></div> <div class="incident-container"> <div class="incident-title impact-none font-large"> <a class="whitespace-pre-wrap" href="/incidents/c6tmj15lc3f5">Authoritative DNS Resolution</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">From 19:06 - 19:14 UTC, our Engineering team observed an issue impacting Authoritative DNS Resolution globally. During this time, users might have experienced latency or resolution issues while querying DNS records hosted on our authoritative DNS infrastructure. <br /><br />The Engineering team swiftly identified and resolved the issue, and as of 19:14 UTC, all DNS queries should now be resolving normally.<br /><br />We apologize for the inconvenience and if you are still experiencing issues or have any additional questions, please open a support ticket from within your account.</span> <br> <small> Nov <var data-var='date'>13</var>, <var data-var='time'>20:44</var> UTC </small> </div> </div> </div> <div class="incident-container"> <div class="incident-title impact-maintenance font-large"> <a class="whitespace-pre-wrap" href="/incidents/3cc9hty9j8dw">AMS3 Power Maintenance</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular completed"> <strong>Completed</strong> - <span class="whitespace-pre-wrap">The AMS3 Power Maintenance which was previously scheduled at 2024-11-14 20:00 UTC has been cancelled. We will notify you via email and a new maintenance post on status.digitalocean.com with the updated date and timings for this maintenance.<br /><br />We apologize for any inconvenience and thank you for your understanding. <br /><br />If you have questions or concerns about this maintenance, please reach out to us by opening up a ticket on your account.</span> <br> <small> Nov <var data-var='date'>13</var>, <var data-var='time'>13:43</var> UTC </small> </div> <div class="update font-regular scheduled"> <strong>Scheduled</strong> - <span class="whitespace-pre-wrap">Start: 2024-11-14 20:00 UTC<br />End: 2024-11-15 06:00 UTC<br /><br />Hello,<br /><br />During the above window, our Engineering team will be performing maintenance on redundant upstream electrical systems in order to improve reliability in our AMS3 region.<br /><br />Expected Impact:<br /><br />Power systems are redundant and we don’t expect to see any downtime, however, in the very unlikely situation that we lose power to both supplies, users may experience disruption with the following services or for a brief period:<br /><br />Networking<br />Backups<br />Snapshots<br />Droplet create & restore operations<br /><br />We will endeavor to keep any downtime to a minimum for the duration of the change.<br /><br />If you have any questions related to this issue please send us a ticket from your cloud support page. <a target="_blank" href="https://cloudsupport.digitalocean.com/s/createticket">https://cloudsupport.digitalocean.com/s/createticket</a><br /><br />Thank you,<br />Team DigitalOcean</span> <br> <small> Nov <var data-var='date'>12</var>, <var data-var='time'>13:48</var> UTC </small> </div> </div> </div> <div class="incident-container"> <div class="incident-title impact-maintenance font-large"> <a class="whitespace-pre-wrap" href="/incidents/y7t32thy2n51">SFO3 Network Maintenance</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular completed"> <strong>Completed</strong> - <span class="whitespace-pre-wrap">The SFO3 Network Maintenance which was previously scheduled at 2024-11-13 10:00 UTC has been cancelled. We will notify you via email and a new maintenance post on status.digitalocean.com with the updated date and timings for this maintenance.<br /><br />We apologize for any inconvenience and thank you for your understanding. <br /><br />If you have questions or concerns about this maintenance, please reach out to us by opening up a ticket on your account.</span> <br> <small> Nov <var data-var='date'>13</var>, <var data-var='time'>11:10</var> UTC </small> </div> <div class="update font-regular in progress"> <strong>In progress</strong> - <span class="whitespace-pre-wrap">Scheduled maintenance is currently in progress. We will provide updates as necessary.</span> <br> <small> Nov <var data-var='date'>13</var>, <var data-var='time'>10:00</var> UTC </small> </div> <div class="update font-regular scheduled"> <strong>Scheduled</strong> - <span class="whitespace-pre-wrap">Start: 2024-11-13 10:00 UTC<br />End: 2024-11-13 14:00 UTC<br /><br />During the above window, our Networking team will be performing maintenance on core switches in our SFO3 datacenter as part of network upgrades. <br /><br />Expected Impact:<br /><br />These upgrades are designed and tested to be seamless, and we do not expect any impact to customer traffic due to this maintenance. Should an unexpected issue arise, a possible outcome would be temporary loss of connectivity or increased latency for a brief period of time. We will endeavor to keep any such impact to a minimum.<br /><br />If you have any questions related to this issue please send us a ticket from your cloud support page. <a target="_blank" href="https://cloudsupport.digitalocean.com/s/createticket">https://cloudsupport.digitalocean.com/s/createticket</a></span> <br> <small> Nov <var data-var='date'>11</var>, <var data-var='time'>10:20</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Nov <var data-var="date">12</var>, <var data-var="year">2024</var></div> <div class="incident-container"> <div class="incident-title impact-none font-large"> <a class="whitespace-pre-wrap" href="/incidents/qtbkgbs8csdb">Multiple Services in NYC3</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">From 20:03 - 20:08 UTC, our Engineering team observed an issue with internal DigitalOcean network connectivity in the NYC3 region. During this time, users might have experienced errors for control plane operations for services in NYC3, such as creating and deleting services, or issuing updates to existing services for products like App Platform Apps, DOKS & Managed Databases. <br /><br />The incident did not impact public or private network connectivity for customer services.<br /><br />We apologize for the inconvenience and if you are still experiencing issues or have any additional questions, please open a support ticket from within your account.</span> <br> <small> Nov <var data-var='date'>12</var>, <var data-var='time'>22:06</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Nov <var data-var="date">11</var>, <var data-var="year">2024</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Nov <var data-var="date">10</var>, <var data-var="year">2024</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Nov <var data-var="date"> 9</var>, <var data-var="year">2024</var></div> <p class="color-secondary">No incidents reported.</p> </div> </div> <div class="page-footer border-color font-small"> <a href="/history" class="history-footer-link"><span style="font-family:arial">←</span> Incident History</a> <span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=status.digitalocean.com&utm_content=SP-notifications&utm_medium=powered-by&utm_source=inapp">Powered by Atlassian Statuspage</a></span> </div> </div> <div class="custom-footer-container"> <div class="footer-links"> <a href="https://www.digitalocean.com">DigitalOcean Home</a> <a href="https://developers.digitalocean.com/documentation/v2/">API Docs</a> <a href="https://www.digitalocean.com/community/">Community</a> </div> <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.6/cookieconsent.min.css" /> <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.6/cookieconsent.min.js"></script> <style> .cc-window {font-family: proxima-nova, 'proxima nova', 'helvetica neue', helvetica, arial, sans-serif; font-size: 13px; line-height: 17px} .cc-bottom {bottom: 20px} .cc-right {right: 20px} .cc-window a {text-decoration: none} .cc-window.cc-floating {max-width: 461px; padding: 20px 35px 20px 20px;} .cc-floating .cc-message {margin-bottom: 0;} .cc-floating .cc-message a {color: #0069ff;} .cc-message .cc-compliance {position: absolute; top: 5px; right: 0; font-weight: bold; font-size: 15px;} .cc-message .cc-compliance .cc-btn {border-width: 0; color: #999;} .cc-message + .cc-compliance {display: none;} @media only screen and (min-width: 420px) { .cc-window {font-size: 14px; line-height: 20px; border-radius: 4px;} .cc-message .cc-compliance {top: 1px; right: 1px;} } </style> <script> (function () { if(typeof window.CustomEvent === 'function') { return false; } function CustomEvent(event, params) { params = params || { bubbles: false, cancelable: false, detail: undefined }; var evt = document.createEvent( 'CustomEvent' ); evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail ); return evt; } CustomEvent.prototype = window.Event.prototype; window.CustomEvent = CustomEvent; })(); (function () { var TIMEOUT_INTERVAL = 5000; var SCROLL_RANGE = 20; function getCookie(name) { var value = "; " + document.cookie; var parts = value.split("; " + name + "="); if (parts.length == 2) return parts.pop().split(";").shift(); } function onCookieConsentStatusChange(status) { if(window.cookieconsent_status !== status) { window.cookieconsent_status = status; window.dispatchEvent(new CustomEvent('cookieconsent_statuschange', { detail: { status: status } })); } } function setCookie(status) { var expiresDate = new Date(); expiresDate.setFullYear(expiresDate.getFullYear() + 1); var cookie = [ 'cookieconsent_status=' + status, 'expires=' + expiresDate.toUTCString(), 'path=/', 'domain=.digitalocean.com' ]; document.cookie = cookie.join('; '); } function onDocumentClick(e) { var elt = e.target; while((elt = elt.parentElement) && !elt.classList.contains('cc-window')); if(!elt || e.target.classList.contains('cc-dismiss')) { onCookieConsentStatusChange('dismiss'); setCookie('dismiss'); document.body.removeEventListener('click', onDocumentClick); hideBannerOnDelay(); } } function onDocumentKeyUp(e) { if(e.which === 9) { onCookieConsentStatusChange('dismiss'); setCookie('dismiss'); document.body.removeEventListener('keyup', onDocumentKeyUp); hideBannerOnDelay(); } } function onWindowScroll() { if(window.pageYOffset > Math.floor(SCROLL_RANGE)) { onCookieConsentStatusChange('dismiss'); setCookie('dismiss'); window.removeEventListener('scroll', onWindowScroll); hideBannerOnDelay(); } } function hideBannerOnDelay() { var timeout = setTimeout(function() { document.querySelector('.cc-window .cc-message > .cc-compliance > .cc-dismiss').click(); clearTimeout(timeout); }, TIMEOUT_INTERVAL); } var cookieconsent_status = getCookie('cookieconsent_status'); if(cookieconsent_status && cookieconsent_status != 'deny') { window.addEventListener('DOMContentLoaded', function() { window.cookieconsent_status = cookieconsent_status; window.dispatchEvent(new CustomEvent('cookieconsent_statuschange', { detail: { status: cookieconsent_status} })); }); } else { window.addEventListener('load', function() { var timeout = setTimeout(function() { document.body.addEventListener('click', onDocumentClick); document.body.addEventListener('keyup', onDocumentKeyUp); window.addEventListener('scroll', onWindowScroll); clearTimeout(timeout); }, TIMEOUT_INTERVAL); }); window.addEventListener('DOMContentLoaded', function() { window.cookieconsent.initialise({ palette: { popup: { background: 'rgba(243,245,249,0.94)', text: '#4a4a4a' } }, position: 'bottom-right', elements: { message: '<div class="cc-message">We use cookies to provide our services and for analytics and marketing. To find out more about our use of cookies and how you can disable them, please see our <a aria-label="DigitalOcean Privacy Policy" role="button" tabindex="0" target="_blank" href="https://www.digitalocean.com/legal/privacy/">Privacy Policy</a>. By continuing to browse our website, you agree to our use of cookies.<div class="cc-compliance"><a aria-label="dismiss cookie message" role="button" tabindex="0" class="cc-btn cc-dismiss">✕</a></div></div>' }, showLink: false, cookie: { domain: '.digitalocean.com', expiryDays: '-1' }, onStatusChange: function(status) { onCookieConsentStatusChange(status); } }); }); } })(); const incidentStates = [ 'investigating' , 'identified' , 'monitoring' , 'resolved' ]; $(function() { // Add the twitter button $('<a class="button twitter" href="https://twitter.com/dostatus" target="_blank">@dostatus</a>').appendTo('.updates-dropdown-container'); if ($('.status.incident').length == 1) { $('.components-affected').insertAfter('.page-title'); } if ($('.status.status-index').length == 1) { // Make the incident titles h3s and add links below the bodies $('.incident-container').each(function() { updateTitle($(this), 'h3', 'Incident Details'); }); $('.scheduled-maintenance').each(function() { $(this). children('.incident-title'). prepend('<div class="icon-indicator maintenance"></div>'); updateTitle($(this), 'h3', 'Maintenance Details'); }); // move the outage to the header $('.page-status').appendTo('#header-incidents-inner-container'); // move the incidents to the header $('.unresolved-incidents').appendTo('#header-incidents-inner-container').removeClass('unresolved-incidents'); // move the scheduled maintenance to the header $('.scheduled-maintenances-container').appendTo('#header-incidents-inner-container'); // set the border-radius on second group $('.component-container').attr('style','border-radius:3px !important'); // add the icon div $('.unresolved-incident').each(function() { var state; $(this).children('.updates').children('.update').each(function() { state = $(this). children('strong'). text(). toLowerCase(); if (incidentStates.indexOf(state) !== -1) { return false; } }); $(this). children('.incident-title'). prepend('<div class="icon-indicator '+state+'"></div>'); updateTitle($(this), 'h2', 'Incident Details'); }); // rename "Past Incidents" to "Status History" $('.incidents-list .font-largest').html('Status History'); // rename "Incident History" to "Show History" $('.history-footer-link').html('Show History') // weird opacity trick i'm doing don't touch $('.layout-content').css('opacity',1); } else { $('#header-incidents-outer-container').remove(); $('.custom-header-container').addClass('bottom-padded'); } }); function updateTitle(element, type, linkText) { var titleCont = element.children('.incident-title'); var link = titleCont.children('a:not(.subscribe)'); var title = link.html(); $('<'+type+' class="title">'+title+'</'+type+'>').prependTo(titleCont); link.html(linkText); link.removeClass('actual-title'). removeClass('with-ellipsis'). addClass('incident-details'); link.appendTo(element); } $(function() { $('.component-container').toggleClass('closed') }); // Regional services layout $('<div class="regional">').prependTo('.components-section') $('<br><br><h2 class="font-large">Regional Services Status</h2>').appendTo('.regional') $('.components-container').appendTo('.regional') // Global services layout $('<div class="global">').prependTo('.components-section') $('<h2 class="font-large">Global Services Status</h2>').appendTo('.global') $('.components-container').clone().appendTo('.global') // build layout table for global services with three rows var global_containers = $('.global > .components-container').find('.component-container'); global_containers.each(function(){ if($(this).find('.status-red').length || $(this).find('.status-yellow').length || $(this).find('.status-orange').length || $(this).find('.status-blue').length){ $(this).prependTo('.global > .components-container'); } if($(this).find('.child-components-container').length){ $(this).remove(); } }); $(function() { $('.components-container').toggleClass('one-column').toggleClass('three-columns') }); // build layout table for regional services var regional_containers = $('.regional > .components-container').find('.component-container'); regional_containers.each(function(){ if($(this).find('.status-red').length || $(this).find('.status-yellow').length || $(this).find('.status-orange').length || $(this).find('.status-blue').length){ $(this).find('.child-components-container > .component-inner-container').each(function(){ if(!$(this).hasClass('status-green')) { this.style.setProperty('background-color', 'rgba(243, 245, 249, 0.97)','important'); this.style.setProperty('margin-bottom', '0','important'); } }); $(this).prependTo('.regional > .components-container'); } if($(this).find('.child-components-container').length == 0){ $(this).remove(); } }) // remove uptime $(function() { $('.components-section > .components-uptime-link').remove(); }); // tooltips for status images in incident header $(function() { $('.icon-indicator.investigating').attr('title','Investigating'); $('.icon-indicator.identified').attr('title','Issue Identified'); $('.icon-indicator.monitoring').attr('title','Monitoring'); $('.icon-indicator.maintenance').attr('title','Maintenance'); }); // add aria-labels $(function() { $('.fa-check').attr('aria-label','Operational'); $('.fa-minus-square').attr('aria-label','Degraded Performance'); $('.fa-exclamation-triangle').attr('aria-label','Partial Outage'); $('.fa-times').attr('aria-label','Major Outage'); $('.fa-wrench').attr('aria-label','Maintenance'); $('.component-statuses-legend').attr('aria-label','Statuses Legend'); $('.container > .logo > img').attr('alt','DigitalOcean logo'); }); // spacer to visually separate main page legend $(function() { $('<span><hr></span>').prependTo('.container > .components-section > .component-statuses-legend'); }); // add legend to history page $(function() { if ($('[data-react-class=HistoryIndex]').length) { $('<br><fieldset class="impact-fieldset color-secondary"><legend class="impact-legend">Impact levels</legend><span class="do-critical">• Critical </span><span class="do-major">• Major </span><span class="do-minor">• Minor </span><span class="do-maintenance">• Maintenance </span><span>• Retroactive </span></fieldset>').insertAfter('.pagination'); } }); // Filter button UX improvements function resetSelection() { $("input:checkbox").each(function() { if(this.checked == true) { this.click(); } }); } $(function() { if ($('[data-react-class=HistoryIndex]').length) { window.addEventListener('click', function(e) { if($(event.target).closest('.grouped-items-selector').length === 0 && $(event.target).closest('.component-selector').length === 0 && $(event.target).closest('.cc-window').length === 0 ){ if ($('.grouped-items-selector').length) { $('.component-selector > span').click(); e.stopImmediatePropagation(); } } else { if ($('.grouped-items-selector').length && !$('#reset-selection').length) { $('<div id="reset-selection" style="color: #666">  - Clear selection</div>').prependTo('.grouped-items-selector'); $('#reset-selection').click(resetSelection); e.stopImmediatePropagation(); } } }); } }); $(function() { $('<span class="note">* Note: Incidents before May 10th, 2023 were backfilled and don\'t support the filter feature.</span>').prependTo('.months-container'); }); $(function() { if (/Android|iPhone/i.test(navigator.userAgent)) { $( '.component-container' ).each(function () { this.style.setProperty( 'width', '95%', 'important' ); }); } }); // Shorten header incident describtions function revealTruncated (incidentID) { let truncateDivName = "#truncate_" + incidentID; let expandLinkDivName = "#expand_" + incidentID; let truncateLink = " <a style='color:#3686be;' href='javascript:onclick=hideTruncated(\""+ incidentID +"\");'>[less]</a> " $(truncateDivName).css('display','inline'); $(expandLinkDivName).insertAfter(truncateDivName) $(expandLinkDivName).html(truncateLink); } function hideTruncated (incidentID) { let truncateDivName = "#truncate_" + incidentID; let expandLinkDivName = "#expand_" + incidentID; let truncateLink = " <a style='color:#3686be' href='javascript:onclick=revealTruncated(\"" + incidentID +"\");'>[...]</a> " $(truncateDivName).css('display','None'); $(expandLinkDivName).insertBefore(truncateDivName) $(expandLinkDivName).html(truncateLink); } $('.update > span.whitespace-pre-wrap').each(function() { let textLength = $(this).text().split(/\s+/).length; if (textLength > 81){ // get incident ID let incidentUrl = $(this).closest('.unresolved-incident').find('a')[0]; let incidentID = (String(incidentUrl)).split("incidents/")[1]; let firstPart = $(this).html().split(/\s+/).slice(0,80).join(' '); let secondPart = '<div id="truncate_' + incidentID +'" style="display:None"> ' + $(this).html().split(/\s+/).slice(80,textLength).join(' ') + '</div>'; let expandLink = "<div id='expand_" + incidentID +"' style='display: inline;'> <a style='color:#3686be;' href='javascript:onclick=revealTruncated(\"" + incidentID+ "\");'>[...]</a> </div>" $(this).html(firstPart + expandLink + secondPart); } }); </script> </div> </div> <script src="https://dka575ofm4ao0.cloudfront.net/assets/status_manifest-6a7ae3a8e2e1b1e1d9466495faa0851c3f5fff938743f6501c900aa2a8792e8c.js"></script> <div id="cpt-notification-container"></div> <!-- all of the content_for stuff --> <script src="https://dka575ofm4ao0.cloudfront.net/assets/register_subscription_form-589b657fec607087fc5c740c568270907310bc4f6aaa20256e70f01b103025ca.js"></script> <script type="text/javascript"> $(function() { SP.currentPage.registerSubscriptionForm('email'); SP.currentPage.registerSubscriptionForm('sms'); }); $(function() { SP.currentPage.registerSubscriptionForm('q44dky12bcjm'); }) </script> <script src="https://dka575ofm4ao0.cloudfront.net/assets/status_common-c1b99d73ee7ab0fea796bd170723c1daac1381095a7dd7501a38ce6f333d86b3.js"></script> <script> SP.pollForChanges('/api/v2/status.json'); </script> <script> $(function() { $('.tool').tooltipster({ animationDuration: 100, contentAsHTML: true, delay: 100, theme: 'tooltipster-borderless', functionInit: function (instance, helper) { var $origin = $(helper.origin), dataOptions = $origin.attr('data-tooltip-config'); if (dataOptions){ dataOptions = JSON.parse(dataOptions); $.each(dataOptions, function(name, option){ instance.option(name, option); }); } } }); // clicks on first tab in subscribe popout since we won't know which is first // upon construction in the ruby code $('.updates-dropdown-nav > a').eq(0).click(); // twitter follow button needs some margin $('.twitter-follow-button').css('margin-right', '6px'); }); $(function() { // open/close component groups HRB.utils.djshook('component-group-opener').on('click', function() { var groupParentIndicator = $(this).find('.group-parent-indicator'); groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open'); toggleGroup(groupParentIndicator) }); }); $(function() { HRB.utils.djshook('component-group-opener').on('keydown', function(event) { if (event.key !== "Enter" && event.key !== " ") { return; } event.preventDefault() var groupParentIndicator = $(this).find('.group-parent-indicator'); groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open'); toggleGroup(groupParentIndicator) }); }); function toggleGroup(groupParentIndicator) { var isOpen = groupParentIndicator.attr('aria-expanded') if (isOpen == 'false') { groupParentIndicator.attr('aria-expanded', 'true'); } else { groupParentIndicator.attr('aria-expanded', 'false'); } } $(function() { $(document).on('ajax:complete', '.modal.in', function(e) { // Close the active modal. $('.modal.in').modal('hide'); }); }); </script> <script> /** INITIALIZATION **/ var recaptchaIds = {} // Unfortunately there's no unique selectors on the parent divs that recaptcha adds. The first unique selector // is the iframe rendered 2 levels deep. So this waits until the iframes are added to the page, then finds // the parent div and sets the z index so that it'll render above our modals & dropdowns from the start. function setZIndex(captchaCount, startTime) { // bail after 10s just in case so we don't do this forever if something whaky happens if (new Date() - startTime > 10000) { return; } var iframes = document.querySelectorAll('iframe[title="recaptcha challenge"]'); if (iframes.length != captchaCount) { setTimeout(function() { setZIndex(captchaCount, startTime); }, 500); } for (var i = 0; i < iframes.length; i++) { // incident subscribe modal is 1050, so this has to be above that iframes[i].parentElement.parentElement.style.zIndex = "1100"; } } function updateCaptchaIframeTitle(captchaCount, startTime, updates=0) { if (new Date() - startTime > 10000 || captchaCount === updates) { return; } var iframesWithTitle = document.querySelectorAll('iframe[title="recaptcha challenge expires in two minutes"]'); if (iframesWithTitle.length != captchaCount) { setTimeout(function() { updateCaptchaIframeTitle(captchaCount, startTime, iframesWithTitle.length + updates); }, 500); } for (var i = 0; i < iframesWithTitle.length; i++) { iframesWithTitle[i].title = "recaptcha"; } } function addIncidentCaptcha() { var incidentCaptcha = document.createElement('div'); incidentCaptcha.setAttribute('id', 'subscribe-incident-recaptcha'); incidentCaptcha.setAttribute('class', 'g-recaptcha'); incidentCaptcha.setAttribute('data-sitekey', '6LcZ-b0UAAAAAENi956aWzynTT2ZJ80dGU3F80Op'); incidentCaptcha.setAttribute('data-callback', 'submitIncidentSubscriberSuccess'); incidentCaptcha.setAttribute('data-error-callback', 'submitIncidentSubscriberError'); incidentCaptcha.setAttribute('data-size', 'invisible'); document.body.appendChild(incidentCaptcha); var incidentCode = document.createElement('input'); incidentCode.setAttribute('type', 'hidden'); incidentCode.setAttribute('id', 'submit_incident_code'); document.body.appendChild(incidentCode); } var onloadCallback = function() { // if there is an incident, then add incident captcha element if (document.getElementsByClassName('modal-open-incident-subscribe').length > 0) { addIncidentCaptcha(); } var captchas = document.getElementsByClassName("g-recaptcha"); for(var i = 0; i < captchas.length; i++) { var elId = captchas[i].id; recaptchaIds[elId] = grecaptcha.enterprise.render(elId); } setZIndex(captchas.length, new Date()); updateCaptchaIframeTitle(captchas.length, new Date()); } /** SUBSCRIBE DROPDOWN */ // callbacks for captcha success function submitNewSubscriber(type, error) { if (error) document.querySelector('#subscribe-form-' + type + ' #captcha_error').value = 'true'; document.getElementById('subscribe-form-' + type).dispatchEvent(new Event('submit', {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIds['subscribe-btn-' + type]); } function submitNewEmailSubscriber(token) { submitNewSubscriber('email'); } function submitNewSmsSubscriber(token) { submitNewSubscriber('sms'); } function submitNewWebhookSubscriber(token) { submitNewSubscriber('webhook'); } function submitIncidentSubscriber(token, error) { var incidentCode = document.getElementById('submit_incident_code').value; var incidentForm = document.getElementById('subscribe-form-' + incidentCode); incidentForm.querySelector('input[name="captcha_error"]').value = error; incidentForm.querySelector('input[name="g-recaptcha-response"]').value = token; incidentForm.dispatchEvent(new Event('submit', {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIds['subscribe-incident-recaptcha']); } function submitIncidentSubscriberSuccess(token) { submitIncidentSubscriber(token, 'false'); } // callbacks if we get captcha network errors function emailSubscriberCaptchaError(token) { submitNewSubscriber('email', true); } function smsSubscriberCaptchaError(token) { submitNewSubscriber('sms', true); } function webhookSubscriberCaptchaError(token) { submitNewSubscriber('webhook', true); } function submitIncidentSubscriberError(token) { submitIncidentSubscriber(token, 'true'); } // tracking clicks ['email', 'sms', 'webhook'].forEach(function(type) { var el = document.getElementById('subscribe-btn-' + type); el && el.addEventListener("click", function() { $.ajax({ type: "POST", url: "/subscriptions/track_attempt", data: { type: type } }) }) }) // form submission success callbacks $('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success') { SP.currentPage.updatesDropdown.hide(); document.getElementById('email').value = ''; } }); $('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success' && data.otp_flow !== true) { SP.currentPage.updatesDropdown.hide(); document.getElementById('phone-number').value = ''; } }); $('#subscribe-form-webhook').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success') { SP.currentPage.updatesDropdown.hide(); document.getElementById('endpoint-webhooks').value = ''; document.getElementById('email-webhooks').value = ''; } }); $('a.subscribe').on('click', function() { document.body.style.overflow = "hidden"; document.body.style.height = "100vh"; }); $('div.modal-open-incident-subscribe').on('hidden', function(){ document.body.style.overflow = ""; document.body.style.height = ""; }); function submitCaptchaIncidentSubscribe(event) { var incidentCode = event.target.id.split('-')[2]; event.preventDefault(); $.ajax({ type: "POST", url: "/subscriptions/track_attempt", data: { type: 'incident' } }) document.getElementById('submit_incident_code').value = incidentCode; grecaptcha.enterprise.execute(recaptchaIds['subscribe-incident-recaptcha']); } </script> <script src='https://www.recaptcha.net/recaptcha/enterprise.js?onload=onloadCallback&render=explicit' async defer></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/common-814024cd42fea12d6fe1.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/globals-0c851e8c6754c4375f64.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/runtime-8a1984f6547cb712c8d9.js"></script> <script> window.addEventListener('load', function () { const urlParams = new URLSearchParams(window.location.search); const messageToken = urlParams.get('slack_message_token'); const channelName = escape(urlParams.get('channel_name')); if(!!messageToken) { switch(messageToken) { case 'slack_auth_error': HRB.utils.notify('The Slack authorization attempt was unsuccessful. Try again.', {cssClass:'error'}); break; case 'subscribers_disabled_error': HRB.utils.notify('Slack subscriptions are not enabled on this page.', {cssClass:'error'}); break; case 'direct_message_channel_error': HRB.utils.notify('Subscriptions aren’t supported in direct messages. Try subscribing again and choose a channel instead.', {cssClass:'error'}); break case 'duplicate_error': HRB.utils.notify("You're already subscribed to get Slack notifications in that channel.", {cssClass:'error'}); break; case 'duplicate_private_channel_error': HRB.utils.notify(`You're already subscribed to get Slack notifications in #${channelName}. Invite the @Statuspage app to that channel to start getting status updates.`, {cssClass: 'error'}); break; case 'default_success': HRB.utils.notify("You're now subscribed to get Statuspage updates in Slack!", {cssClass:'success'}); break; case 'private_channel_success': HRB.utils.notify(`IMPORTANT: Invite the @Statuspage app to your Slack channel #${channelName} to start getting status updates.`, {cssClass:'success'}); break; } } }); </script> <!-- FOR FLASH NOTICES --> <!-- FOR ERROR --> <script> $(function() { var $link = $('<span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=status.digitalocean.com&utm_content=SP-notifications&utm_medium=powered-by&utm_source=inapp">Powered by Atlassian Statuspage</a></span>'); var setPoweredByStyles = function() { if (!$('.powered-by').length) { $link.appendTo($('.page-footer')) } $('.powered-by').attr('style', 'display: inline !important; visibility:visible !important; opacity: 1 !important; position:static !important; text-indent:0px !important; transform:scale(1) !important'); } setInterval(setPoweredByStyles, 1000); }); </script> </body> </html>