Skip to content

Latest commit

 

History

History
734 lines (488 loc) · 23.3 KB

CHANGELOG.md

File metadata and controls

734 lines (488 loc) · 23.3 KB

Changelog

Unreleased

v0.47.0

Added

  • The former kubectl.runKustomize helper is now the public kubectl.RunKustomize. This function allows building an existing kustomization directory.

v0.46.0

Breaking changes

  • Fixed ProxyUDPURL function to return the correct URL (<IP>:<PORT>), the type of returned value changed from *url.URL to string. Renamed ProxyURL to ProxyHTTPURL. #1008

Added

  • Added support for arbitrary Helm chart values to the Kuma plugin. #958
  • Introduced new functions ProxyTCPURL and ProxyTLSURL that returns the URL in the format <IP>:<PORT>. Introduced new function ProxyHTTPSURL. #1008

v0.45.0

  • Kuma addon now properly uses the Helm chart version passed in its builder's WithVersion method. #949
  • When Kuma addon is used with version greater or equal to 2.6.0 and mTLS enabled, a default allow-all TrafficPermission gets installed to preserve previous behavior. #950

v0.44.0

  • Added a call to NegotiateAPIVersion when creating a Docker client to ensure that the client is able to communicate with the Docker daemon. #932

v0.43.0

  • Added WithReleaseChannel to the GKE cluster builder to allow specifying a release channel for the cluster. #911

v0.42.0

  • Bump Kong Gateway Enterprise default image to 3.4 #867 #868
  • Replace deck libraries with their new go-database-reconciler home. #883

v0.41.1

  • Updated metallb to v0.13.12.

v0.41.0

  • Allow deploying multiple kong addons to the cluster and identifying them by their name. #845
  • Allow setting kong addon admin API and proxy NodePorts. #844

v0.40.0

  • Metallb addon now has a builder. The builder can disable IPAddressPool creation. #835

v0.39.1

  • Removed a module exclude that made go install unhappy. #813

v0.39.0

  • Upgrade metallb addon to v0.13.11 #799

v0.38.0

Breaking changes

  • Fix an API name typo. The WithAdditonalValue Kong addon builder method is now WithAdditionalValue

v0.37.0

Added

  • Allow specifying arbitrary helm values when deploying Kong addon. #776

v0.36.0

  • Allow customizing Helm chart version and proxy readiness probe used in Kong addon. #774

v0.35.0

  • Support specifying namespace of Kong addon to deploy Kong in certain namespace. #766
  • Fix setting UDP proxy service type in Kong addon. #770
  • Add ArgoCD and KongArgoCD addons to support ArgoCD. #762

v0.34.0

  • Fix KTF to properly deploy Kong Gateway Enterprise in DBLess mode #757

v0.33.0

  • Make KustomizeDeployForCluster and KustomizeDeleteForCluster always use a cluster's temporary kubeconfig file instead of the default one. #754

v0.32.0

  • Allow passing additional flags to kubectl kustomize in KustomizeDeployForCluster and KustomizeDeleteForCluster. #741

v0.31.2

  • Bump Kong Gateway Enterprise default image to 3.3 #734

v0.31.1

  • Upgrade metallb addon to v0.13.10 #703

v0.31.0

  • Allow passing config for Kind clusters with io.Reader - introduce method WithConfigReader(cfg io.Reader) #683
  • Migrate from github.com/jetstack/cert-manager to github.com/cert-manager/cert-manager #669
  • Allow setting stdin, stdout, stderr in retry.Command #676
  • Convert dumpDiag to use kind export logs #591
  • Switch from CoreV1 Endpoints to DiscoveryV1 EndpointSlice #643

v0.30.1

  • Upgrade metallb addon to v0.13.9 #602

v0.30.0

  • Bump Kong Gateway Enterprise default image to 3.1.1.3 #566
  • Added the ability to specify node machine type with GKE cluster builder. #567

v0.29.0

  • Fix an endless loop in cleaner's Cleanup() when a namespace to be deleted is already gone. #553
  • Fix calico manifests URL #555
  • clusters.Cleaner can be used concurrently #552

v0.28.1

  • Fix command error handling when error is nil #527

v0.28.0

  • Add arm64 artifacts #518
  • Add a retry when deploying knative manifests and during kong chart installation #520 #523

v0.27.0

  • fix cluster cleaner for Gateway API objects #510

v0.26.0

  • gRPC API is used instead of gcloud CLI when createSubnetwork is enabled in GKE cluster builder. #498
  • GKE cluster builder accepts custom labels. #499

v0.25.0

  • GKE cluster builder allows creating a subnet for the cluster instead of using a default one. #490
  • GKE cluster is able to wait for its cleanup synchronously. #491
  • MetalLB addon will use an extended timeout when fetching manifests from GH which should improve its stability. #492

v0.24.1

  • Golang dependencies for several Kubernetes libraries were updated to the latest v0.26.0 release (corresponds with Kubernetes v1.26.0release). (k8s@v1.26.0)
  • sigs.k8s.io/yaml is used as the only YAML library. #463

v0.24.0

  • When available, calls to Github API, requesting the latest release from a repository will use GITHUB_TOKEN environment variable as token to authenticate against Github API. #456
  • Changed Kong addon to use udpProxy dict from charts value file to instantiate a udp proxy, instead of creating a udp proxy by kubectl.

v0.23.0

  • Upgrade metallb addon to v0.13.6

v0.22.3

  • Increased the metallb IPAddressPool IP range.

v0.22.2

  • Increased the metallb startup timeout.

v0.22.1

Fixed

  • Moved metallb error recording inside context switch, to avoid recording the context expiration as the last error.

v0.22.0

Added

  • loadimage addon now supports loading multiple images. #391

Fixed

  • Delete IPAddressPool and L2Advertisement resources if the resource exists before creating in metallb addon. #390

v0.21.0

Fixed

  • Support k8s v1.25 in metallb addon by bumping to v0.13.5 #371

v0.20.0

Added

  • Added the ability to select the Service type for the proxy when using the Kong addon via the Go library. #346
  • Added WithProxyEnvVar() Kong addon builder function, which sets environment variables for the proxy container. #369

Fixed

  • Diagnostics now gets all resources, not the reduced set of resources returned by kubectl get all. #362

v0.19.0

Added

  • Added feature to support waiting for a port of a service to be connective by TCP. #338

Improved

  • Increased retry times to increase the timeout to wait for kuma webhook to be ready to serve. #341 #342

Fixed

  • Diagnostics runs the correct command for kubectl describe. #343

v0.18.0

Added

  • Added support for Postgres Kong config diagnostics and improved DB-less format. #334
  • The cleaner now has an AddManifest() function, to clean raw YAML manifests. #334

v0.17.0

Breaking Changes

  • ApplyYAML and DeleteYAML cluster utilities were renamed to ApplyManifestByYAML and DeleteManifestByYAML, respectively. #330

Added

  • Added the ability to use Calico CNI instead of the default CNI for kind clusters. This can be triggered via the CLI using --cni-calico OR using the Go library with WithCalicoCNI(). #330
  • Added ApplyManifestByURL and DeleteManifestByURL helper functions to the cluster package as siblings to ApplyYAML and DeleteYAML. #330
  • Added a diagnostics system to collect resources, describe information, pod logs, and available plugin diagnostics. #332

v0.16.0

  • Added WithProxyImagePullSecret() (proxy-pull with KTF_TEST_KONG_PULL_USERNAME and KTF_TEST_KONG_PULL_PASSWORD set on the CLI) feature to the Kong addon builder. It sets a pull secret for the proxy image. #314

v0.15.1

  • Added missing Kuma addon CLI entry.
  • Retry Kuma mesh installations to handle delayed webhook start.

Improvements

  • Update metallb to v0.12.1.

v0.15.0

Added

  • The new Kuma addon installs the Kuma service mesh.
  • --kong-ingress-controller-image selects the ingress controller image for the Kong addon.

Fixed

  • Disabled Google Ingress controller on GKE to avoid conflicts with other controllers.

v0.14.2

Added

  • Added clusters.KustomizeDeleteForCluster utility to clean up kustomize deployed manifests that were deployed previously to a cluster.

v0.14.1

Added

  • Added a clusters.Cleaner type which can be used to generically clean up cluster resources.

v0.14.0

Bug Fixes

v0.13.4

Added

  • The --kong-gateway-image flag can now be used with the CLI to signal which Kong Gateway container image to use in environments.

v0.13.3

Improvements

  • various dependency updates

v0.13.2

Improvements

  • Added --kong-admin-service-loadbalancer to the ktf envs create subcommand to make it easy to deploy the Kong Admin API as a LoadBalancer type Service when deploying with the Kong addon. #245

v0.13.1

Bug Fixes

v0.13.0

Improvements

v0.12.1

Bug Fixes

  • Retry Knative install in the event that CRDs are not yet available. (#209)

v0.12.0

Improvements

  • Knative defaults to the latest available version, and supports user-supplied versions. (#196)

v0.11.1

Improvements

  • The default Kong Enterprise tag is now 2.7.0.0-alpine.

v0.11.0

Bug Fixes

  • Replicas exceeding the desired replica count (e.g. while a Deployment update spawns replacement replicas) no longer blocks Knative readiness. (#177)

Improvements

  • Namespace readiness checks confirm the presence of the namespace itself and the presence of Deployments within it. (#166)
  • Addons can now indicate dependencies on other addons. (#166)
  • Kong addon instances now listen on TCP port 8899 for TLS connections. (#167)
  • Added registry addon to provide a local Docker registry within the test cluster. (#170)

v0.10.0

Bug Fixes

  • Fixed a readiness timing issue with cert-manager wherein the webhook could be unready when the addon reports as ready. (#159)

Improvements

  • Added a CertManager addon. (#148)
  • Added a utility function to invoke kubectl wait --for-condition=CONDITION. (#148)
  • Added a utility function to delete a YAML manifest from the cluster. (#148)
  • Added an addon to load images into the test cluster from a local Docker environment. (#151)

v0.9.1

Improvements

  • Enterprise license utilities were added for the Kong cluster addon. (#144)

v0.9.0

Improvements

  • Cluster utilities were added to apply raw YAML or Kustomize configurations to a cluster object for convenience. (#135)

Breaking Changes

  • Several helper functions in the kubernetes generators package which were centered around cluster related functionality have been moved to the clusters package (e.g. TempKubeconfig(), GenerateNamespace(), CleanupGeneratedResources(), and TestGenerators()) (#135)

v0.8.3

Bug Fixes

  • Fixed the CLI main.go location to fix go install (#133)

Under The Hood

  • Added release tooling for pipelining releases in Github Actions CI (#134)

v0.8.2

Under The Hood

  • CI improvements for releasing pipelining were the only changes made, so this release is simply an exercise of those changes.

v0.8.1

Bug Fixes

  • The Istio addon now retries deployment of components such as Kiali to deal with order of operations issues found in some older Istio releases. This fixes compatibility with v1.9 and v1.10. (#130)

Under The Hood

  • containerd Go dependency updated to v1.4.11
  • docker Go dependency updated to v20.10.9

v0.8.0

Improvements

  • HttpBin is now an available addon (also available via the CLI). (#127)
  • The Istio addon is now available via the CLI. (#127)
  • Networking testing utils now include HTTP testing functions. (#127)

Under The Hood

  • General stability improvements to Addon readiness functionality. (#127)

v0.7.2

Bug Fixes

  • Fixed a bug with generation of secrets for enterprise enabled Kong addons which would occasionally cause the addon to fail to deploy. (#125)

Under The Hood

  • Integration test parallelization was re-tuned according to some problems that were found with running multiple kind clusters in Github Actions. (#125)

v0.7.1

Under The Hood

  • This release was entirely CI related and has no end-user effect.

v0.7.0

Improvements

  • Added Istio as an available cluster addon. (#122)

Breaking Changes

  • Several public builder methods for the Kong cluster addon had name changes intended to make the naming more consistent and use prefixes as indices to improve readability and understanding of which components are being effected. (#121)

v0.6.2

Under The Hood

  • Knative resources bumped to v0.18.0 for Kubernetes 1.22 compatibility.

v0.6.1

Improvements

  • Utilities for generating and cleaning up transient testing namespaces were added in support of simplified setup in Golang test suites when using the KTF Go libraries for integration tests. (#17)

Bug Fixes

  • Fixed an issue where the Kong addon was not idempotent because adding the relevant helm repository could fail on re-entry despite the repository being present. (#80)

Under The Hood

  • Golang dependencies for several Kubernetes libraries were updated to the latest v0.22.0 release (corresponds with Kubernetes v1.22.0 release). (k8s@v1.22.0)

v0.6.0

Improvements

  • Knative is now available as a cluster addon. (#77)

v0.5.0

Improvements

  • GKE clusters created by KTF now get a label added that indicate that they were KTF-provisioned and by which IAM service account they were created by. (#73)

Breaking Changes

  • Removed a check when creating a cluster client that would validate that the /version endpoint of the cluster was up, as some use cases actually want to create the client first and then wait. (#73)

v0.4.0

Improvements

Breaking Changes

  • The clusters.Cluster interface now requires that implementations provide a method to retrieve the cluster version. (#72)

Improvements

  • Added utilities for auto-handling Ingress resources on older clusters. (#70)

v0.3.3

Improvements

  • Deployed GKE clusters default to no addons enabled. (#69)

v0.3.2

Improvements

  • Existing GKE clusters can now be loaded into a testing environment. (#67)

v0.3.1

Improvements

  • The Kong addon now supports all service types where it previously only accepted (and assumed) type LoadBalancer. (#64)

v0.3.0

Improvements

  • GKE Cluster implementation added. (#32)

Breaking Changes

  • Previously when KIND was the only Cluster implementation we defaulted to exposing the Kong Admin API via a LoadBalancer type service as this would not be accessible outside of the local docker network. Now that a GKE Cluster implementation exists this default would no longer be secure, so the default has been changed to ClusterIP. (#32)

v0.2.2

Security Fixes

v0.2.1

Improvements

  • Added Kubernetes version specification when building a new environments.Environment. This is now accessible in the CLI via ktf env create --kubernetes-version <VER>. (#58)