Releases: flexkube/libflexkube
v0.10.0
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
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
Changed
- When
flexkube
binary is installed usinggo 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
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
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 toetcd.MemberConfig
andetcd.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
v0.5.0
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
Fixed
- etcd certificates generated using
PKI
now always include127.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 runningGenerate()
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
andServers
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
v0.4.1
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 versionv1.31.0
. - Default Kubernetes version is now
v1.19.1
.
Removed
- Terraform provider code is now removed and lives in
flexkube/terraform-provider-flexkube
repository.