Documentation ¶
Overview ¶
Custom Pod Autoscaler is the core program that runs inside a Custom Pod Autoscaler Image. The program handles interactions with the Kubernetes API, manages triggering Custom Pod Autoscaler User Logic through shell commands, exposes a simple HTTP REST API for viewing metrics and evaluations, and handles parsing user configuration to specify polling intervals, Kubernetes namespaces, command timeouts etc. The Custom Pod Autoscaler must be run inside a Kubernetes cluster.
Directories ¶
Path | Synopsis |
---|---|
api
|
|
Package config contains the definitions for any configuration that the Custom Pod Autoscaler supports.
|
Package config contains the definitions for any configuration that the Custom Pod Autoscaler supports. |
internal
|
|
api/v1
Package v1 provides routing and endpoints for the Custom Pod Autoscaler HTTP REST API version 1.
|
Package v1 provides routing and endpoints for the Custom Pod Autoscaler HTTP REST API version 1. |
autoscaler
Package autoscaler provides methods for scaling a resource - by triggering metric gathering, feeding these metrics to an evaluation and using this evaluation to scale the resource.
|
Package autoscaler provides methods for scaling a resource - by triggering metric gathering, feeding these metrics to an evaluation and using this evaluation to scale the resource. |
confload
Package confload handles loading in configuration - parsing YAML and environment variable input into a Custom Pod Autoscaler configuration struct.
|
Package confload handles loading in configuration - parsing YAML and environment variable input into a Custom Pod Autoscaler configuration struct. |
evaluatecalc
Package evaluatecalc provides functionality for managing evaluating, calling external evaluation logic through shell commands with relevant data piped to them.
|
Package evaluatecalc provides functionality for managing evaluating, calling external evaluation logic through shell commands with relevant data piped to them. |
execute
Package execute abstracts methods, providing a standardised way to trigger methods and provide values
|
Package execute abstracts methods, providing a standardised way to trigger methods and provide values |
execute/http
Package http handles interactions over HTTP
|
Package http handles interactions over HTTP |
execute/shell
Package shell handles interactions with the OS shell
|
Package shell handles interactions with the OS shell |
fake
Package fake provides stubs for testing relevant to the Custom Pod Autoscaler packages
|
Package fake provides stubs for testing relevant to the Custom Pod Autoscaler packages |
metricget
Package metricget provides functionality for managing gathering metrics, calling external metric gathering logic through shell commands with relevant data piped to them.
|
Package metricget provides functionality for managing gathering metrics, calling external metric gathering logic through shell commands with relevant data piped to them. |
scaling
Package scaling abstracts interactions with the Kubernetes scale API, providing a consistent way to scale resources that are supported by the Custom Pod Autoscaler.
|
Package scaling abstracts interactions with the Kubernetes scale API, providing a consistent way to scale resources that are supported by the Custom Pod Autoscaler. |
Package k8smetric provides the definitions for data generated by the Kubernetes Metric Gathering functionality
|
Package k8smetric provides the definitions for data generated by the Kubernetes Metric Gathering functionality |
value
Package value represents a computed value for a metric, can be either a raw value or an average value
|
Package value represents a computed value for a metric, can be either a raw value or an average value |
Click to show internal directories.
Click to hide internal directories.