cloudfoundry/app-autoscaler

Auto Scaling for CF Applications

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 8 minutes ago
Added to GitGenius on June 25th, 2026
Created on April 2nd, 2016
Open Issues & Pull Requests: 27 (+0)
Number of forks: 61
Total Stargazers: 71 (+0)
Total Subscribers: 20 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.5 days
Mean response time: 267.4 days
90th percentile: 477.7 days
Tracked items: 12

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 2% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 13
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 666 days
Stale 30+ days: 12
Stale 90+ days: 12

Recent activity

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

Top labels

  • unscheduled (6)
  • bug (4)
  • dependencies (1)
  • enhancement (1)

Detailed Description

The Application Autoscaler is a Cloud Foundry component that automatically adjusts computational resources for applications through three primary mechanisms: dynamic scaling based on application performance metrics, dynamic scaling based on custom metrics, and scheduled scaling based on time. The repository contains the core source code that was extracted and refactored from the app-autoscaler-release repository, representing a modular approach to autoscaling functionality within the Cloud Foundry ecosystem.

The system is architected as a collection of microservices, each deployed as a Cloud Foundry application. The api component serves as the public-facing interface for policy management and scaling history queries. The servicebroker implements Cloud Foundry's service broker specification for integration with the platform. The scheduler manages scheduled scaling policies and triggers scaling actions based on time-based rules. The eventgenerator evaluates scaling rules and generates scaling events by analyzing application metrics. The scalingengine executes the actual scaling decisions by adjusting the number of application instances. The metricsforwarder handles the submission and forwarding of custom application metrics to the autoscaler system. Finally, the operator component manages autoscaler operations and maintains instance synchronization across the deployment.

The repository provides comprehensive API specifications through OpenAPI documentation covering application metrics, custom metrics submission, policy management, and scaling history queries, both for external and internal use. Development is supported through a Go-based codebase requiring Go 1.24.3 or later, with Docker for database dependencies and optional tools like devbox and direnv for environment management. The scheduler component is Java-based and requires Maven for building. The project includes extensive testing infrastructure with make targets for unit tests, integration tests, and acceptance tests, all running against PostgreSQL.

The most active labels tracked are unscheduled with six occurrences, bug with four, and enhancement with one. The repository maintains connections with related Cloud Foundry projects including app-autoscaler-release, the CLI, and external projects like Apollo Client through overlapping contributor networks.

Each microservice component exposes health endpoints protected with basic authentication for monitoring purposes, with credentials managed through credhub. The project is released under the Apache License 2.0 and includes comprehensive documentation covering acceptance tests, scheduler-specific implementation details, and API specifications. The modular microservice architecture allows for independent scaling and deployment of each component while maintaining cohesive autoscaling functionality for Cloud Foundry applications.