From 3bac3975ead10e6e4143ec0a1dab8f419ffefb05 Mon Sep 17 00:00:00 2001 From: Waleed Malik Date: Tue, 12 Mar 2024 15:36:52 +0500 Subject: [PATCH] Prepare for v1.0.0 release (#1) * Prepare for v1.0.0 release Signed-off-by: Waleed Malik * Update chart docs Signed-off-by: Waleed Malik * Update README Signed-off-by: Waleed Malik --------- Signed-off-by: Waleed Malik --- DCO | 2 -- Makefile | 10 +++--- README.md | 41 +++++++++---------------- charts/kubelb-ccm/Chart.yaml | 4 +-- charts/kubelb-ccm/README.md | 12 +++----- charts/kubelb-ccm/README.md.gotmpl | 6 +--- charts/kubelb-ccm/values.yaml | 4 +-- charts/kubelb-manager/Chart.yaml | 4 +-- charts/kubelb-manager/README.md | 17 +++------- charts/kubelb-manager/README.md.gotmpl | 11 +------ charts/kubelb-manager/values.yaml | 4 +-- config/deploy/ccm/kustomization.yaml | 4 +-- config/deploy/kubelb/kustomization.yaml | 4 +-- hack/create-sa.sh | 1 + 14 files changed, 42 insertions(+), 82 deletions(-) diff --git a/DCO b/DCO index 716561d..49b8cb0 100644 --- a/DCO +++ b/DCO @@ -2,8 +2,6 @@ Developer Certificate of Origin Version 1.1 Copyright (C) 2004, 2006 The Linux Foundation and its contributors. -660 York Street, Suite 102, -San Francisco, CA 94110 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. diff --git a/Makefile b/Makefile index 5110a20..cc05708 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ SHELL = /bin/bash -eu -o pipefail # Image URL to use all building/pushing image targets -KUBELB_IMG ?= quay.io/kubermatic/kubelb-manager-ee -KUBELB_CCM_IMG ?= quay.io/kubermatic/kubelb-ccm-ee +KUBELB_IMG ?= quay.io/kubermatic/kubelb-manager +KUBELB_CCM_IMG ?= quay.io/kubermatic/kubelb-ccm # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. ENVTEST_K8S_VERSION = 1.28.0 @@ -13,7 +13,7 @@ export GO111MODULE=on export GOFLAGS?=-mod=readonly -trimpath export GIT_TAG ?= $(shell git tag --points-at HEAD) -GO_VERSION = 1.22.0 +GO_VERSION = 1.22.1 IMAGE_TAG = \ $(shell echo $$(git rev-parse HEAD && if [[ -n $$(git status --porcelain) ]]; then echo '-dirty'; fi)|tr -d ' ') @@ -170,8 +170,8 @@ undeploy-%: ## Undeploy controller from the K8s cluster specified in ~/.kube/con .PHONY: bump bump: kustomize - cd config/deploy/kubelb && $(KUSTOMIZE) edit set image controller=quay.io/kubermatic/kubelb-manager-ee:$(IMAGE_TAG) - cd config/deploy/ccm && $(KUSTOMIZE) edit set image controller=quay.io/kubermatic/kubelb-ccm-ee:$(IMAGE_TAG) + cd config/deploy/kubelb && $(KUSTOMIZE) edit set image controller=quay.io/kubermatic/kubelb-manager:$(IMAGE_TAG) + cd config/deploy/ccm && $(KUSTOMIZE) edit set image controller=quay.io/kubermatic/kubelb-ccm:$(IMAGE_TAG) ##@ Build Dependencies diff --git a/README.md b/README.md index 48c9be0..da7b5b7 100644 --- a/README.md +++ b/README.md @@ -30,52 +30,39 @@ directory. ### Manager -Deploy the manager to the load balancer cluster - -Install the LoadBalancers CRD: `make install` - -Deploy to load balancer cluster: `make deploy-kubelb` +Please refer to the [KubeLB Manager README](./charts/kubelb-manager/README.md) for installation instructions. ### CCM -Deploy the agent to every user cluster where you want to use KubeLB - -Inside the deployment you need to change the ClusterName parameter to its actual name. Also make sure that a namespace -is created inside the kubelb cluster and has the label `kubelb.k8c.io/managed-by: kubelb`, so the agent can create the CRDs inside its cluster namespace. - -The agent expects a `Secret` with a kubeconf file named `kubelb` to access the load balancer cluster. - -To create such run: `kubectl --namespace kubelb create secret generic kubelb-cluster --from-file=` - -Deploy to user cluster: `make deploy-ccm` +Please refer to the [KubeLB CCM README](./charts/kubelb-ccm/README.md) for installation instructions. ## Troubleshooting -If you encounter issues [file an issue][1] or talk to us on the [#KubeLB channel][12] on the [Kubermatic Slack][15]. +If you encounter issues [file an issue][1] or talk to us on the [#kubermatic channel][6] on the [Kubermatic Slack][7]. ## Contributing Thanks for taking the time to join our community and start contributing! -Feedback and discussion are available on [the mailing list][11]. +Feedback and discussion are available on [the mailing list][5]. ### Before you start -* Please familiarize yourself with the [Code of Conduct][4] before contributing. -* See [CONTRIBUTING.md][2] for instructions on the developer certificate of origin that we require. +- Please familiarize yourself with the [Code of Conduct][4] before contributing. +- See [CONTRIBUTING.md][2] for instructions on the developer certificate of origin that we require. ### Pull requests -* We welcome pull requests. Feel free to dig through the [issues][1] and jump in. +- We welcome pull requests. Feel free to dig through the [issues][1] and jump in. ## Changelog See [the list of releases][3] to find out about feature changes. -[1]: https://github.com/kubermatic/KubeLB/issues -[2]: https://github.com/kubermatic/KubeLB/blob/main/CONTRIBUTING.md -[3]: https://github.com/kubermatic/KubeLB/releases -[4]: https://github.com/kubermatic/KubeLB/blob/main/CODE_OF_CONDUCT.md -[11]: https://groups.google.com/forum/#!forum/kubelb-dev -[12]: https://kubermatic.slack.com/messages/kubelb -[15]: http://slack.kubermatic.io/ +[1]: https://github.com/kubermatic/kubelb/issues +[2]: https://github.com/kubermatic/kubelb/blob/main/CONTRIBUTING.md +[3]: https://github.com/kubermatic/kubelb/releases +[4]: https://github.com/kubermatic/kubelb/blob/main/CODE_OF_CONDUCT.md +[5]: https://groups.google.com/forum/#!forum/kubermatic-dev +[6]: https://kubermatic.slack.com/messages/kubermatic +[7]: http://slack.kubermatic.io/ diff --git a/charts/kubelb-ccm/Chart.yaml b/charts/kubelb-ccm/Chart.yaml index 59d3df6..348ca4d 100644 --- a/charts/kubelb-ccm/Chart.yaml +++ b/charts/kubelb-ccm/Chart.yaml @@ -7,6 +7,6 @@ maintainers: email: support@kubermatic.com # Helm chart Version. -version: v0.6.0 +version: v1.0.0 # Application version to be deployed. -appVersion: v0.6.0 \ No newline at end of file +appVersion: v1.0.0 diff --git a/charts/kubelb-ccm/README.md b/charts/kubelb-ccm/README.md index e49734e..4cf921f 100644 --- a/charts/kubelb-ccm/README.md +++ b/charts/kubelb-ccm/README.md @@ -2,22 +2,19 @@ Helm chart for KubeLB CCM. This is used to deploy the KubeLB CCM to a Kubernetes cluster. The CCM is responsible for propagating the load balancer configurations to the management cluster. -![Version: v0.6.0](https://img.shields.io/badge/Version-v0.6.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.6.0](https://img.shields.io/badge/AppVersion-v0.6.0-informational?style=flat-square) +![Version: v1.0.0](https://img.shields.io/badge/Version-v1.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.0.0](https://img.shields.io/badge/AppVersion-v1.0.0-informational?style=flat-square) ## Installing the chart ### Pre-requisites * Create a namespace `kubelb` for the CCM to be deployed in. -* Create imagePullSecrets for the chart to pull the image from the registry. * The agent expects a `Secret` with a kubeconf file named `kubelb` to access the load balancer cluster. To create such run: `kubectl --namespace kubelb create secret generic kubelb-cluster --from-file=`. The name of secret cant be overridden using `.Values.kubelb.clusterSecretName` * Update the `tenantName` in the values.yaml to a unique identifier for the tenant. This is used to identify the tenant in the manager cluster. This can be any unique string that follows [lower case RFC 1123](https://www.rfc-editor.org/rfc/rfc1123). At this point a minimal values.yaml should look like this: ```yaml -imagePullSecrets: - - name: kubelb: clusterSecretName: kubelb-cluster tenantName: @@ -28,8 +25,7 @@ kubelb: Now, we can install the helm chart: ```sh -helm registry login quay.io --username ${REGISTRY_USER} --password ${REGISTRY_PASSWORD} -helm pull oci://quay.io/kubermatic/helm-charts/kubelb-ccm --version=v0.6.0 --untardir "kubelb-ccm" --untar +helm pull oci://quay.io/kubermatic/helm-charts/kubelb-ccm --version=v1.0.0 --untardir "kubelb-ccm" --untar ## Create and update values.yaml with the required values. helm install kubelb-ccm kubelb-ccm --namespace kubelb -f values.yaml ``` @@ -48,8 +44,8 @@ helm install kubelb-ccm kubelb-ccm --namespace kubelb -f values.yaml | extraVolumes | list | `[]` | | | fullnameOverride | string | `""` | | | image.pullPolicy | string | `"IfNotPresent"` | | -| image.repository | string | `"quay.io/kubermatic/kubelb-ccm-ee"` | | -| image.tag | string | `"v0.6.0"` | | +| image.repository | string | `"quay.io/kubermatic/kubelb-ccm"` | | +| image.tag | string | `"v1.0.0"` | | | imagePullSecrets | list | `[]` | | | kubelb.clusterSecretName | string | `"kubelb-cluster"` | | | kubelb.enableLeaderElection | bool | `true` | | diff --git a/charts/kubelb-ccm/README.md.gotmpl b/charts/kubelb-ccm/README.md.gotmpl index 2b9b4de..3fc2849 100644 --- a/charts/kubelb-ccm/README.md.gotmpl +++ b/charts/kubelb-ccm/README.md.gotmpl @@ -9,15 +9,12 @@ Helm chart for KubeLB CCM. This is used to deploy the KubeLB CCM to a Kubernetes ### Pre-requisites * Create a namespace `kubelb` for the CCM to be deployed in. -* Create imagePullSecrets for the chart to pull the image from the registry. * The agent expects a `Secret` with a kubeconf file named `kubelb` to access the load balancer cluster. To create such run: `kubectl --namespace kubelb create secret generic kubelb-cluster --from-file=`. The name of secret cant be overridden using `.Values.kubelb.clusterSecretName` * Update the `tenantName` in the values.yaml to a unique identifier for the tenant. This is used to identify the tenant in the manager cluster. This can be any unique string that follows [lower case RFC 1123](https://www.rfc-editor.org/rfc/rfc1123). At this point a minimal values.yaml should look like this: ```yaml -imagePullSecrets: - - name: kubelb: clusterSecretName: kubelb-cluster tenantName: @@ -28,8 +25,7 @@ kubelb: Now, we can install the helm chart: ```sh -helm registry login quay.io --username ${REGISTRY_USER} --password ${REGISTRY_PASSWORD} -helm pull oci://quay.io/kubermatic/helm-charts/kubelb-ccm --version=v0.6.0 --untardir "kubelb-ccm" --untar +helm pull oci://quay.io/kubermatic/helm-charts/kubelb-ccm --version=v1.0.0 --untardir "kubelb-ccm" --untar ## Create and update values.yaml with the required values. helm install kubelb-ccm kubelb-ccm --namespace kubelb -f values.yaml ``` diff --git a/charts/kubelb-ccm/values.yaml b/charts/kubelb-ccm/values.yaml index b5183e7..a9feb60 100644 --- a/charts/kubelb-ccm/values.yaml +++ b/charts/kubelb-ccm/values.yaml @@ -1,9 +1,9 @@ replicaCount: 1 image: - repository: quay.io/kubermatic/kubelb-ccm-ee + repository: quay.io/kubermatic/kubelb-ccm pullPolicy: IfNotPresent - tag: v0.6.0 + tag: v1.0.0 imagePullSecrets: [] kubelb: diff --git a/charts/kubelb-manager/Chart.yaml b/charts/kubelb-manager/Chart.yaml index 7452ec9..b9b4f73 100644 --- a/charts/kubelb-manager/Chart.yaml +++ b/charts/kubelb-manager/Chart.yaml @@ -7,6 +7,6 @@ maintainers: email: support@kubermatic.com # Helm chart Version. -version: v0.6.0 +version: v1.0.0 # Application version to be deployed. -appVersion: v0.6.0 +appVersion: v1.0.0 diff --git a/charts/kubelb-manager/README.md b/charts/kubelb-manager/README.md index 0140caf..5857159 100644 --- a/charts/kubelb-manager/README.md +++ b/charts/kubelb-manager/README.md @@ -2,29 +2,20 @@ Helm chart for KubeLB Manager. This is used to deploy the KubeLB CCM to a Kubernetes cluster. The CCM is responsible for propagating the load balancer configurations to the management cluster. -![Version: v0.6.0](https://img.shields.io/badge/Version-v0.6.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.6.0](https://img.shields.io/badge/AppVersion-v0.6.0-informational?style=flat-square) +![Version: v1.0.0](https://img.shields.io/badge/Version-v1.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.0.0](https://img.shields.io/badge/AppVersion-v1.0.0-informational?style=flat-square) ## Installing the chart ### Pre-requisites * Create a namespace `kubelb` for the CCM to be deployed in. -* Create imagePullSecrets for the chart to pull the image from the registry. - -At this point a minimal values.yaml should look like this: - -```yaml -imagePullSecrets: - - name: -``` ### Install helm chart Now, we can install the helm chart: ```sh -helm registry login quay.io --username ${REGISTRY_USER} --password ${REGISTRY_PASSWORD} -helm pull oci://quay.io/kubermatic/helm-charts/kubelb-manager --version=v0.6.0 --untardir "kubelb-manager" --untar +helm pull oci://quay.io/kubermatic/helm-charts/kubelb-manager --version=v1.0.0 --untardir "kubelb-manager" --untar ## Create and update values.yaml with the required values. helm install kubelb-manager kubelb-manager --namespace kubelb -f values.yaml ``` @@ -41,8 +32,8 @@ helm install kubelb-manager kubelb-manager --namespace kubelb -f values.yaml | autoscaling.targetMemoryUtilizationPercentage | int | `80` | | | fullnameOverride | string | `""` | | | image.pullPolicy | string | `"IfNotPresent"` | | -| image.repository | string | `"quay.io/kubermatic/kubelb-manager-ee"` | | -| image.tag | string | `"v0.6.0"` | | +| image.repository | string | `"quay.io/kubermatic/kubelb-manager"` | | +| image.tag | string | `"v1.0.0"` | | | imagePullSecrets | list | `[]` | | | kubelb.debug | bool | `false` | | | kubelb.enableLeaderElection | bool | `true` | | diff --git a/charts/kubelb-manager/README.md.gotmpl b/charts/kubelb-manager/README.md.gotmpl index 6818d6a..373188b 100644 --- a/charts/kubelb-manager/README.md.gotmpl +++ b/charts/kubelb-manager/README.md.gotmpl @@ -9,22 +9,13 @@ Helm chart for KubeLB Manager. This is used to deploy the KubeLB CCM to a Kubern ### Pre-requisites * Create a namespace `kubelb` for the CCM to be deployed in. -* Create imagePullSecrets for the chart to pull the image from the registry. - -At this point a minimal values.yaml should look like this: - -```yaml -imagePullSecrets: - - name: -``` ### Install helm chart Now, we can install the helm chart: ```sh -helm registry login quay.io --username ${REGISTRY_USER} --password ${REGISTRY_PASSWORD} -helm pull oci://quay.io/kubermatic/helm-charts/kubelb-manager --version=v0.6.0 --untardir "kubelb-manager" --untar +helm pull oci://quay.io/kubermatic/helm-charts/kubelb-manager --version=v1.0.0 --untardir "kubelb-manager" --untar ## Create and update values.yaml with the required values. helm install kubelb-manager kubelb-manager --namespace kubelb -f values.yaml ``` diff --git a/charts/kubelb-manager/values.yaml b/charts/kubelb-manager/values.yaml index 8fa3bb3..b5086a0 100644 --- a/charts/kubelb-manager/values.yaml +++ b/charts/kubelb-manager/values.yaml @@ -1,9 +1,9 @@ replicaCount: 1 image: - repository: quay.io/kubermatic/kubelb-manager-ee + repository: quay.io/kubermatic/kubelb-manager pullPolicy: IfNotPresent - tag: v0.6.0 + tag: v1.0.0 imagePullSecrets: [] kubelb: diff --git a/config/deploy/ccm/kustomization.yaml b/config/deploy/ccm/kustomization.yaml index f4b9a05..df7a543 100644 --- a/config/deploy/ccm/kustomization.yaml +++ b/config/deploy/ccm/kustomization.yaml @@ -5,5 +5,5 @@ resources: - ../../ccm images: - name: controller - newName: quay.io/kubermatic/kubelb-ccm-ee - newTag: v0.6.0 + newName: quay.io/kubermatic/kubelb-ccm + newTag: v1.0.0 diff --git a/config/deploy/kubelb/kustomization.yaml b/config/deploy/kubelb/kustomization.yaml index 93c3efb..9239044 100644 --- a/config/deploy/kubelb/kustomization.yaml +++ b/config/deploy/kubelb/kustomization.yaml @@ -5,5 +5,5 @@ resources: - ../../kubelb images: - name: controller - newName: quay.io/kubermatic/kubelb-manager-ee - newTag: v0.6.0 + newName: quay.io/kubermatic/kubelb-manager + newTag: v1.0.0 diff --git a/hack/create-sa.sh b/hack/create-sa.sh index e0ac254..50ffa4e 100644 --- a/hack/create-sa.sh +++ b/hack/create-sa.sh @@ -23,6 +23,7 @@ clusterId=$1 namespace="cluster-$clusterId" kubectl create namespace "$namespace" +kubectl label namespace "$namespace" kubelb.k8c.io/managed-by=kubelb cat <