Skip to content

Releases: flexkube/libflexkube

v0.10.0

28 Aug 10:03
v0.10.0
3735372
Compare
Choose a tag to compare

Changed

  • Default Kubernetes version is now v1.28.1.
  • Default etcd version is now v3.5.9.
  • Default HAProxy version is now 2.8.1.
  • Default Calico CNI version is now v3.26.1.
  • Binaries are built using Go 1.21.
  • Kubelet now mounts /etc/machine-id from host.

Fixed

  • Waiting for Nodes to become Ready is now working as expected.

v0.9.0

13 Sep 09:53
ef66150
Compare
Choose a tag to compare

Changed

  • Default Kubernetes version is now v1.25.0.
  • Default etcd version is now v3.5.4.
  • Default HAProxy version is now 2.6.5.
  • Default Calico CNI version is now v3.24.1.
  • Binaries are built using Go 1.19.

Removed

  • As part of Kubernetes v1.25 upgrade, support for PodSecurityPolicies has been removed.

v0.8.0

09 May 13:49
3bdaabf
Compare
Choose a tag to compare

Changed

  • When flexkube binary is installed using go install, it will print version information
    pulled from Go modules.
  • Default Kubernetes version is now v1.24.0.
  • Default etcd version is now v3.5.3
  • Default HAProxy version is now 2.5.6.
  • Binaries are built using Go 1.18.

Removed

  • As part of Kubernetes v1.24 upgrade support for selecting network plugin in kubelet has been removed.

v0.7.0

02 Sep 11:51
v0.7.0
f89267c
Compare
Choose a tag to compare

Added

  • Certificates and private keys in configs are now parsed as part of validation process.
  • e2e tests has now container runtime, nodes CIDR, and kubelet extra args configurable.
  • e2e tests are now run as part of CI process.
  • CI process now covers Dockerfiles, changelog formatting, go mod tidyness, Vagrantfile and Terraform code.
  • Custom code style checks using semgrep.

Changed

  • Default Kubernetes version is now v1.22.1.
  • Default etcd version is now v3.5.0.
  • Default HAProxy version is now v2.4.3.
  • Error messages has been improved across all codebase.
  • CI and Docker images now use Go 1.17.
  • Binaries are now build with local paths stripped (-trimpath flag).
  • e2e and local tests now use containerd as container runtime.
  • Sonobuoy version used in conformance tests has been updated to latest version v0.53.2.
  • golangci-lint version v1.42.0 is now used.

v0.6.0

24 May 13:42
v0.6.0
d62fe26
Compare
Choose a tag to compare

Fixed

  • Missing newline in removing container configuration log message.
  • Running e2e tests using Vagrant when having local e2e test configuration.

Changed

  • etcd.Member struct has been renamed to etcd.MemberConfig and etcd.Member is now an
    interface due to internal refactoring.
  • Updated Go dependencies to latest versions.
  • Default Kubernetes version is now v1.21.1.
  • Default HAProxy version is now 2.3.10.
  • Default etcd version is now v3.4.16.
  • Vagrant is now using Docker again instead of containerd as container runtime due to some conformance tests failing.

v0.5.1

18 Feb 18:41
v0.5.1
0fa1f1c
Compare
Choose a tag to compare

Fixed

  • Logic for running conformance tests, they should be now more robust.

Changed

  • Default Kubernetes version is now v1.20.3.
  • Default HAProxy version is now 2.3.5.
  • Switched CI from Travis to GitHub Actions. This results in faster updates to PR statuses.

v0.5.0

11 Dec 09:19
643b6ec
Compare
Choose a tag to compare

Added

  • It is now possible to pass extra flags to kubelet container via 'extraFlags' field in kubelet and pool configuration.
    This combined with extra mounts allows to switch kubelet to use containerd as a container runtime instead of now
    deprecated Docker.

Changed

  • Improved handling situations when node hosting a container is gone. Previously trying to apply configuration
    in such situation would result in an error, which forced user to either get a host back or to manually
    modify the state to get rid of old container.

    Now, if host cannot be reached and checking hits timeout, obtained error message will be included in the
    container state and then user can decide if they want to proceed or not. If container is going to be removed
    or replaced then it will simply be ignored and removed from the state.

    This should allow more graceful handling of situations, where automation tools like Terraform removes the VM
    running the containers before Flexkube has a chance to clean them up gracefully.

  • Due to Kubernetes version update, controlplane parameter for kube-apiserver 'serviceAccountPublicKey' has been
    replaced with 'serviceAccountPrivateKey', as kube-apiserver now requires private key and public key can be
    derived from private one. For users using PKI integration, there is no expected changes.

    The same change has been made to kube-apiserver Helm chart, so users should update their values file templates.

  • Default Kubernetes version is now v1.20.0.

  • Default HAProxy version is now 2.3.2.

  • Default etcd version is now v3.4.14.

  • Default Calico version is now v3.17.1.

  • Go version used for building the binaries is now 1.15.6.

  • Various e2e tests improvements.

v0.4.3

19 Sep 23:10
v0.4.3
c70ac3c
Compare
Choose a tag to compare

Fixed

  • etcd certificates generated using PKI now always include 127.0.0.1 server address, to make
    sure that adding etcd members via SSH port forwarding works as expected. This broke adding/removing
    etcd members if PKI integration was used.

Added

  • Changing IPAddresses field for PKI certificates and running Generate() will now properly
    re-generate the certificate to align the field with the configuration. Additionally, it is now
    easier to add more rules for certificate re-generation, for example based on expiry time. This
    might be done in further releases.
  • etcd cluster and members may have now additional mounts configured. This is a ground work for allowing
    etcd to listen on UNIX sockets and for generic resource customization.
  • In case when Kubernetes API returns etcd-related error, changing Helm release will now retry the operation,
    as in most cases it works on 2nd attempt. If 3 consecutive errors occur, error is returned. This will make
    adding and removing controller nodes more robust.

Changed

  • All Helm charts used has been updated to the latest versions.
  • Default HAProxy version is now 2.2.3.
  • Default Kubernetes version is now v1.19.2.
  • Generated PKI certificates will now only include generated values instead of all values, as
    some of them are inherited from other fields and including them there breaks updating via
    inherited fields.
  • Generation of etcd certificates via PKI is now improved. Now all changes to Peers and Servers
    fields are properly propagated and all properties are properly inherited.
  • Maps in PKI.Etcd are now only initialized if there are some certificates to be stored.
  • etcd now uses explicit rules for validating certificates and private key fields, so error messages
    will be better if any of those fields is malformed.

v0.4.2

16 Sep 09:06
v0.4.2
8761e20
Compare
Choose a tag to compare

Fixed

  • Release 0.4.1 has been tagged wrongly and ended up not including env key support for
    containers. This is now fixed.

v0.4.1

15 Sep 14:57
v0.4.1
6d8ef0c
Compare
Choose a tag to compare

Added

  • flexkube: Added template subcommand which can be fed with Go template which will have access
    to CLI resource configuration and state, which allows generating Helm values.yaml files for
    self-hosted controlplane charts.
  • container: Added support for defining environment variables for containers using env key.

Changed

  • e2e: Use Go test framework rather than Terraform to create a cluster.
  • Updated golangci-lint to version v1.31.0.
  • Default Kubernetes version is now v1.19.1.

Removed