Repository files navigation

Cloudoff

Cloudoff is a lightweight Go application designed to automate the management of AWS EC2 instances. It helps reduce cloud costs by automatically stopping instances at night, restarting them during the day, and cleaning up instances that have exceeded their Time-To-Live (TTL).

🚀 Features

  • Scheduled stop and start of EC2 instances (e.g., stop at night, start in the morning)
  • 🧹 Automatic cleanup of EC2 instances after their TTL expiration
  • 📊 Optimizes cost by limiting the runtime of non-critical resources
  • 🔒 Follows AWS best practices (tag-based selection, IAM roles, etc.)

🔧 Requirements

  • Go 1.18+
  • AWS credentials with EC2 management permissions (via environment or IAM role)
  • Tagged EC2 instances (see below)

🛠️ Installation

git clone https://github.com/bananaops/cloudoff.git
cd cloudoff
go build -o cloudoff

⚙️ Usage

🏷️ EC2 Tags Used by Cloudoff

Cloudoff relies on specific EC2 tags to determine which instances to manage and when to clean them up.

Tag KeyExample ValueDescription
cloudoff:uptimeMon-Fri 08:00-20:00 Europe/ParisSpecifies when the instance should be running. Timezone must be specified.
cloudoff:downtimeSat-Sun 00:00-23:59 Europe/ParisSpecifies when the instance must be stopped. Overrides uptime if both overlap.
cloudoff:ttl3d or 12h or 1wTime-to-live from instance launch. Supports h (hours), d (days), w (weeks).

*ttl starts counting from instance atttach time of first network insterface. If exceeded, the instance is considered expired and eligible for termination.

About

Stop EC2 instance by scheduling

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Cloudoff

Cloudoff is a lightweight Go application designed to automate the management of AWS EC2 instances. It helps reduce cloud costs by automatically stopping instances at night, restarting them during the day, and cleaning up instances that have exceeded their Time-To-Live (TTL).

🚀 Features

  • Scheduled stop and start of EC2 instances (e.g., stop at night, start in the morning)
  • 🧹 Automatic cleanup of EC2 instances after their TTL expiration
  • 📊 Optimizes cost by limiting the runtime of non-critical resources
  • 🔒 Follows AWS best practices (tag-based selection, IAM roles, etc.)

🔧 Requirements

  • Go 1.18+
  • AWS credentials with EC2 management permissions (via environment or IAM role)
  • Tagged EC2 instances (see below)

🛠️ Installation

git clone https://github.com/bananaops/cloudoff.git
cd cloudoff
go build -o cloudoff

⚙️ Usage

🏷️ EC2 Tags Used by Cloudoff

Cloudoff relies on specific EC2 tags to determine which instances to manage and when to clean them up.

Tag KeyExample ValueDescription
cloudoff:uptimeMon-Fri 08:00-20:00 Europe/ParisSpecifies when the instance should be running. Timezone must be specified.
cloudoff:downtimeSat-Sun 00:00-23:59 Europe/ParisSpecifies when the instance must be stopped. Overrides uptime if both overlap.
cloudoff:ttl3d or 12h or 1wTime-to-live from instance launch. Supports h (hours), d (days), w (weeks).

*ttl starts counting from instance atttach time of first network insterface. If exceeded, the instance is considered expired and eligible for termination.

About

Stop EC2 instance by scheduling

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Cloudoff

Cloudoff is a lightweight Go application designed to automate the management of AWS EC2 instances. It helps reduce cloud costs by automatically stopping instances at night, restarting them during the day, and cleaning up instances that have exceeded their Time-To-Live (TTL).

🚀 Features

  • Scheduled stop and start of EC2 instances (e.g., stop at night, start in the morning)
  • 🧹 Automatic cleanup of EC2 instances after their TTL expiration
  • 📊 Optimizes cost by limiting the runtime of non-critical resources
  • 🔒 Follows AWS best practices (tag-based selection, IAM roles, etc.)

🔧 Requirements

  • Go 1.18+
  • AWS credentials with EC2 management permissions (via environment or IAM role)
  • Tagged EC2 instances (see below)

🛠️ Installation

git clone https://github.com/bananaops/cloudoff.git
cd cloudoff
go build -o cloudoff

⚙️ Usage

🏷️ EC2 Tags Used by Cloudoff

Cloudoff relies on specific EC2 tags to determine which instances to manage and when to clean them up.

Tag KeyExample ValueDescription
cloudoff:uptimeMon-Fri 08:00-20:00 Europe/ParisSpecifies when the instance should be running. Timezone must be specified.
cloudoff:downtimeSat-Sun 00:00-23:59 Europe/ParisSpecifies when the instance must be stopped. Overrides uptime if both overlap.
cloudoff:ttl3d or 12h or 1wTime-to-live from instance launch. Supports h (hours), d (days), w (weeks).

*ttl starts counting from instance atttach time of first network insterface. If exceeded, the instance is considered expired and eligible for termination.

About

Stop EC2 instance by scheduling

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Cloudoff

Cloudoff is a lightweight Go application designed to automate the management of AWS EC2 instances. It helps reduce cloud costs by automatically stopping instances at night, restarting them during the day, and cleaning up instances that have exceeded their Time-To-Live (TTL).

🚀 Features

  • Scheduled stop and start of EC2 instances (e.g., stop at night, start in the morning)
  • 🧹 Automatic cleanup of EC2 instances after their TTL expiration
  • 📊 Optimizes cost by limiting the runtime of non-critical resources
  • 🔒 Follows AWS best practices (tag-based selection, IAM roles, etc.)

🔧 Requirements

  • Go 1.18+
  • AWS credentials with EC2 management permissions (via environment or IAM role)
  • Tagged EC2 instances (see below)

🛠️ Installation

git clone https://github.com/bananaops/cloudoff.git
cd cloudoff
go build -o cloudoff

⚙️ Usage

🏷️ EC2 Tags Used by Cloudoff

Cloudoff relies on specific EC2 tags to determine which instances to manage and when to clean them up.

Tag KeyExample ValueDescription
cloudoff:uptimeMon-Fri 08:00-20:00 Europe/ParisSpecifies when the instance should be running. Timezone must be specified.
cloudoff:downtimeSat-Sun 00:00-23:59 Europe/ParisSpecifies when the instance must be stopped. Overrides uptime if both overlap.
cloudoff:ttl3d or 12h or 1wTime-to-live from instance launch. Supports h (hours), d (days), w (weeks).

*ttl starts counting from instance atttach time of first network insterface. If exceeded, the instance is considered expired and eligible for termination.

About

Stop EC2 instance by scheduling

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Cloudoff

Cloudoff is a lightweight Go application designed to automate the management of AWS EC2 instances. It helps reduce cloud costs by automatically stopping instances at night, restarting them during the day, and cleaning up instances that have exceeded their Time-To-Live (TTL).

🚀 Features

  • Scheduled stop and start of EC2 instances (e.g., stop at night, start in the morning)
  • 🧹 Automatic cleanup of EC2 instances after their TTL expiration
  • 📊 Optimizes cost by limiting the runtime of non-critical resources
  • 🔒 Follows AWS best practices (tag-based selection, IAM roles, etc.)

🔧 Requirements

  • Go 1.18+
  • AWS credentials with EC2 management permissions (via environment or IAM role)
  • Tagged EC2 instances (see below)

🛠️ Installation

git clone https://github.com/bananaops/cloudoff.git
cd cloudoff
go build -o cloudoff

⚙️ Usage

🏷️ EC2 Tags Used by Cloudoff

Cloudoff relies on specific EC2 tags to determine which instances to manage and when to clean them up.

Tag KeyExample ValueDescription
cloudoff:uptimeMon-Fri 08:00-20:00 Europe/ParisSpecifies when the instance should be running. Timezone must be specified.
cloudoff:downtimeSat-Sun 00:00-23:59 Europe/ParisSpecifies when the instance must be stopped. Overrides uptime if both overlap.
cloudoff:ttl3d or 12h or 1wTime-to-live from instance launch. Supports h (hours), d (days), w (weeks).

*ttl starts counting from instance atttach time of first network insterface. If exceeded, the instance is considered expired and eligible for termination.

About

Stop EC2 instance by scheduling

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Cloudoff

Cloudoff is a lightweight Go application designed to automate the management of AWS EC2 instances. It helps reduce cloud costs by automatically stopping instances at night, restarting them during the day, and cleaning up instances that have exceeded their Time-To-Live (TTL).

🚀 Features

  • Scheduled stop and start of EC2 instances (e.g., stop at night, start in the morning)
  • 🧹 Automatic cleanup of EC2 instances after their TTL expiration
  • 📊 Optimizes cost by limiting the runtime of non-critical resources
  • 🔒 Follows AWS best practices (tag-based selection, IAM roles, etc.)

🔧 Requirements

  • Go 1.18+
  • AWS credentials with EC2 management permissions (via environment or IAM role)
  • Tagged EC2 instances (see below)

🛠️ Installation

git clone https://github.com/bananaops/cloudoff.git
cd cloudoff
go build -o cloudoff

⚙️ Usage

🏷️ EC2 Tags Used by Cloudoff

Cloudoff relies on specific EC2 tags to determine which instances to manage and when to clean them up.

Tag KeyExample ValueDescription
cloudoff:uptimeMon-Fri 08:00-20:00 Europe/ParisSpecifies when the instance should be running. Timezone must be specified.
cloudoff:downtimeSat-Sun 00:00-23:59 Europe/ParisSpecifies when the instance must be stopped. Overrides uptime if both overlap.
cloudoff:ttl3d or 12h or 1wTime-to-live from instance launch. Supports h (hours), d (days), w (weeks).

*ttl starts counting from instance atttach time of first network insterface. If exceeded, the instance is considered expired and eligible for termination.

About

Stop EC2 instance by scheduling

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Cloudoff

Cloudoff is a lightweight Go application designed to automate the management of AWS EC2 instances. It helps reduce cloud costs by automatically stopping instances at night, restarting them during the day, and cleaning up instances that have exceeded their Time-To-Live (TTL).

🚀 Features

  • Scheduled stop and start of EC2 instances (e.g., stop at night, start in the morning)
  • 🧹 Automatic cleanup of EC2 instances after their TTL expiration
  • 📊 Optimizes cost by limiting the runtime of non-critical resources
  • 🔒 Follows AWS best practices (tag-based selection, IAM roles, etc.)

🔧 Requirements

  • Go 1.18+
  • AWS credentials with EC2 management permissions (via environment or IAM role)
  • Tagged EC2 instances (see below)

🛠️ Installation

git clone https://github.com/bananaops/cloudoff.git
cd cloudoff
go build -o cloudoff

⚙️ Usage

🏷️ EC2 Tags Used by Cloudoff

Cloudoff relies on specific EC2 tags to determine which instances to manage and when to clean them up.

Tag KeyExample ValueDescription
cloudoff:uptimeMon-Fri 08:00-20:00 Europe/ParisSpecifies when the instance should be running. Timezone must be specified.
cloudoff:downtimeSat-Sun 00:00-23:59 Europe/ParisSpecifies when the instance must be stopped. Overrides uptime if both overlap.
cloudoff:ttl3d or 12h or 1wTime-to-live from instance launch. Supports h (hours), d (days), w (weeks).

*ttl starts counting from instance atttach time of first network insterface. If exceeded, the instance is considered expired and eligible for termination.

About

Stop EC2 instance by scheduling

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Cloudoff

Cloudoff is a lightweight Go application designed to automate the management of AWS EC2 instances. It helps reduce cloud costs by automatically stopping instances at night, restarting them during the day, and cleaning up instances that have exceeded their Time-To-Live (TTL).

🚀 Features

  • Scheduled stop and start of EC2 instances (e.g., stop at night, start in the morning)
  • 🧹 Automatic cleanup of EC2 instances after their TTL expiration
  • 📊 Optimizes cost by limiting the runtime of non-critical resources
  • 🔒 Follows AWS best practices (tag-based selection, IAM roles, etc.)

🔧 Requirements

  • Go 1.18+
  • AWS credentials with EC2 management permissions (via environment or IAM role)
  • Tagged EC2 instances (see below)

🛠️ Installation

git clone https://github.com/bananaops/cloudoff.git
cd cloudoff
go build -o cloudoff

⚙️ Usage

🏷️ EC2 Tags Used by Cloudoff

Cloudoff relies on specific EC2 tags to determine which instances to manage and when to clean them up.

Tag KeyExample ValueDescription
cloudoff:uptimeMon-Fri 08:00-20:00 Europe/ParisSpecifies when the instance should be running. Timezone must be specified.
cloudoff:downtimeSat-Sun 00:00-23:59 Europe/ParisSpecifies when the instance must be stopped. Overrides uptime if both overlap.
cloudoff:ttl3d or 12h or 1wTime-to-live from instance launch. Supports h (hours), d (days), w (weeks).

*ttl starts counting from instance atttach time of first network insterface. If exceeded, the instance is considered expired and eligible for termination.

About

Stop EC2 instance by scheduling

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages