Skip to content

Releases: MShekow/azure-pipelines-k8s-agent-scaler

azp-k8s-agent-scaler-operator-0.2.0

Azure Pipelines Kubernetes-based agent scaler operator

Changes:

  • Bump versions of Go and various libraries, fixes all known vulnerabilities
  • Fix regex validation pattern for NormalOfflineAgentDeletionMinAge, DummyAgentDeletionMinAge and DummyAgentGarbageCollectionInterval, only quantities with a single quantity were allowed, e.g. "5m", now also values like "1h20m" are considered valid
  • Add configurable AgentMinIdlePeriod to CR: it defines how long the controller waits before it terminates an idle Pod
  • Improve various debug logs
  • Fix bug that agent Pods were not cleaned properly under certain conditions

azp-k8s-agent-scaler-operator-0.1.9

Azure Pipelines Kubernetes-based agent scaler operator

Changes:

  • Fix premature Pod termination
  • Improve logging at various places
  • Print pending jobs (if they changed) in each reconcile loop
  • Improve timestamp precision to nanoseconds

azp-k8s-agent-scaler-operator-0.1.8

Azure Pipelines Kubernetes-based agent scaler operator

Changes:

  • New debug mode that prints additional data from the Azure Pipeline APIs: it can be temporarily enabled: execute into the controller container, run touch /home/nonroot/debug to enable debug printing, delete the file with rm to disable debug printing again

azp-k8s-agent-scaler-operator-0.1.7

Azure Pipelines Kubernetes-based agent scaler operator

Changes:

  • Improve the stability of the reusable cache volumes usage, by always sorting the reusable cache volumes first (alphabetically by their name), before picking the first available one
  • Create at most maxCount PVCs of a reusable cache volume - if all PVCs are currently in use, delay the creation of Pods until one becomes available
  • Make various aspects of garbage collection of offline agents configurable in the CR

azp-k8s-agent-scaler-operator-0.1.6

Azure Pipelines Kubernetes-based agent scaler operator

Bug fixes:

  • Update registered dummy agents whenever the CR content changes
  • Incorrect caching of Pool IDs (retrieved from the pool name)
  • ExtraAgentContainers environment variable was set twice on the AZP agent container

azp-k8s-agent-scaler-operator-0.1.5

Azure Pipelines Kubernetes-based agent scaler operator

Changes:

  • Fix handling of ExtraAgentContainers parsing

azp-k8s-agent-scaler-operator-0.1.4

Azure Pipelines Kubernetes-based agent scaler operator

Changes:

  • Controller no longer sets the working directory for containers created for ExtraAgentContainers --> K8s should use the WORKDIR defined by the image's Dockerfile
  • ExtraAgentContainers demand now expects named attributes (name, image, cpu, memory, the last 2 are optional), e.g. name=ubuntu,image=docker.io/library/ubuntu:22.04,cpu=250m,memory=64Mi

demo-agent-0.1.2

22 Oct 14:42
Compare
Choose a tag to compare

Demonstration chart that sets up Azure Pipeline Agents capable of running jobs with multiple containers

Changes:

  • Excluding buildkit container from AppArmor limitations (introducing pod-specific annotations)
  • Allow setting pod-specific securityContexts

azp-k8s-agent-scaler-operator-0.1.3

Azure Pipelines Kubernetes-based agent scaler operator

Changes:

  • Implement AZP API spam protection: repeat reconciliation every 5 seconds, or when the CR changes. Previously, Reconcile() of the operator was called on every CR and Pod change, the latter could happen very frequently and hammer the AZP API
  • Also terminate agent pods that are not even scheduled yet or whose AZP container is not running yet

demo-agent-0.1.1

20 Sep 12:47
Compare
Choose a tag to compare

Demonstration chart that sets up Azure Pipeline Agents capable of running jobs with multiple containers