Skip to content

Releases: jthomperoo/custom-pod-autoscaler

v0.12.0

25 Apr 10:35
edc4574

Choose a tag to compare

v0.12.0 Pre-release
Pre-release

[v0.12.0] - 2020-04-25

Changed

  • Support scaling to and from zero, matching misimplemented functionality from
    Horizontal Pod Autoscaler.

v0.11.0

28 Feb 14:21
facbdf1

Choose a tag to compare

v0.11.0 Pre-release
Pre-release

[v0.11.0] - 2020-02-28

Added

  • Series of hooks for injecting user logic throughout the execution process.
    • preMetric - Runs before metric gathering, given metric gathering input.
    • postMetric - Runs after metric gathering, given metric gathering input and result.
    • preEvaluate - Runs before evaluation, given evaluation input.
    • postEvaluate - Runs after evaluation, given evaluation input and result.
    • preScale - Runs before scaling decision, given min and max replicas, current replicas, target replicas, and resource being scaled.
    • postScale - Runs before scaling decision, given min and max replicas, current replicas, target replicas, and resource being scaled.
  • New downscaleStabilization option, based on the Horizontal Pod Autoscaler downscale stabilization, operates by taking the maximum target replica count over the stabilization window.

Changed

  • Metrics from API now returns the entire resource definition as JSON rather than just the resource name.
  • Changed JSON generated to be in camelCase rather than snake_case for consistency with the Kubernetes API.
    • Evaluation now uses targetReplicas over target_replicas.
    • ResourceMetric now uses runType over run_type.
    • Scale hook now provided with minReplicas, maxReplicas, currentReplicas and targetReplicas rather than their snakecase equivalents.
  • Metric gathering and hooks have access to dryRun field, allowing them to determine if they are called as part of a dry run.
  • Standardised input to metric gatherer, evaluator and scaler to take specs rather than lists of parameters, allowing easier serialisation for hooks.
  • Endpoint /api/v1/metrics now accepts the optional dry_run parameter for marking metric gathering as in dry run mode.
  • ResourceMetrics replaced with a list of Metric and a Resource.
  • /api/v1/metrics now simply returns a list of Metrics rather than a ResourceMetrics.

Removed

  • ResourceMetrics struct removed as it was redundant.

v0.10.0

22 Jan 22:50
a41057f

Choose a tag to compare

v0.10.0 Pre-release
Pre-release

[v0.10.0] - 2020-01-22

Added

  • Set up API to be versioned, starting with v1.
  • Can now manually trigger scaling through the API.
  • Added extra run_type flag, api_dry_run, for evaluations through the API in dry_run mode.
  • Added apiConfig to hold configuration for the REST API.
  • Added extra configuration options within apiConfig.
    • enabled - allows enabling or disabling the API, default enabled (true).
    • useHTTPS - allows enabling or disabling HTTPS for the API, default off (false).
    • certFile - cert file to be used if HTTPS is enabled.
    • keyFile - key file to be used if HTTPS is enabled.

Changed

  • The command for shell methods is now an array of arguments, rather than a string.
  • The /api/v1/evaluation endpoint now requires POST rather than GET.
  • The /api/v1/evaluation endpoint now accepts an optional parameter, dry_run. If dry_run is true the evaluation will be retrieved in a read-only manner, the scaling will not occur. If it is false, or not provided, the evaluation will be retrieved and then used to apply scaling to the target.
  • Moved port and host configuration options into the apiConfig settings.

v0.9.0

19 Jan 16:46
bd6a7d4

Choose a tag to compare

v0.9.0 Pre-release
Pre-release

[v0.9.0] - 2020-01-19

Added

  • Support for other entrypoints other than /bin/sh, can specify an entrypoint for the shell command method.
  • Add logging library glog to allow logging at levels of severity and verbosity.
  • Can specify verbosity level of logs via the logVerbosity configuration option.

Changed

  • Can scale ReplicaSets, ReplicationControllers and StatefulSets alongside Deployments.
  • ResourceMetrics fields have resourceName and resource rather than deploymentName and deployment. In JSON this means that only the resource name will be exposed via field resource.
  • Uses scaling API rather than manually adjusting replica count on resource.
  • Matches using match selector rather than incorrectly using resource labels and building a different selector.

v0.8.0

17 Dec 15:09
77063b7

Choose a tag to compare

v0.8.0 Pre-release
Pre-release
Cut 0.8.0 release (#81)

v0.7.0

08 Dec 00:22
28b49ec

Choose a tag to compare

v0.7.0 Pre-release
Pre-release
Cut 0.7.0 release (#74)

0.6.0

20 Nov 14:29
deacc3f

Choose a tag to compare

0.6.0 Pre-release
Pre-release
Cut 0.6.0 release (#70)

0.5.0

18 Nov 11:50
03375d4

Choose a tag to compare

0.5.0 Pre-release
Pre-release
Cut 0.5.0 release (#67)

0.4.0

16 Nov 22:26
e3c9d9c

Choose a tag to compare

0.4.0 Pre-release
Pre-release
Cut 0.4.0 release (#64)

0.3.0

03 Nov 19:33
d02649e

Choose a tag to compare

0.3.0 Pre-release
Pre-release
Cut 0.3.0 release (#40)