atlassian/escalator

Escalator is a batch or job optimized horizontal autoscaler for Kubernetes

Owned by Atlassian

View on GitHub ↗Jump to charts ↓

atlassian/escalator has 650+ stars and 60+ forks on GitHub, is written in Go, and was last pushed on Sep 11, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 53 minutes ago
Added to GitGenius on October 12th, 2026
Created on January 22nd, 2018
Open Issues & Pull Requests: 18 (+0)
GitHub issues: Enabled
Number of forks: 66
Total Stargazers: 689 (+0)
Total Subscribers: 35 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2114.5 days
Mean response time: 2114.5 days
90th percentile: 2114.5 days
Tracked items: 1

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 2,182 days
Stale 30+ days: 1
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (1)
  • good first issue (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Escalator is a batch or job optimized horizontal autoscaler for Kubernetes that scales clusters based on workload demands while respecting job completion requirements.

Escalator addresses the problem that Kubernetes' default autoscaler scales too slowly for large batch workloads and forcibly drains nodes before jobs complete. The tool calculates cluster requests and capacity to decide whether to scale up, down, or maintain current scale, and crucially, it waits until non-daemonset pods have finished executing before terminating nodes. It prioritizes rapid scale-up to prevent pods from remaining pending, and it terminates the oldest nodes first when scaling down. The tool supports slack space configuration to handle sudden spikes in scheduled pods and can operate on selected auto-scaling groups, allowing the default Kubernetes autoscaler to continue managing service-based workloads independently.

Teams running large batch or job-based workloads that cannot tolerate forced pod eviction should consider Escalator. It works alongside rather than replacing the default autoscaler, making it suitable for mixed clusters handling both batch jobs and traditional services. The tool currently supports AWS auto-scaling groups. Escalator includes leader election for high-availability deployments, respects cordoned nodes for debugging purposes, and provides scaling and utilization metrics. It supports multiple instance types within a node group and requires Kubernetes version 1.24 or later.

The project maintains a structured contribution process with requirements for tests on new features and bug fixes, enforced code style using goreturns, and a preference for discussing larger changes via issues before implementation. Contributors must sign a Contributor License Agreement before their work is accepted.