Skip to content

Releases: berops/claudie

Claudie v0.9.0

18 Oct 09:10
d21027a
Compare
Choose a tag to compare

Most notable changes (TL;DR)

  • Support for pluggable external terraform files was added, breaking the dependency of updated terraform files on a new Claudie version. The ability to arbitrarily change the templates used by Claudie was made available to the user. As a result, Claudie has implemented a rolling update of the infrastructure in case a change in the terraform templates is detected, by gradually updating the build cluster one nodepool at a time.
  • Merged the Scheduler and Context-box services into a single service called Manager.
  • Each Nodepool now has its own SSH keys instead of sharing a single SSH key per kubernetes cluster.

Experimental

  • We have added support for an HTTP proxy to be used when building Kubernetes clusters. This was mainly motivated by the issues we encountered while building multi-provider clusters, where some IP addresses assigned to some of the VMs were being misused and blacklisted/blocked in various registries. By using the HTTP proxy, it is possible to work around this and get the cluster built successfully.

Currently the HTTP proxy is experimental, it is made available by modifying the HTTP_PROXY_MODE in the Claudie config map in the claudie namespace. The possible values are (on|off|default). Default means that if a kubernetes cluster uses hetzner nodepools, it will automatically switch to using the proxy, as we have encountered the most bad IP issues with hetzner. By default the proxy is turned off.

It should be noted that the proxy is still in an experimental phase, where the API for interacting with the proxy may change in the future. Therefore, clusters using this feature in this release run the risk of being backwards incompatible with future 0.9.x releases, which will further stabilise the proxy API.

v0.9.0

What's changed

  • Support added for Ubuntu 24.04 in Azure and Hetzner #1401

  • Each nodepool now has its own SSH keys, a change from the previous state where all nodepools shared the same SSH keys.. #1442

  • Added support for pluggable external terraform files, breaking the dependency of updated terraform files on a new Claudie version. #1460

  • With the support of external terraform templates, the ability to arbitrarily change the templates used by Claudie was made available to the user. As a result, Claudie has implemented a rolling update of the infrastructure in case a change in the terraform templates is detected, by gradually updating the build cluster one nodepool at a time. #1525

  • The Scheduler and Context-Box microservices were merged into a single service called Manager. This was done because these two services were tightly coupled, and parts of the context box service were causing state correctness issues within Claudie and needed to be fixed. #1498

  • Latest supported kubernetes version is now v1.30.x #1498

  • Logs in all microservices have been changed to always log what is being executed, rather than only when the LOG_LEVEL is set to debug. #1507

  • Longhron version was bumped from 1.6.0 to 1.7.0 #1511

  • When building a Kubernetes cluster without a load balancer for the API server, the generated kubeconfig will now work for all control plane nodes defined in the input manifest, instead of just one. #1546

Experimental

  • Support for a HTTP proxy was added. The HTTP Proxy can be turned on by setting the HTTP_PROXY_MODE environment variable in the claudie config map to on #1440

Bug fixes

  • In the case when the infrastructure fails to be build or is only partially build
    the deletion process was stuck on acquiring a lock which was never created, this issue is no longer present #1463
  • The init process was added to the Ansible microservice because previously spawned Ansible playbooks left behind zombie processes that consumed resources. The init process takes care of cleaning up these processes. #1527
  • Fixed an edge case where part of the load balancer infrastructure was incorrectly destroyed when a failure occurred in the middle of the workflow. #1533
  • The whitespace when generating keys will no longer be trimmed #1539
  • GenesisCloud autoscaling will now correctly work #1543

Claudie v0.8.1

23 May 13:14
dc323eb
Compare
Choose a tag to compare

v0.8.1

README: Nodepools with genesis cloud provider will trigger a recreation of the cluster due to the change in terraform files. Make a backup of your data if your cluster constains genesis cloud nodepools.

Features

  • disable deploying Node Local DNS by default #1382
  • Add immutability to nodepools #1385
  • More readable validation errors #1397

Bugfixes

  • Fix mounting volume for longhorn on genesis cloud nodepools #1389
  • Fix MountVolume.SetUp errors by updating multipath configuration #1386

Claudie v0.8.0

09 May 14:22
2dec46d
Compare
Choose a tag to compare

v0.8.0

README Due to updating terraform files the v0.8.x clusters build with claudie version v0.7.x will be forced to be recreated.

Nodepool/cluster names that do not meet the required length of 14 characters for nodepool names and 28 characters for cluster names must be adjusted or the new length validation will fail. You can achieve a rolling update by adding new nodepools with the new names and then removing the old nodepools before updating to version 0.8.

Before updating make backups of your data

Features

  • Allow to reaply input manifest after ERROR #1337
  • Allow other usernames with root access for static nodes #1335
  • Fix substring match resulting in deletion of wrong nodes #1350
  • Add validation for provider definitions #1352
  • Correctly change the API endpoint #1366
  • Restrict nodepool and cluster names to 14 and 28 characters respectively, and add the ability to define and use providers of the same kind in a single cluster #1348
  • Prohibit changing the cloud provider in a nodepool #1371

Claudie v0.7.5

10 Apr 07:54
855b7f4
Compare
Choose a tag to compare

v0.7.5

Features

  • increase worker_connections per worker process for load balancers #1328

Bugfixes

  • Fix connection issues across services #1331

Claudie v0.7.4

02 Apr 15:19
caa232b
Compare
Choose a tag to compare

v0.7.4

Bugfixes

  • Loadbalancer Endpoint missing in current state when workflow fails #1284
  • Prevent autoscaling request when manifest is in error #1288
  • Update healthchecks for builder that resulting in frequent restarts #1293

Claudie v0.7.3

19 Mar 14:22
e83d56b
Compare
Choose a tag to compare

v0.7.3

Bugfixes

  • Fix endless queueing of manifests with static nodepools, #1282

Claudie v0.7.2

14 Mar 12:07
733545a
Compare
Choose a tag to compare

v0.7.2

Features

Claudie v0.7.1

06 Mar 11:53
20cf94a
Compare
Choose a tag to compare

v0.7.1

Migrate from the legacy package repositories apt.kubernetes.io, yum.kubernetes.io to the Kubernetes community-hosted repositories pkgs.k8s.io.
A detailed how to can be found in https://kubernetes.io/blog/2023/08/31/legacy-package-repository-deprecation/

Kubernetes version 1.24 is no longer supported.
1.25.x 1.26.x 1.27.x are the currently supported versions.

Bugfixes

  • Static Loadbalancer metadata secret #1249
  • Update healthcheck endpoints #1245

Claudie v0.7.0

23 Feb 16:34
daf675d
Compare
Choose a tag to compare

v0.7.0

Upgrade procedure:
Before upgrading Claudie, upgrade Longhorn to 1.6.x as per this guide. In most cases this will boil down to running the following command:
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.6.0/deploy/longhorn.yaml.

Features

  • Add possibility to use external s3/dynamo/mongo instances #1191
  • Add Genesis Cloud support #1210
  • Add annotations support for nodepools in Input Manifest #1238
  • Update Longhorn to latest version #1213

Bugfixes

  • Fix removing state lock from dynamodb #1211
  • Fix operatur status message #1215
  • Fix custom storage classes #1219

Claudie v0.6.6

26 Jan 18:24
f6425af
Compare
Choose a tag to compare

v0.6.6

Features

  • Add "proxy_protocol on;" to the LoadBalancer nginx config #1189
  • Cluster-autoscaler tag validation #1176

Bugfixes

  • Check for static nodes reuse #1184