Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

helm: Consul on Kubernetes Helm Chart repo moving to hashicorp/consul-k8s #638

Closed
david-yu opened this issue Jul 22, 2021 · 3 comments
Closed

Comments

@david-yu
Copy link
Contributor

Hello 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 target 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. Open 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 (see below for instructions), 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, and the release process will consist of creating a new tag of the repository, and using that tag as the version for the control-plane docker image, the upcoming CLI binary, and the Helm charts.

Migrating Existing Pull Requests

If you have existing pull requests to consul-helm you will need to migrate them to consul-k8s. This is how to do so:

  1. List the commit sha's from your PR:

    $ git log --pretty=short
    
    commit b0cc99dd1bae59224e807b0785a5819f1e359ea7 (HEAD -> lkysow/consul-docker-entrypoint, origin/lkysow/consul-docker-entrypoint)
     Author: Luke Kysow <1034429+lkysow@users.noreply.github.com>
    
         Update custom env var test
    
     commit 39f3fd9927a01f0fe6ee8645443c56a7ea5a3931
     Author: Luke Kysow <1034429+lkysow@users.noreply.github.com>
    
         Use docker-entrypoint when running consul

    In this example my two shas are b0cc99dd1bae59224e807b0785a5819f1e359ea7 and 39f3fd9927a01f0fe6ee8645443c56a7ea5a3931.

  2. Fork consul-k8s (https://github.com/hashicorp/consul-k8s)

  3. Clone consul-k8s locally

  4. Add your consul-helm fork as a remote:

    # replace your-username
    git remote add helm git@github.com:<your-username>/consul-helm.git
    
  5. Run git fetch

    git fetch helm
    
  6. Switch to a new branch that you'll use for your PR

    git checkout -b my-pr
    
  7. Cherry-pick each commit sha from your PR into consul-k8s starting with the oldest sha

    git cherry-pick 39f3fd9927a01f0fe6ee8645443c56a7ea5a3931
    git cherry-pick b0cc99dd1bae59224e807b0785a5819f1e359ea7
    

    Even though the directory of the helm chart moved into charts/consul, the cherry-pick should apply.

  8. Push the branch and open a new PR into consul-k8s

  9. Close the old PR with a comment linking it to the new PR in consul-k8s

@david-yu david-yu changed the title ANNOUNCEMENT: Consul on Kubernetes Helm Chart repo moving tohashicorp/consul-k8s ANNOUNCEMENT: Consul on Kubernetes Helm Chart repo moving to hashicorp/consul-k8s Jul 22, 2021
@david-yu david-yu pinned this issue Jul 22, 2021
@shellfu
Copy link

shellfu commented Jul 25, 2021

When is this change expected to occur?

I think this makes a lot of sense and am happy to see consolidation of the two repositories as there was always two places to check for issues before filing or making sure your issue is in right repository.

@david-yu
Copy link
Contributor Author

david-yu commented Jul 26, 2021

Hi @shellfu we're looking to making these changes likely in late August. We don't know the exact timing yet, but we will make sure that issues are migrated over properly when this is done. Thanks for your feedback!

@t-eckert t-eckert changed the title ANNOUNCEMENT: Consul on Kubernetes Helm Chart repo moving to hashicorp/consul-k8s helm: Consul on Kubernetes Helm Chart repo moving to hashicorp/consul-k8s Aug 24, 2021
@t-eckert t-eckert transferred this issue from hashicorp/consul-helm Aug 24, 2021
@david-yu
Copy link
Contributor Author

Closing as the migration has happened!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants