Announcement: Consul Helm Chart moving to `hashicorp/consul-k8s`

Hello HashiCorp Consul and Consul K8s Community!

We are planning on consolidating our Consul Helm and Consul K8s repos soon! TLDR: The HashiCorp Helm chart will be moving to hashicorp/consul-k8s. We plan on completing the migration before the end of August 2021.

Background:

For users, the separate repositories lead to difficulty on new releases and confusion surrounding versioning. Most of the time new releases that include changes to consul-k8s also change consul-helm. But separate repositories mean separate GitHub PR’s and added confusion in opening new Github Issues. In addition, we maintain separate versions of the consul-k8s binary and the Consul Helm chart, which in most cases are more tightly coupled together with dependencies. This versioning strategy has also led to confusion as to which Helm charts are compatible with which versions of consul-k8s.

Proposal:

The single repository name will be consul-k8s. It will contain the Helm charts, control-plane code, and other components of Consul on Kubernetes. The original consul-k8s binary will be renamed to consul-k8s-control-plane, and an upcoming user-facing CLI binary will be called consul-k8s.

Some additional details regarding the Consul Helm chart migration:

  1. All open and closed issues will be migrated from consul-helm to consul-k8s.
  2. PRs from consul-helm will not be migrated consul-k8s. Users will need to do that themselves, since it would be too complex to perform the migration with CI automation. The new repo will have a charts folder where the Helm chart will reside and PRs can be made against the contents in that folder in the same structure as before.
  3. We will be archiving the consul-helm repo, as no more changes will be made to the repository.
  4. A new Docker image that hosts the renamed consul-k8s binary will now exist in the following Docker Hub repo: hashicorp/consul-k8s-control-plane.
  5. Most importantly, there will be no change to any users that are installing Consul Kubernetes via the Helm chart, since the Helm chart will still be released to same location (i.e. https://helm.releases.hashicorp.com).

After the integration, all of our Consul on Kubernetes components will be versioned together. For each new release of Consul Kubernetes, a new tag of the repository will be created. We will use that tag as the version for the control-plane docker image, the upcoming CLI binary, and the Consul Helm charts.

Thank you for your understanding and working with us as we go through some changes.

Regards,
The Consul K8s Team

1 Like

i know, i’m a bit late to the party , but i’m looking for a way to migrate an consul k8s installation based on consul-helm to consul-k8s

haven’t found something on this forum, and it seems consul-k8s is something different than consul-helm. so simple switch of git url , pull , etc will probably not work.

my current thinking is

  • uninstall consul-helm
  • install consul-k8s

this will of course cause a massive disruption of our services , mostly spring boot based , which rely heavily on consul for service to service communication.

are there any other ways to minimize the disruption ?

Your problem is a real one, but you are misidentifying the cause. Two years ago, switching the git URL and upgrading had a decent chance of just working. The real problem is the two years worth of development with breaking changes since then.

Unfortunately that means you have no good options:

  • Never upgrade
  • Set up a whole new installation and shift services across with downtime
  • Manually figure out a path forward taking into account all the breaking changes over the last two years, potentially splitting the upgrade up into several upgrades to intermediate versions along the way, to reduce the size of each piece of work.