All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v1.4.2 - 2024-02-10
- Updated underlying dependencies to latest versions, including security fixes.
v1.4.1 - 2024-02-10
- Bug that caused foreground cascade deletion to send the operator into a loop (#110).
- Added Kind information into logging messages to help debug which resources are being reconciled.
v1.4.0 - 2023-08-13
- Ability to pause autoscaling at a specific replica count.
- Upgraded to Go
v1.21
. - Upgraded package dependencies.
v1.3.0 - 2022-07-08
- Bug that pod metadata was not preserved when creating the pod (#87).
- Each resource provisioned by the CPA will now have the label
v1.custompodautoscaler.com/owned-by
which will contain the name of the CPA that owns the resource. This is used to help look up resources and link them back to the owned CPA. This allows the managed Pod to change name, and the operator will know to delete the old Pod when it provisions the new Pod. Addresses #95.
v1.2.1 - 2022-04-17
- Fixed issue with namespaced deploys not working due to invalid permissions when watching resources in a namespace.
v1.2.0 - 2021-12-27
- Support for Argo Rollouts, new option
roleRequiresArgoRollouts
which will add the required Role permissions to manage aargoproj.io/v1alpha1
Rollout
.
v1.1.1 - 2021-06-20
- Bug that when provisioning a role that requires metrics server access (
roleRequiresMetricsServer
) the operator would not provision a role that had permission to access custom or external metrics.
v1.1.0 - 2021-04-07
- New
roleRequiresMetricsServer
(defaults tofalse
), if set totrue
the provisioned role will include permission to acess the Kubernetes metrics server.
v1.0.3 - 2021-03-17
- Upgrade to stable Operator SDK version
v1.5.0
.
- Bug that did not allow the operator to install correctly on K8s >=
v1.18.x
v1.0.2 - 2020-09-13
- Bug where the service account was regenerating its secrets on every reconcile, resulting in a pile up of secrets that are never garbage collected. Service accounts now retain secrets between reconciles.
v1.0.1 - 2020-08-15
- When deploying using Cluster wide scope to a namespace, the
ClusterRoleBinding
no longer only searches in thedefault
namespace for theServiceAccount
- instead it searches in the namespace that the helm chart is deployed to. This change is only for the helm deploys, as such the kubectl deployment method is no longer recommended, as it only supports deploying to thedefault
namespace for cluster wide installs.
v1.0.0 - 2020-07-19
v0.7.0 - 2020-07-18
- CustomPodAutoscaler resource changed from
v1alpha
tov1
. - Operator Docker image now using
distroless
rather than RHELubi7
. - Add deployment via helm.
v0.6.0 - 2020-06-24
- New options for deciding if a resource should be provisioned by the CPAO, or if they are provided already by the
user/another system. All provision options default to
true
.provisionRole
- determines if aRole
should be provisioned.provisionRoleBinding
- determines if aRoleBinding
should be provisioned.provisionServiceAccount
- determines if aServiceAccount
should beprovisioned.provisionPod
- determines if aPod
should be provisioned.
- Resources can now be updated at runtime, without deleting and recreating the CPA.
- All resources will be updated using the standard K8s Update procedure, except for
Pod
resources, which will be deleted and recreated, in order to use any new image provided.
- All resources will be updated using the standard K8s Update procedure, except for
v0.5.0 - 2020-01-18
- Add permissions to role for managing ReplicationControllers, ReplicaSets, and StatefulSets.
- Add permissions to use scaling API.
- When a resource already exists, the operator will check if the assigned CPA has been set as its owner; if it isn't it will set it, if not it will skip it. This can be used by CPAs to modify the resources for the CPA.
0.4.0 - 2019-11-16
- Use ScaleTargetRef rather than a label selector to choose which resource to manage, consistent with Horizontal Pod Autoscaler.
- Can now define a PodSpec rather than a Docker image.
- PullPolicy removed as it can now be defined in the template PodSpec.
- Image removed as it is now defined within a PodSpec instead.
0.3.0 - 2019-11-03
- Deliver configuration via environment variables in a consistent format with YAML config, all lowercase.
0.2.1 - 2019-10-30
- Update operator YAML for cluster install to point to correct service account.
0.2.0 - 2019-10-28
- Allow single line install of operator.
- Allow specifying selector in custom resource defintion file.
- Allow operator to run either cluster-scoped or namespace-scoped.
- Create service account, role and role binding for CPA.
- Support creating a CPA in a namespace.
- Added permissions for operator to manage roles and role bindings in operator role definition.
0.1.0 - 2019-09-28
- Allow use of config.yaml to select deployment to manage.
- Provide YAML config for Custom Pod Autoscaler custom resource.
- Provide YAML config for resources required to run operator.
- Provide controller that provisions a single pod deployment to run CPA in.
- Allow creation/deletion of CPA.